Informatika2-2012/Hazi09

A MathWikiből
A lap korábbi változatát látod, amilyen Stma (vitalap | szerkesztései) 2012. április 17., 11:38-kor történt szerkesztése után volt.

A 9. házi feladat

Code style elelemket kövesd a megvalósítás során - pontlevonás jár ha nincs alkalmazva


A gyakorlaton elkészített lépegetőt kell kiegészítenetek. (labirintustként hasynáljátok az alábbi linken megtalálható kódot) A feladat az hogy a lépegetőtők biztosan kitaláljon egy megoldható labirintusból. Erre egy általad megfelelőnek gondolt algoritmust kell használnod. (Pl.: Egy körmentes labirintusban egy sima fabejáró alg. is megtenné. Ötleteket itt találhattok.)

Mivel a laboron nem volt teljesen egyértelmű, ezért pontosítom a kiírást. A labirintusnak két függvénye van:

  • első: a labirintus leírás alapján elvégzi az esetleg szükséges alap helyzetbe állítást (inicializáció) minimum elhelyezi a lépegetőt egy adott vagy véletlen pontba, és visszaadja hogy a kiindulási pontban látott lépési lehetőségeket.
  • második: a lépegető lép és meghívja ezt egy íránnyal. Az irányok: fel - 0, jobb - 1, le - 2, bal - 3. A fv. ellenőrzi hogy arra mehet-e, ha igen akkor áthelyezi a lépegető aktuális pozicióját oda és visszaadja abban a pozícióban látott irányokat. Ha nem léphetne arra akkor None val jelzi, és ha a kijáratot érte el a lépegető akkor egy üres tömböt kap vissza.
    • kijutott: []
    • rossz lépés: None
    • jo lépés: [1,0,1,1] ami a [fel, jobb, le, bal]

(Vasárnap kiteszek egy labirintus megvalósítást, amit ellenőrzésnek fel is lehet használni.) A random lépegetőt itt találjátok: mouse.py Egy labirintus megvalósítást itt találjátok: labyrinth.py

Kipróbálni a mouse.py futtatásával tudjátok. Ha még egy paramétert is adtok akkor kirajzolja a lépéseket.

Jó munkát! Kérdéssel levélben kereshettek!

Személyes eszközök