/**
* Classe BoiteCarte
*
* Classe permettant de représenter une carte dans un span HTML
* @author Dominique Fournier
* @date 2017-2022
* @version 1.3 compatible PHP7.4
*/
require_once 'Carte.php';
class BoiteCarte {
/**
* Classe destinée à produire un composant HTML pour afficher une carte
* @static
* @access public
* @var array (string[])
*/
public static $COULEURS = array("spades","hearts","clubs","diams");
/**
@static
@access public
@var array (string[])
*/
public static $HAUTEURS= array("2","3","4","5","6","7","8","9","10","J","Q","K","A");
/**
* $carte une instance de Carte
* @access protected
* @var Carte
*/
protected Carte $carte;
/**
* @access public
* @param Carte $c la carte à afficher dans la boite html
*/
public function __construct(Carte $c) {
$this->carte = $c;
}
/**
* @access public
* @return Carte $this->carte
*/
public function getCarte() : Carte {
return $this->carte;
}
/**
* @access public
* @return string un span html représentant $this->carte
*/
public function __toString(): string {
$nomCouleur = self::$COULEURS[$this->carte->getCouleur()];
switch ($nomCouleur) {
case "spades":
case "clubs":
$col = "black";
break;
case "hearts":
case "diams":
$col = "red";
break;
default:
$col="green";
}
$resultat = "";
if ($this->carte->getHauteur() != 8) {
$resultat .= " ";
}
$resultat .= self::$HAUTEURS[$this->carte->getHauteur()].":&".$nomCouleur.";";
$resultat .= " ";
return $resultat;
}
}