Text - based games , of interactieve fictie spelletjes , zijn de voorlopers van de moderne , grafische adventure games zoals Myst . Echter , een levendige fan community bestaat nog steeds rond het maken van text - based games . Meest interactieve fictie auteurs gebruiken gewijd talen als Inform en TADS . Echter , sommige kiezen om games te ontwikkelen met de algemene programmeertalen zoals PHP . Een basis text-based spel is vrij eenvoudig : de computer houdt een lijst bij van de kamers , elk met een naam , beschrijving en lijst met verbindingen naar andere kamers . De speler wordt gevraagd om een commando en geeft aanwijzingen om de wereld te navigeren . Instructies 1 Maak een tekst bestand in je favoriete teksteditor ( zoals Windows Kladblok of jEdit ) . Noem maar op " . PhpIF.php " kopen van 2 Plak PHP tags op de eerste en laatste regels van het bestand : < ? Php ? > ; Al de code voor de rest van de tutorial zal gaan tussen deze 3 Plak de code voor de klasse kamer: klasse Room . { beschermd $ description = " " ; beschermd $ name = " " ; beschermd $ kamers = array ( " ne " = > , NULL , " n" > NULL , " nw " = > NULL , " e " = > NULL , " c" = > NULL , " w " = > NULL , ' se ' = > NULL , " s " = > NULL , " sw " > NULL ) = ; publieke functie __ construct ( $ n = " " , $ desc = " " ) { $ this - > description = $ desc ; $ this - > naam = $ n ; } publieke functie getDescription ( ) { return $ this- > beschrijving ; } publieke functie getName ( ) { return $ this - > naam ; } publieke functie setRoom ( $ richting = " c " , $ kamer ) { $ this - > kamers [ $ richting ] = $ kamer ; terugkeer True ; } publieke functie getNewRoom ( $ richting = " " ) { return $ this - > kamers [ $ richting ] ; } < } > Dit slaat drie variabelen br : . de kamer kwam , de naam , en een scala aan verbindingen met andere ruimten , met de richting naar de andere kamer gebruikt als een sleutel 4 Plak volgende om de kamers te creëren : $ startRoom = new Room ( " Eerste kamer " , " een kleine kamer Er is een deur naar het noorden . ". ) ; $ SECONDroom = new Room ( " Tweede kamer " , " een korte gang die eindigt in een doodlopende straat Er is een deur naar het zuiden . ". ) ; $ startRoom - > setRoom ( " n" , $ SECONDroom ) ; $ SECONDroom - > setRoom ( " s " , $ firstRoom ) op Twitter ; $ currentRoom = $ startRoom ; Dit creëert twee kamers en geeft ze namen en beschrijvingen . Het verbindt ze vervolgens met een deur : het noorden van de eerste kamer en het zuiden van de tweede kamer . Tenslotte zet de huidige ruimte van de speler als uitgangspunt kamer 5 Plak volgende voor de belangrijkste lus , die wordt herhaald totdat de speler afgesloten : . $ Spelen = True ; while ( $ afspelen) { afdruk $ currentRoom - > getName ( ) ; afdruk $ currentRoom - > getDescription ( ) ; $ input = readline ( " ( Vul uw commando Type qUIT om te stoppen ) > . . "); if ( $ input == " qUIT " ) { $ spelen = False ; } else { if ( $ input == ' nw ' | | $ input == ' n ' | | $ input = = ' ne' | | $ input == ' e ' | | $ input == ' e ' | | $ input == ' e ' | | $ input == ' e ' | | $ input == ' e ' | | $ input == ' e ' ) { $ currentRoom = $ currentRoom - > getNewRoom ( $ input) ; } } } Dit drukt de naam en beschrijving kamer en krijgt bevel van de speler , voordat het te vergelijken met de mogelijke commando's .
|