Navodila projekta
Projekt ima dve fazi.
-
Sprogramirati logiko in inteligenco za aplikacijo, ki igra igro Othello, za tekmovanje, ki bo potekalo v času predavanj 30. maja. Rok za oddajo je v petek, 27. maja ob 14.00.
-
Sprogramirati celo aplikacijo (z grafičnim vmesnikom), za eno od naslednjih: (a) za igro Othello, (b) za besedno igro ali uganko po vaši izbiri, ki uporablja angleški slovar aplikacije Wordle ali slovenski slovar aplikacije Besedle. Rok za oddajo aplikacije je v petek, 17. junija ob 14.00.
Navodila za tekmovanje (rok 27. maja)
Program mora vsebovati naslednje pakete, razrede in metode:
-
Paket
splosno, ki ga najdete na spletni učilnici. Paket vsebuje razredaKdoIgrainPoteza. V njih ne smete ničesar spremeniti. (RazredPotezaje ekvivalent razreduKoordinatis predavanj). -
Paket
logika, ki vsebuje razredIgras konstruktorjemIgra()(brez parametrov), ki ustvari novo igro velikosti 8 × 8. Pazite, da bo začetna pozicija na igralni plošči pravilno sestavljena (poglejte "Official rules for the Game of Othello") in da bo črni igralec začel igro. -
Razred
Igranaj vsebuje javno metodoboolean odigraj(Poteza poteza), ki odigra potezopoteza, če je možna. Metoda naj vrnetrue, če je poteza možna, sicer pafalse. Uporabite razredPotezaza koordinate odPoteza(0,0)(levo zgoraj) doPoteza(7,7)(desno spodaj). -
Paket
inteligencanaj vsebuje (konkretni) razredInteligencaki je podrazred razredasplosno.KdoIgra(na predavanjih je bilInteligencaabstraktni razred). -
Razred
Inteligencanaj ima konstruktorInteligenca()(brez parametrov), ki naredi objekt z imenom vaše projektne skupine (razredKdoIgraima poljeime). -
Razred
Inteligencanaj ima javno (nestatično) metodoPoteza izberiPotezo(Igra igra), ki implementira rešitev skupine za inteligentnega igralca igre Othello. Na tekmovanju bo čas za potezo omejen na (okrog) 5 sekund. Preverite, da vaša metodaizberiPotezone potrebuje več kot 5 sekund.
Seveda lahko imajo ti paketi in razredi (razen paketa splosno in razredov v njem) tudi druge razrede, metode in polja. Paketa logika in inteligenca morata biti skupaj samostojna. To pomeni, da je koda v teh dveh paketih neodvisna od kode v ostalih paketih (razen paketa splosno). Na primer, logika ne sme niti omeniti paketa za GUI, ...
Na predavanju v ponedeljek, 30. maja bo tekmovanje v igri Othello med študentskimi aplikacijami. Zmagovalna skupina bo prejela nagrado.
Rok za oddajo projekta na tekmovanje je v petek, 27. maja ob 14.00. Za oddajo naložite vašo mapo "src" in podmape v mapo "Tekmovanje" v vaše skladišče (repository) na githubu. Pred oddajo morate preko mejla poslati povezavo vašega skladišča obema inštruktorjema (Alex.Simpson@fmf.uni-lj.si, matjaz.zaversnik@fmf.uni-lj.si).
24% končne ocene predmeta dobite za oddajo v petek, 27. maja. 10% je za vstop na tekmovanje. (Dobili boste vseh 10%, če boste pravilno sledili tem navodilom.) Ostalih 14% je za kvaliteto kode.
Navodila za končno aplikacijo (rok 17. junija)
Cilj končne aplikacije za igro Othello je profesionalna aplikacija, s katero bomo uživali igrati igro Othello proti računalniku ali proti drugemu človeku. Pazite, da bo izkušnja uporabnika ustrezna za profesionalno aplikacijo.
Za končno aplikacijo za besedno igro lahko sprogramirate katero koli besedno igro ali uganko, ki uporablja ali slovenski slovar igre Besedle ali angleški slovar igre Wordle (torej temelji na 5 črkovnih besedah). Nekaj idej je spodaj.
- Igra Besedle/Wordle ali variantna igre.
- Aplikacija, ki inteligentno reši igro Besedle/Wordle.
- Igra, ki temelji na križanki s 5 črkovnimi besedami, npr. igra podobna Scrabble.
Cilj je še vedno profesionalna aplikacija.
Za oddajo naložite vašo mapo "src" in podmape v mapo "Oddaja" v vaše skladišče (repository) na githubu. Roka za oddajo končne aplikacije: petek, 17. junija ob 14.00
Ocenjevanje: pravilna in dobra koda, dober grafični vmesnik, profesionalnost končne aplikacije, kompleksnost aplikacije, zanimivost igre ali uganke, itn.