Informatika2-2012/Gyakorlat09
Stma (vitalap | szerkesztései) (Új oldal, tartalma: „== labirintus modul == Csinálj modult amiben definiálsz egy labirintust == csomagok == == fájlkezelés ==”) |
Stma (vitalap | szerkesztései) |
||
(egy szerkesztő 7 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
+ | [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 == | ||
− | Csinálj modult amiben definiálsz egy labirintust | + | 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 == | == 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. | ||
+ | |||
+ | <python> | ||
+ | >>> import random | ||
+ | >>> random.choice([1,2,3]) | ||
+ | 2 | ||
+ | </python> | ||
== fájlkezelés == | == 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. | ||
+ | |||
+ | <python> | ||
+ | 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) | ||
+ | </python> | ||
+ | |||
+ | [http://wiki.math.bme.hu/view/Informatika2-2012 <-- vissza] |
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)