Feladat - ntopee/Projlab GitHub Wiki

Killer Sokoban

Változtatás A munkások bár több ládát is eltolhatnak egyszerre, minden munkás rá jellemző erővel tol. Ha a ládák együttes tapadási súrlódási ereje ennél nagyobb, akkor a tolás nem sikerül. A padlóra különböző kenőanyagokat tehetnek a munkások: olajat, amitől csúszósabb lesz (csökken a tapadása) és mézet, amitől ragacsos (nő a tapadása). A változtatással kapcsolatban a modellt érintő változtatásokat a Prototípus koncepciója c. dokumentumban kell bemutatni. Ez tartalmazza a módosított osztálydiagramot, az új vagy módosult metódusok leírását, valamint az alábbi esetek szekvenciadiagramjait: Munkás-láda-láda Munkás-láda-munkás-láda

Eredeti feladat

Egy raktárépületben ládákat tárolnak. A raktárépület padlója négyzetekre van osztva, ezeken állnak a négyzetekkel megegyező alapterületű ládák. A ládák eltolhatók, de egy mozgatással mindig csak egy szomszédos négyzetre kerülhetnek.

A raktárban többen dolgoznak, a játékosok őket irányítják. A cél a ládák előírt helyre tologatása. A raktárnak falai és oszlopai is vannak, ezeken a ládák nem tolhatók át. A ládák egymást el tudják tolni. Ha egy munkásra ládát tolunk, akkor a munkás automatikusan szomszédos négyzetre tolódik. Ha nem tud eltolódni (mert pl. fal van mellette), a munkás meghal. A ládák nem nyomhatók össze.

A padlón egyes helyeken lyukak találhatók, amelyekre ládát tolva a láda leesik (eltűnik). Ha munkás lép rá, meghal. Némelyik lyuk csak akkor viselkedik lyukként, ha egy kapcsolón láda áll, egyébként padlónak tűnik. A kapcsolón ládának kell állnia, hogy kinyissa a lyukat, ha munkás áll a kapcsolóra, akkor nem kapcsol.

A játék véget ér, ha az összes láda a helyén van, vagy ha már nem lehet többet tolni. Az nyer, aki ekkorra a legtöbb ládát a helyére tolta.