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’
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <?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(); |