Hallo leute,
ich habe ein kleines Problem. Es geht um mein Browsergame. Ich habe mir 2 Klassen angelegt.
Player.class.php
Character.class.php
Der Player ist halt die Person selbst, sprich der Player hat methoden wie
login();
logout();
register();
usw..
Die Character ist die Spielfigur, ein Player kann mehrere Characters erstellen aber nur mit einem Gleichzeitig spielen.
Dem Character habe ich folgende methoden zugewiesen:
move();
attack();
useSkill();
die();
usw..
das Problem sind nun folgende Methoden:
createChar();
deleteChar();
selectChar();
ich weis nicht unter welcher Klasse ich diese Methoden einordnen kann.
zur Zeit passiert folgendes bei mir:
nur ist das ja eigentlich quatsch, denn wenn ich eine Spielfigur ausgewählt habe in der GUI, erst dann kann ja die Instanz von Char exestieren.
Oder benötige ich eine Wietere "Beziehungsklasse" ?
Ich weis gerade echt nicht wie ich die Spielfigur erstellen,löschen oder auswählen kann. oder denke ich da zu kompliziert und es reicht so ein konstrukt aus?
ich glaube eigentlich nicht, dass diese methoden zu der Klasse Character gehören, dann würde es ja bedeuten, ein Character wählt sich selber, oder kann sich selber löschen usw.. aber eigentlich kann das nur der Player.
Hoffe ihr habt mein Problem verstanden und könnt mir weiter helfen.
MFG
ich habe ein kleines Problem. Es geht um mein Browsergame. Ich habe mir 2 Klassen angelegt.
Player.class.php
Character.class.php
Der Player ist halt die Person selbst, sprich der Player hat methoden wie
login();
logout();
register();
usw..
Die Character ist die Spielfigur, ein Player kann mehrere Characters erstellen aber nur mit einem Gleichzeitig spielen.
Dem Character habe ich folgende methoden zugewiesen:
move();
attack();
useSkill();
die();
usw..
das Problem sind nun folgende Methoden:
createChar();
deleteChar();
selectChar();
ich weis nicht unter welcher Klasse ich diese Methoden einordnen kann.
zur Zeit passiert folgendes bei mir:
PHP-Code:
class Game{
private $player;
private $char;
public function __construct(){
$this->player = new Player();
$this->char = new Character($this->player->getPlayerId());
if(isset($_GET['x']) && isset($_GET['y'])){
$this->char->move($_GET['x'],$_GET['y']);
}
}
}
Oder benötige ich eine Wietere "Beziehungsklasse" ?
Ich weis gerade echt nicht wie ich die Spielfigur erstellen,löschen oder auswählen kann. oder denke ich da zu kompliziert und es reicht so ein konstrukt aus?
PHP-Code:
if($this->player->hasSelectedChar()){
$this->game->run();
}else{
$this->charselection->display();
}
if(isset($_GET['action']) && isset($_GET['charslot'])){
switch($_GET['action']){
case 'create':{
$this->char->create($_GET['charslot']);
break;
}
case 'remove':{
$this->char->remove($_GET['charslot']);
break;
}
case 'select':{
$this->char->select($_GET['charslot']);
break;
}
}
}
Hoffe ihr habt mein Problem verstanden und könnt mir weiter helfen.
MFG
Kommentar