Tekst -baserede spil eller interaktive fiktion spil, er forgængerne for moderne , grafiske adventure spil som Myst . Men en levende fan samfund stadig eksisterer omkring skabelsen af tekst -baserede spil . De fleste interaktiv fiktion forfattere bruger dedikerede sprog som Inform og TADS . Men nogle vælger at udvikle spil med de generelle programmeringssprog som PHP. En grundlæggende tekst -baseret spil er forholdsvis enkel : computeren holder en liste over værelser, hver med et navn , en beskrivelse og en liste over forbindelser til andre rum . Afspilleren er bedt om en kommando, og giver retninger for at navigere i verden. Instruktioner
1
Opret en tekstfil i din foretrukne almindelig tekst editor ( såsom Windows Notesblok eller jEdit ) . Name it " . PhpIF.php "
2
Indsæt PHP tags på den første og sidste linjer af filen : Hej
< ? Php
> ;
p Alle koden for resten af tutorial vil gå mellem disse
3
Indsæt koden for værelset klassen : Hej
class Room . {
beskyttet $ description = "" ;
beskyttet $ name = " "
beskyttet $ værelser = array (
"ne " => , NULL , Amerikas
" n" => NULL , salg
" nw " => NULL , salg
"e" => NULL,
< p > " c" => NULL , salg
"w " => NULL , salg
"se " => NULL , salg
"s" => NULL , Amerikas
" sw " => NULL
)
offentlig funktion __ construct ( $ n = "" , $ desc = "" ) {
< p > $ this -> description = $ desc ;
$ this -> name = $ n ;
}
offentlig funktion getDescription () {
< p> return $ this- > betegnelse;
}
offentlig funktion getName () {
retur $ this -> navn,
}
offentlig funktion setRoom ( $ retning = "c" , $ room ) {
$ this -> værelser [$ retning] = $ lokalet
returnere sandt ;
}
offentlig funktion getNewRoom ( $ retning = "" ) {
retur $ this -> værelser [$ retning] ,
} < br >
}
butikker tre variabler : . rummets beskrivelse , navn, og en række forbindelser til andre værelser, med retning mod det andet værelse bruges som en nøgle
4
Indsæt følgende for at oprette værelser : Hej
$ startRoom = new Room ( "First Room ", " et lille værelse Der er en dør mod nord . . ")
< p > $ secondRoom = new Room ( "Second Room ", " en kort gangen , der ender i en blindgyde der er en dør mod syd. . ");
$ startRoom -> setRoom ("n " , $ secondRoom ),
$ secondRoom -> setRoom ( "s" , $ firstRoom ),
$ currentRoom = $ startRoom ,
Dette skaber to værelser og giver dem navne og beskrivelser. Derefter forbinder dem med en døråbning : nord fra det første værelse og syd fra det andet værelse . Endelig sætter spillerens nuværende plads som udgangspunkt room
5
Indsæt følgende for de vigtigste loop, hvilket vil gentage indtil afspilleren afsluttes : .
$ Spille = true;
while ( $ play) {
print $ currentRoom -> getName ();
print $ currentRoom -> getDescription ();
$ input = readline ( " (Indtast din kommando Type QUIT for at afslutte ) > . . ");
if ($ input == " QUIT " ) {
$ spille = False ;
} else {
if ($ input == ' nw '