Java alkalmazások, 2010-2011-II

1. Beadandó feladat

Wumpus Vadászat

Készítsük el a klasszikus Hunt the Wumpus játék egy egyszerűbb változatát Javaban!

Wumpus

Az eredeti játékot Gregory Yob írta az 1970-es években, és a mai napig megtalálható a legtöbb Linux disztribúcióban (például a Caesar klaszteren is kipróbálható egy variáns a wump paranccsal).

Játékszabályok

Adott egy NxN-es kétdimenziós világ, amely a Wumpus barlangja. A barlangban a következő dolgok találhatók:

Játékmenet

A játékos minden körben léphet egyet egy tetszőleges, a jelenlegi pozíciójával szomszédos mezőre. Minden lépés előtt a következő dolgokat érzékelheti:

Miután a játékos lépett, a Wumpus is léphet egy véletlenszerű irányba. Amennyiben nem tud továbblépni (mert pl. elérte a barlang legszélét), helyben marad, és csak a következő körben lép újra.

Ha a játékos rálép egy mezőre, ahol gödör van, beleesik, és a játéknak vége (a Wumpus tapadókorongos lábbal rendelkezik, ő nem esik bele).

A Wumpus előszeretettel fogyaszt fiatal kalandozókat, akik betévednek a barlangjába, emiatt egy mezőn tartózkodni vele erősen ellenjavallt magatartás. Ebben az esetben szintén vége a játéknak.

Ha a játékos megtalálja a kincset, a játéknak vége, és nyert. A Wumpust nem érdekli a kincs, számára az nem több terepakadálynál.

Paraméterek

Irányítás

Készíts egy egyszerű konzolos felületet, ahol a játékos irányíthatja a játékot. Legyen egy cheat funkció is, amely megjeleníti a teljes térképet!

Példajáték

Az alábbi példajáték szemlélteti a csalás funkciót is. A . üres területeket, a @ a játékost, a P a gödröket, a W a Wumpust, a T pedig a kincset jelöli a kirajzolt térképen. Az irányítás az n (north), s (south), e (east) és w (west) karakterekkel történik.

$ java wumpus.Game
=== Welcome to the Wumpus Lair ===
You are at the edge of the world.
Perception: -, -, -
Which direction to go? cheat
.P..P
..T..
...P.
....W
...@.

You are at the edge of the world.
Perception: -, -, -
Which direction to go? n

Perception: breezy, smelly, -
Which direction to go? cheat
.P..P
..T..
...P.
...@W
.....

Perception: breezy, smelly, -
Which direction to go? w

Perception: -, -, -
Which direction to go? cheat
.P..P
..T..
...PW
..@..
.....

Perception: -, -, -
Which direction to go? n

Perception: breezy, smelly, gloomy
Which direction to go? n
Congratulations! You have found the treasure!

Technikai részletek

Megvalósítás

A feladat számos megközelítéssel megoldható, ebből egyhez található egy példa tesztfájl itt: GameTest.java. Amennyiben ez segít, nyugodtan használjátok, de bátran térjetek el tőle, ha indokoltnak találjátok, vagy csak más megközelítést kényelmesnek találtok! A hangsúly most a kísérletezésen van!

Továbbfejlesztési lehetőségek