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();