Ejercicio Carta

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

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos