Informatika2-2012/Gyakorlat09
Stma (vitalap | szerkesztései) |
Stma (vitalap | szerkesztései) |
||
1. sor: | 1. sor: | ||
[http://wiki.math.bme.hu/view/Informatika2-2012 <-- vissza] | [http://wiki.math.bme.hu/view/Informatika2-2012 <-- vissza] | ||
+ | |||
+ | === megoldás === | ||
+ | [http://wiki.math.bme.hu/view/Informatika2-2012/Gyakorlat09mf fájlból olvasás] | ||
+ | [http://www.box.com/s/6e598122e40b9a7c47e2 labirintus] | ||
+ | [http://www.box.com/s/1aea352f45af3a5f62de egér algoritmus] | ||
== labirintus modul == | == labirintus modul == |
A lap jelenlegi, 2012. május 1., 11:20-kori változata
Tartalomjegyzék |
megoldás
fájlból olvasás labirintus egér algoritmus
labirintus modul
Csinálj modult amiben definiálsz egy labirintust, majd két függvényt. Az egyik függvénnyel a labirintusban való lépegetést valósítod meg, a másikkal alap helyzetbe állíthatod a labirintust. A lépegetésnél egy számot vár ami az irányt jelzi, és az aktuális pozícióval és a lehetséges továbbhaladási irányokkal tér vissza.
Továbbá old meg azt is, hogy ha importálják a modult ne történjen semmi, de ha futtatják akkor rajzolja ki a labirintust.
A labirintus programbeli reprezentálását rátok bízom, de egy egyszerű megoldás, ha egy pozíció vagy fal vagy út és még tartalmazza a lehetséges irányokat. Mondjuk egy [0,[0010]] formában.
csomagok
Csinálj csomagot ami flabirinth névvel tartalmaz két alcsomagot a common és a lab-ot. Utóbbiba tegyük be a már létrehozott labirintus modult.
Csináljunk egy egyszerű lépegetőt, ami random választ a lehetőségekből és lépeget a labban a beimportált csomag labirintus moduljával.
>>> import random >>> random.choice([1,2,3]) 2
fájlkezelés
Oldjuk meg, hogy a labirintus init során lehessen megadni, hogy melyik labirintust használjuk. Az indítási könyvtárban lévő .laby kiterjesztésű fájlok nevét add írd ki, és számozd. A kiválasztott file - ban definiált labirintust töltsd be a programba és indítsd a már megírt random lépegetést.
whi = int(raw_input ("Melyik lab legyen?\n")) # file nevek es konyvtarak import os for filename in os.listdir("."): print filename # egy az alkonyvtarakat is bejaro #for dirname, dirnames, filenames in os.walk('.'): # for filename in filenames: # print os.path.join(dirname, filename)