Kezdőoldal » Számítástechnika » Programozás » Egy konzolos kvízjáték hogyan...

Egy konzolos kvízjáték hogyan épül fel?

Figyelt kérdés

Tele van if-el pl:

kérdés kiirat

válasz bekér

ha válasz jó akkor

következő kérdés

különben

játék vége



Vagy van valami egyszerűbb mód mert így lesz 20-30 ilyen algoritmus :D



#programozás #program #algoritmus.
2016. febr. 23. 21:33
 1/9 anonim ***** válasza:

Hol lesz a 20-30 algoritmus?

Ez 1 db algoritmus.

Egyébként nem hiszem, hogy érdemes konzolos kvízjátékot csinálni, inkább valami egyszerű ablakos formában.

2016. febr. 23. 21:39
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

De a kövi kérdésnél megint egy ilyen

..aztán megint..megint...stb.


Azért nem ablakos, mert ott még nem tartok (Python)

2016. febr. 23. 21:42
 3/9 anonim ***** válasza:
Akkor jegeld a projektet amíg nem érsz el az objektumokig.
2016. febr. 23. 22:01
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
De két hét múlva kellene :D
2016. febr. 23. 22:11
 5/9 A kérdező kommentje:
Tkinterrel működhet?
2016. febr. 23. 22:21
 6/9 anonim ***** válasza:

"De a kövi kérdésnél megint egy ilyen

..aztán megint..megint...stb. "

Függvény, ciklus?

2016. febr. 23. 22:25
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:

Alapesetben a jovalaszok változó 0.


Létrehozol egy listát ( [link] ), ami könyvtárakat ( [link] ) tartalmaz.


Egy könyvtár tartalmazza:

- a kérdést: 'kerdes': 'Melyik egy római császár?',

- a válaszokat: '1': 'Napoleon', '2': 'Hitler', '3': 'Zámbó Jimmy', '4': 'Julius Caesar',

- a helyes választ: 'helyes': '4'


Összekevered a kérdéseket (random.shuffle(): [link] )


Kiírod a lista első eleméből a kérdést és a 4 választ.


Bekéred a felhasználótól a választ (1-4).

Ha nem megfelelő bemenetet adott meg, akkor addig (while), amíg nem ad meg megfelelő bemenetet, választ vársz.


Ha helyes a válasz (a megadott válasz megegyezik a helyes válasz sorszámával) növeled a jovalaszok valtozó számát. Ha van még kérdés, akkor következő kérdés.

Ha nem, akkor kiírod az összes kérdés számát és a jovalaszok változó értékét, majd végül kilépés.

2016. febr. 23. 22:49
Hasznos számodra ez a válasz?
 8/9 anonim válasza:

Persze hogy van egyszerűbb módja.

A programok nem csak algoritmusból áll. Ahhoz hogy jó programot írj jó adatszerkezetet kell kitalálni hozzá. It is ez a kulcs. Meg kell tervezned azt az adatszerkezetet ami képes tárolni a kérdéseket és a válaszokat is. Ráadásul a válaszokról azt is kell tudni hogy melyik kérdéshez tartozik és még azt is hogy helyes-e az adott válasz. Ez tipikusan összetett adatszerkezet lesz (pl lista) ráadásul lehet hogy nem is egy, hanem kettő... Tervezés kérdése.

Ha megvan az adatszerkezet és fel van töltve, akkor már csak egy egyszerű iteráció kell amivel végigjárod a listát. Kiíratod a kérdést, majd a hozzá tartozó lehetséges válaszokat. Bekéred a felhasználótól a választ, majd lekezeled (pl kiértékeled egyből, vagy letárolod és a végén értékeled).

Általánosan megfogalmazva ennyi a kvízprogram.


Olvastam itt a válaszok között hogy miért karakteres, miért nem tkinter vagy valami grafikus interfész. Ne hagyd eltéríteni magad a feladattól. A megjelenés nagyon fontos, de úgy érzem hogy neked még inkább az alapokkal kell foglalkozni és tapasztalatot szerezni az algoritmusok és adatszerkezetek témakörben.

Konkrétan is tudok segíteni ha kell, de megírni nem fogom helyetted.

2016. febr. 23. 22:53
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

1. Csinálsz egy struktúrát, ami a kérdéseket és a hozzá tartozó válaszokat tartalmazza, pl:


struct kerdesvalasz

{

std::string kerdes;

std::vector<std::string> valaszok;

std::vector<std::string>::iterator helyes_valasz;

};


2. Csinálsz egy vektort ilyen kérdésekkel:

std::vector<kerdesvalasz> kecske;


3. Feltöltöd a struktúrákat


4. Egy random_shuffle-vel összekevered mindegyik kérdésnél a válaszokat, de megjegyzed, hogy melyik a helyes


4. Egy random_shuffle-vel összekevered a kérdéseket


5. Egy ciklussal kiírod a kérdéseket és a hozzájuk tartozó válaszokat, játékos választ egy választ, ellenőrzöd, hogy helyes-e.

2016. febr. 24. 08:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!