Text -basierte Spiele oder interaktive Fiktion Spiele, sind die Vorgänger der modernen , grafischen Abenteuer Spiele wie Myst . Jedoch eine lebendige Fangemeinde noch existiert rund um die Erstellung von Text -basierte Spiele . Die meisten Autoren verwenden interactive fiction gewidmet Sprachen wie Inform und TADS . Allerdings entscheiden sich einige , um Spiele mit allgemeinen Programmiersprachen wie PHP zu entwickeln. Eine grundlegende Text -basiertes Spiel ist ziemlich einfach : Der Computer führt eine Liste der Zimmer , die jeweils mit einem Namen, die Beschreibung und die Liste der Verbindungen zu anderen Räumen. Der Spieler ist für einen Befehl gefragt und gibt Anweisungen , um die Welt zu navigieren. Anleitung
1
Erstellen Sie eine Textdatei in Ihrem Lieblings- Text-Editor (zB Windows Notepad oder jEdit ) . Nennen Sie es " . PhpIF.php "
2
Fügen Sie die PHP-Tags auf die erste und letzte Zeile der Datei:
< ? Php
? > ;
der gesamte Code für den Rest des Tutorials wird zwischen diese gehen
3
Fügen Sie den Code für die Klasse Raum :
Klasse Room. {
protected $ description = " ";
geschützt $ name = "";
protected $ Zimmer = array (
"ne" => ; NULL ,
"n" = > NULL,
" nw " = > NULL,
"e" = > NULL,
< p > "c" = > NULL,
"w" = > NULL,
"se" = > NULL,
"s" = > NULL ,
"sw " = > NULL
);
public function __ construct ($ n = " ", $ desc = "") {
< p > $ this-> description = $ desc ;
$ this-> name = $ n; }
public function getDescription () {
< p> return $ this- > description ;
}
public function getName () { return $
this-> name;
}
public function setRoom ($ direction = "c" , $ Zimmer) {
$ this-> Zimmer [$ Richtung ] = $ room;
return true;
}
public function getNewRoom ($ direction = "") { return $
this-> Zimmer [$ abspielen] ;
}
}
Diese speichert drei Variablen : . des Raumes Beschreibung , Name, und eine Reihe von Verbindungen zu anderen Räumen , mit der Richtung in den anderen Raum als Schlüssel verwendet
4
Fügen Sie den folgenden , um die Räume zu schaffen :
$ startRoom = new Raum (" First Room ", " ein kleines Zimmer Es gibt eine Tür im Norden. . ");
< p > $ secondRoom = new Raum (" Second Room ", " ein kurzer Flur, der in einer Sackgasse endet Es gibt eine Tür in den Süden. . ");
$ startRoom -> setRoom ( "n" , $ secondRoom );
$ secondRoom -> setRoom ("s ", $ firstRoom );
$ aktuellerRaum = $ startRoom ;
Dadurch entstehen zwei Zimmer und gibt ihnen Namen und Beschreibungen. Es verbindet sie dann mit einer Tür : nördlich vom ersten Raum und im Süden von der zweiten Raum. Schließlich setzt es dem Spieler aktuelle Raum als Ausgangspunkt Zimmer
5
Fügen Sie den folgenden für die Haupt- Schleife, die wird wiederholt, bis der Spieler beendet : .
$ Spielen = True ;
while ($ play) { print $
aktuellerRaum -> getName ();
print $ aktuellerRaum -> getDescription ();
$ input = readline ( " (Geben Sie Ihre Art Befehl QUIT zum Beenden) > . . ");
if ( $ input == "quit" ) { $
spielen = False ;
} else {
if ( $ input == ' nw '