Vamos a crear una clase ‘Carta’ que va a tener las siguientes propiedades:
Palo (de tipo string)
Numero (de tipo string)
Valor (de tipo entero)
Tenemos que crear un constructor que nos obligue a dar todos los valores. Implementar también setter y getter.
Crearemos una función __toString que nos mostrará el valor de la siguiente forma: ‘7 de espadas’
<?php
/**
* Description of Carta
*
* @author incid
*/
class Carta {
private $palo;
private $numero;
private $valor;
function __construct($palo,$numero,$valor) {
$this->setNumero($numero);
$this->setPalo($palo);
$this->setValor($valor);
}
function getPalo() {
return $this->palo;
}
function getNumero() {
return $this->numero;
}
function getValor() {
return $this->valor;
}
function setPalo($palo) {
$this->palo = $palo;
}
function setNumero($numero) {
$this->numero = $numero;
}
function setValor($valor) {
$this->valor = $valor;
}
function __toString() {
return $this->getNumero()." de ".$this->getPalo();
}
}
$miCarta=new Carta("Oros",7,7);
$otra=new Carta("Copas","Rey",10);
echo $otra;
$manoMus=[new Carta("Oros","Sota",10),new Carta("Copas",7,7),
new Carta("Oros",4,4),new Carta("Bastos",1,1)];
var_dump($manoMus);
$puntos=0;
foreach($manoMus as $carta){
echo $carta."<br>";
$puntos+=$carta->getValor();
}
echo "Tienes $puntos puntos";
class BarajaMus{
private $cartas=[];
function __construct() {
$this->crearBaraja();
}
private function crearBaraja(){
$this->cartas=[];
$palos=['Oros','Espadas','Copas','Bastos'];
$numeros=["As",2,3,4,5,6,7,'Sota','Caballo','Rey'];
$valores=[1,2,3,4,5,6,7,10,10,10];
foreach($palos as $palo){
for($i=0;$i<count($numeros);$i++){
$this->cartas[]=new Carta($palo,$numeros[$i],$valores[$i]);
}
}
}
function barajar(){
shuffle($this->cartas);
}
}
$baraja=new BarajaMus();
$baraja->barajar();