Informatika2-2012/Gyakorlat09

A MathWikiből
A lap korábbi változatát látod, amilyen Stma (vitalap | szerkesztései) 2012. május 1., 10:20-kor történt szerkesztése után volt.
(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

<-- vissza

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)

<-- vissza

Személyes eszközök