Peli, jossa pallo pomppii ruudulla. Pelaajan täytyy ohjata mailaa vaakasuunnassa. Jos pallo osuu ruudun alalaitaan, peli päättyy. Peli lukee käyttäjän syötteen tiedoston kautta.
Peli toimii vain omalle koneelle asennetulla PHP:llä, jota käytetään komennolla "php tiedostonimi.php", ei palvelimella. Olen testannut ohjelman Windows-koneella.
Kuvakaappaus, jossa peli on käynnissä:
http://img412.imageshack.us/img412/6818/pong.png
Pelaamisohjeet:
- Tallenna lähdekoodi kiintolevylle nimellä "pong.php".
- Avaa kolme komentorivi-ikkunaa (esim. cmd-käskyllä).
- Mene kaikissa ikkunoissa hakemistoon, jossa peli on.
- Kirjoita toisessa ikkunassa "echo 0 > pong.txt". (Käsky, joka saa pallon vaihtamaan suuntaa vasemmalle.)
- Kirjoita kolmannessa ikkunassa "echo 1 > pong.txt". (Käsky, joka saa pallon vaihtamaan suuntaa oikealle.)
- Kirjoita ensimmäisessä ikkunassa "php pong.php".
- Napsauta nopeasti toista ja kolmatta ikkunaa.
- Maila liikkuu aluksi oikealle. Aina, kun tahdot vaihtaa sen suuntaa, paina alt + tab, ylänuoli, enter. (Mailaa ei voi pysäyttää.)
pong.php
<?PHP $pallox = 1; // Pallon sijainti vaakasuunnassa $palloy = 1; // Pallon sijainti pystysuunnassa $vaakasuunta = 1; // -1 = vasemmalle, 1 = oikealle $pystysuunta = 1; // -1 = ylös, 1 = alas $mailax = 10; // Mailan sijainti vaakasuunnassa $mailaleveys = 10; while (true) { // Pallon törmäystarkistus if ($pallox == 0 || $pallox == 78) $vaakasuunta = -$vaakasuunta; if ($palloy == 0) $pystysuunta = -$pystysuunta; if ($palloy == 23) { if ($pallox >= $mailax && $pallox < $mailax + $mailaleveys) { // Osui mailaan $pystysuunta = -$pystysuunta; } else { // Game over for ($i = 0; $i < 30; $i++) echo "\r\n"; echo "Game over!"; die(); } } // Pallon liikutus $pallox += $vaakasuunta; $palloy += $pystysuunta; // Näytön tyhjennys for ($i = 0; $i < 30; $i++) echo "\r\n"; // Pallon piirto echo str_repeat(" ", $pallox) . "*"; // Mailan piirto for ($i = 0; $i < 24 - $palloy; $i++) echo "\r\n"; echo str_repeat(" ", $mailax) . str_repeat("=", $mailaleveys); // Ohjauksen luku $tiedosto = file("pong.txt"); $kasky = trim($tiedosto[0]); if ($kasky == 0 && $mailax >= 2) $mailax -= 2; if ($kasky == 1 && $mailax <= 77 - $mailaleveys) $mailax += 2; // Viive usleep (200000); } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.