Webfejlesztés 2.

JavaScript beadandó feladat

Szókereső

Készíts egy szókereső játékot!

Példa képernyőkép
Példa kialakítás (az elrejtett szó: SZÓKERESŐ)

Szabályok

A játék képernyőjén egy 10x10-es táblában betűk helyezkednek el. A gép mindig egy véletlenszerű szót rejt el a betűk között úgy, hogy az első betűtől kezdve a következő mindig a négy irány valamelyikében helyezkedik el.

Az aktuális szót a gép mindig mutatja a tábla fölött. A szót megtalálva a gép egy következő szót rejt el, és így tovább, egészen addig, amíg el nem fogy a játékos élete.

Az élet a megtalált szavak számával arányosan egyre gyorsabban fogy: egy másodperc alatt 1+(n/3) % élet fogy, a megtalált szavak azonban egységesen 10%-kal növelik az életet (100% fölé nem mehet).

A szót a játékos úgy jelöli ki, hogy az első betűre kattintva lenyomva tartja az egeret, és nyomva tartja az utolsóig, úgy hogy közben az érintett betűk a keresett szót adják ki a helyes sorrendben. Ha a nyomva tartás közben az előzőleg kijelölt elemre visszük az egeret (visszafelé haladunk) a betűk törölhetők. Hibásan kijelölt szó 5% életbe kerül.

Pontozás

Kötelező (enélkül nincs jegy):

  • Elrejtett szó megjelenik a táblában (lehet fix az iránya, pl. balról jobbra)
  • Elrejtett szó megjelenik a tábla fölött
  • Az idő folyamatosan fogy, és meg is jelenik valamilyen formában
  • Az idő lejártakor a játék véget ér.

Nem kötelező

  • Az elrejtett szó minden betűje véletlenszerű irányban jelenik meg az előzőhöz képest (3 pont)
  • Az idő egy egyre rövidebb sáv formájában jelenik meg (1 pont)
  • Az idő a megadott szabályok szerint fogy, illetve nő (3 pont)
  • A táblában kijelölhető betűk sorozata a leírt módon (3 pont)
  • A helyes szó kijelölését a program ellenőrzi és új szót rejt el/életet von le (2 pont)
  • Nincs nagyobb programhiba, nem csalhatók elő furcsa jelenségek (2 pont)
  • 1 hét késés (-3 pont)
  • 2 hét késés (-6 pont)
  • 2 hétnél több késés (nincs elfogadva a beadandó, nincs jegy)

Értékelés:

  • 0-5 pont: -0,5
  • 6-10 pont: 0
  • 10-14: +0,5

Beadás

A megoldásokat a beadási felületen keresztül kell feltölteni. Ehhez az elkészült alkalmazást be kell csomagolni ZIP formátumba, ugyanis csak így fogadja el a feltöltő felület.

Határidő: 2014. november 2. éjfél

Technikai segítség

Az elrejtendő szavakat egy tömbben tároljuk.

A szó elrejtésére egy egyszerű algoritmus:

  • Választunk egy véletlenszerű szót.
  • Kijelölünk egy kezdő pozíciót, oda lerakjuk az első betűt.
  • Minden további betűre:
    • Ellenőrizzük, hogy az utolsó betűtől van-e szabad irány, ha nincs, újrakezdjük az egészet
    • Addig választunk egy véletlenszerű irányt, amíg nem találunk olyat, ami szabad.
    • Lerakjuk a betűt.

Algoritmus a szó kijelölésére:

  • A kijelölt betűket tömbben tároljuk, onmousedown(egérgomb lenyomása) hatására a tömbben az az egy elem lesz, amin lenyomtuk.
  • Bárhol onmouseup(egérgomb felengedése) hatására ellenőrizzük a benne levő elemekből alkotott szót.
  • onmouseover(egeret rávisszük az elemre) hatására
  • Ha a tömb utolsó eleme szomszédos az adott elemmel, és még nem volt benne a tömbben, az elemet hozzáadjuk a tömbhöz.
  • Ha az elem a tömbben az utolsó előtti helyen van, akkor az utolsót töröljük (visszatörlés)