Informatika2-2012/Gyakorlat09

A MathWikiből
(Változatok közti eltérés)
(fájlkezelés)
 
(egy szerkesztő 2 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, majd két függvényt.
 
Csinálj modult amiben definiálsz egy labirintust, majd két függvényt.
24. sor: 31. sor:
 
Az indítási könyvtárban lévő .laby kiterjesztésű fájlok nevét add írd ki, és számozd.
 
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.
 
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., 10:20-kori változata

<-- 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