Kezdőoldal » Számítástechnika » Programozás » Segitenetek programozás haziban?

Z1s2o3l4a5 kérdése:

Segitenetek programozás haziban?

Figyelt kérdés

A nyelv C.

A labirintus egy fallal körülvett 10×10-es tábla. A labirintust körülvevő falon egy kijárat található. A labirintusban több kincset rejtettek el. A játékos feladata, hogy összeszedje a kincseket és eljusson a kijáratig.


A labirintust a következő formában kell megjeleníteni:


###### ###

#$ # #

#### ### #

# #

# #### ###

# # #$#

# ##$# # #

#@ ### # #

# $# #

##########

Itt a falakat a # jelzi, a járható részeket szóköz, az elrejtett kincseket a $ karakter, a játékost pedig a @. Ha a játékos felvette, a kincs helyére is szóköz kerül.


Ebben a feladatban az alább látható részfeladatok mind egymásra épülnek, vagyis sorban kell megcsinálnod őket. Minden függvény megírásakor írj egy rövid programrészt a főprogramba, amely meghívja a függvényt – így lépésenként ellenőrizni tudod azt, hogy helyesen működik-e.



Hozz létre egy tömböt a labirintus tárolására! A tömb tárolja a labirintus egyes sorait sztringként. Mivel a sztringek maguk is tömbök, ezért ennek a tömbnek két dimenziósnak kell lennie (tömbök tömbje). Figyelj arra, hogy a sztringként tárolt sorok miatt eggyel nagyobbra kell választanod a tömböt vízszintesen (vagyis szélesebbre), hogy a sztringet lezáró nulla is beleférjen.


Inicializáld a tömböt úgy, hogy a fent látható labirintust tartalmazza. Ehhez azt át tudod másolni a forráskódba.



Írj függvényt, amely paraméterként veszi a labirintust tároló tömböt és kirajzolja a labirintust a képernyőre!



Hozz létre alkalmas struktúratípust a labirintusbeli koordináták tárolására! Írj függvényt, amely paraméterként veszi át a labrintust tároló tömböt, és visszaadja a játékos koordinátáit. Ennek visszatérési típusa a korábban definiált struktúra legyen. A függvény keresse meg a játékost a tömbben, és állítsa be a struktúrában a megfelelő pozíciót!



Írj függvényt, amely paraméterként veszi át a labirintust tároló tömböt, és visszaadja a benne található kincsek számát!



Definiálj felsorolt típust, amely alkalmas az irányok (le, fel, jobbra, balra) tárolására!



Írj függvényt, amely paraméterként veszi át a labirintust tároló tömböt valamint egy irányt! A visszatérési típusa logikai legyen, ami akkor vegye fel az IGAZ értéket, ha a játékos elmozdulhat az adott irányba. A játékos akkor nem mehet egy irányba, ha ott fal van.


Gondolj arra, hogy ennek a függvénynek nem kell paraméterként átvennie a játékos helyzetét, hanem azt az egyik előbb megírt függvénnyel meg tudja határozni.



Írj függvényt, amely paraméterként átveszi a labirintust tároló tömböt és egy adott irányt, és lépteti a játékost, ha ez lehetséges! Azt, hogy az adott irányba léphet-e a játékos, az előző pontban elkészített függvény segítségével ellenőrizd! A léptetés azt jelenti, hogy a játékos aktuális pozíciójára egy szóköz, az új pozíciójára pedig egy @ kerül.


A függvény a visszatérési értékében jelezze, ha


az irány rossz, mert ott fal van!

a játékos a kijáratba lépett!

a játékos kincset talált!

a játékos üres mezőre lépett!



A main függvényben írj egy ciklust, amely bekéri a felhasználótól a mozgás irányát és ennek megfelelően lépteti a játékost!


Tartsd számon, hogy a játékos hány kincset talált!

Ha a játékos a kijáraton kiment, akkor nézd meg, hogy megtalált-e minden kincset (a 3. feladatban megírt függvény segítségével)! Ha már nincs több kincs a labirintusban, akkor nyert, ha van, akkor veszített. Írd ki a végeredményt a képernyőre!

Ha nem mehet a kívánt irányba a játékos, akkor ezt írd ki a képernyőre!

Rajzold ki lépésről-lépésre az új táblát!



ELŐRE IS NAGYON SZÉPEN KÖSZÖNÖM !!



#programozás #string #több dimenziós tömbök #structurák
2020. dec. 11. 14:47
1 2
 11/13 A kérdező kommentje:
#9 ma 22:00
2020. dec. 11. 18:55
 12/13 A kérdező kommentje:
#10 Igen sima C
2020. dec. 11. 18:56
 13/13 anonim ***** válasza:

Én nem értem a feladat e részét

"A léptetés azt jelenti, hogy a játékos aktuális pozíciójára egy szóköz, az új pozíciójára pedig egy @ kerül."


Én nekem úgy logikus hogy valaminek az új pozíciója mindig az aktuális pozíciója. Ha tippelnem kell akkor szerintem úgy érti a tanár hogy a játékos jelenlegi, aktuális pozícióját jelezzük szóközzel a leendőbeli pozíciót pedig @ al. De szerintem nincs értelme azt jelezni mert a léptetés emberi szemmel nem követhető gyorsasággal megy végbe hacsak nem azt akarja a feladat hogy előre ezzel mutassa melyik az aktuálisan beállított irány amelyre a játékosnak lépni fog egy újabb gomb lenyomására.

2020. dec. 14. 17:09
Hasznos számodra ez a válasz?
1 2

További kérdések:




Minden jog fenntartva © 2024, 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!