AI. Projekt Mlyn

Mlyn sa hrá na hracom pláne, aký je na obrázku  vpravo.  

Pravidlá:

  • Na začiatku hry je hrací plán prázdny, obaja hráči majú po 12 kameňov
  • Striedavo prikladajú na kruhy  hracieho plánu  kamene, ak hráč vytvorí trojicu vedľa seba ležiacich kameňov rovnakej farby (mlyn), súperovi vezme ľubovoľný kameň, ktorý nie je súčasťou mlynu
  • Keď boli položené všetky kamene, hráči môžu kamene posúvať po líniách o jedno políčko, ak je políčko voľné.
  • Ak má hráč iba tri kamene, môže kameňmi skákať na ľubovoľné voľné políčko
  • Prehráva hráč, ktorému zostanú dva kamene

Vašou úlohou je v App Inventore naprogramovať hru Mlyn.

I. etapa

Úloha: Nakreslite hrací plán hry Mlyn.

Postup:

  • V dizajnéri umiestnite na obrazovku prvok Canvas (plátno) na ktorý budete kresliť. Šírku  a výšku stanovte v pixeloch podľa rozlíšenia vášho telefónu alebo tabletu, dole nechajte priestor na doplnenie tlačítok. Obrazovku nastavte na orientáciu portrét.
  • Nakreslite tri štvorce
  • Nakreslite štyri čiary
  • Nakreslite 24 kruhov

Môžete postupovať mechanicky, potom musíte použiť najmenej 31 príkazov. Ak vytvoríte procedúry na kreslenie štvorcov a kruhov, možno počet príkazov výrazne zredukovať (napr.  premenná so zoznamom súradníc stredov kruhov, blok for, ktorý prejde celým zoznamom súradníc a volanie procedúry na nakreslenie kruhu).

Zoznam súradníc vytvoríte blokom list from csv row text (zvlášť zoznamy súradníc  x a y), alebo tým istým blokom a len jedným  zoznamom do ktorého vložíte dvojice x,y a príkaz for pôjde krokom dva alebo blokom from csv table text.

II. etapa

Úloha: Naprogramujte ťahy hráčov, keď kamene prikladajú na hrací plán.

Postup:

  • použite blok Canvas.TouchDown – dotyk obrazovky
  • ak bol dotyk na prázdne políčko, kameň sa priloží, ak bol na obsadené políčko alebo mimo políčka, kameň sa nepriloží
  • ak sa kameň priložil, otestujte, či sa nevytvoril mlyn, ak sa vytvoril, hráč klikne na súperov kameň, ktorý chce vziať, otestujte, či kameň nie je súčasťou mlynu, ak nie je, kameň sa odstráni, ak je, program vyzve hráča, aby klikol na iný kameň, alebo aby klikol na tlačítko Pas (v dizajnéri pridajte tlačítko Pas), ktoré hráč použije, ak všetky kamene súpera sú súčasťou mlynu.
  • ak sa kameň priložil, zmení sa číslo hráča a farba, ktorou sa kreslia kamene (1 na 2 a 2 na 1, biela a čierna farba)

V teste, či je ťah prípustný, zistite, či farba bodu, kam hráč klikol zodpovedá farbe prázdneho políčka (preto nakreslite kruhy inou farbou než čiary spájajúce kruhy, ak ste to tak v prvej etape nespravili, upravte vykreslenie plánu).

Podúloha:  Asi ste si všimli, že kamene sa po ťuknutí na obrazovku ukladajú v istom rozsahu súradníc (vyšie, nižšie, viac vpravo alebo vľavo) a často vidno časť políčka, na ktorom je uložený kameň.  Ak by hráč klikol na vyčievajúcu časť políčka, mohol by znova položiť kameň na to isté políčko. Ošetrite prikladanie kameňov tak, aby sa prikladali presne do stredu poľa.

III. etapa

Úloha: Hráč klikne na kameň, ktorý chce presunúť a potom klikne na políčko, kam chce kameň presunúť. Ak je ťah prípustný, kameň sa presunie.

IV. etapa

Úloha: Ak niektorý hráč má iba tri kamene, naprogramujte skákanie jeho kameňov. Ošetrite koniec hry, keď niektorý z hráčov má už iba dva kamene.

V. etapa

Zdokonalovanie programu, pridanie ďalších funkcii napríklad:

  • Zadanie mien hráčov, hra na tri víťazstvá, striedanie toho, kto začína prvý.
  • Prispôsobenie rozmerov prvku Canvas rozlíšeniu telefónu alebo tabletu
  • Hra na dvoch telefónoch s využitím databázy v cloude
  • Hra proti počítaču
  • Pohranie sa s dizajnom
  • Možnosť zvoliť jazyk komunikácie: angličtina, slovenčina, …
  • vlastné nápady, ako aplikáciu zdokonaliť
print

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *