Király Gyula: Programozás Quick-Basic nyelven
|
15. lecke EGYSZERŰ JÁTÉKOK
A következőkben néhány egyszerű és jópofa játékot fogunk elkészíteni. A feladatok megoldásai pedig remek programozási gyakorlatot jelentenek. Eddigi ismereteink alapján a program megjelenését, formáját vonzóan be tudjuk majd állítani, de ez már az önálló leleményességetektől függ.
1. feladat Készítsünk egy programot, amelyben a gép gondol egy számot 1 és 3 között, mi tippelünk egyet és ha eltaláljuk, akkor nyerünk. Megoldás:
Programterv: A gép gondol egy számot (szam) Tippelünk (tipp) Összehasonlítjuk a kettőt
Részletesebben: Szam = véletlen(1-3) Be: tipp Ha tipp = szam, akkor Ki: "Nyertél" Különben Ki: "Vesztettél"
Az IF THEN ELSE parancsok a következőképpen oldják meg a program elágaztatását: Ha az első feltétel igaz (vagyis tipp=szam), akkor kiírja a program, hogy Nyertél. Minden más esetben az ELSE (különben) ág utasításai hajtódnak végre. Az ELSE ágat az END IF utasítás zárja le.
2. feladat Módosítsuk az előbbi játékot úgy, hogy ne egy játszmát játsszunk, hanem ötöt, és számoljuk össze az összeredményt! Megoldás: Az előző programot egy ciklusba ágyazzuk, melyet 5-ször hajtunk végre, és a találatok számolására bevezetünk egy új változót.
Tervezet: Pont = 0 (kezdőérték) Ciklus j = 1 -től 5-ig szam = véletlen 1-től 3-ig Be: tipp Ha tipp = szam, akkor Ki: "Eltaláltad!" Pont = pont + 1 Különben Ki: "Nem találtad el!" Várakozás egy billentyű lenyomására. Ciklus vége Ki: pont Ha pont >= 3, akkor KI. "Nyertél" Különben Ki: "Vesztettél!" A programban a C$=INPUT$(1)sor valósítja meg a várakozást. A zárójelben megadott szám azt jelzi, hány tetszőleges billentyű megnyomását várja a program. A c$ változóba belekerül ugyan a lenyomott billentyű, de a továbbiakban nincs rá szükségünk. A ciklus utolsó sora, a tartalom nélküli PRINT üres sorral választja el az egyes kérdéseket egymástól.
3. feladat Kockajáték. Készítsünk programot, amelyben a gép is "dob" egyet, és mi is "dobunk" egyet, és az nyer, aki nagyobbat dob! (Döntetlen esetén a gép nyer.) Megoldás: A program egyetlen fő problémája, hogy hogyan oldjuk meg azt, hogy ne a gép dobjon helyettünk. Ennek módszere az, hogy a gép addig készít véletlen számot, és addig jeleníti meg azt a képernyőn (a szám pörög), amíg egy billentyű lenyomásával meg nem állítjuk. Tervezet: Gepdob=véletlen(1-6) Ciklus Endob=véletlen(1-6) Ki: endob Amíg nincs lenyomott billentyű Ciklus vége Ha endob>gepdob, akkor "Te nyertél" Különben Ki: "Én nyertem'"
GYAKORLÓ FELADATOK 1. Készítsd el az előző 3 program egyikének grafikával és kurzorpozicionálással tökéletesített változatát! 2. Módosítsd a programokat úgy, hogy megkérdezze, hogy akar-e még játszani, és ha igen, akkor kezdjük elölről. 3. Módosítsd a kockajáték-programot úgy, hogy a döntetlent is kiírja!
|