Wenn man für im Thema genanntes Spiel eine objektorientierte Umsetzung machen wollen würde, was wären dann sinnvolle Ansätze für die Wahl der Klassen?
Also Echse und Spock kenne ich nicht. Deshalb konzentriere ich mich mal auf die ersten drei.
Ich würde eine Mutterkarte schaffen. Von der Leite ich ab:
abstract class motherofallcards
{
protected $objBeat = null;
public function check( motherofallcards $objCheck )
{
//--- wenn die Objekte nicht verglichen werden können würde ich mit get_Class den Objekttypen vergleichen
if( $this->objBeat == $objCheck )
{
return -1; //--- übergebenes Objekt ist stärker;
} else if( $objCheck == $this )
{
return 0; //--- übergebenes Objekt entspricht aktuellem Objekt
}
return 1; //--- aktuelles Objekt ist stärker
}
}
//--- Ableiten und benutzen
class stein extends motherofallcards
{
public function __construct()
{
$this->objBeat = new papier();
}
}
Dann braucht es noch einen Controller (oder Router) der die Klassen initialisiert und entsprechend aufruft.
Falls du es mit mehr als 3 Objekten machst, kannst du das einfache objbeat in ein Array umwandeln und dort alle Objekte reinschreiben die stärker sind.
Gruß
Kartenspieler
T-Rex