[ nikopol @ 09.01.2007. 00:53 ] @
Pozdrav svima, potrebno mi je misljenje ljudi koji se razumeju u ovakavu vrstu problema i unapred hvala na sugestijama i idejama ostvarenja ovog zadatka... Napisao sve klase sem Igra i Dame ali ne znam da li je to onako kako ga je Kraus zamislio (mislim na komunkaciju medju objektima)pa da se ne bih dvoumio nadam se da ima nekog ko bi podelio svoje znanje samnom i sa ostalim ljudima na forumu koje ovo interesuje. Pitanje bi znaci bilo sta sa cime komunicira kako bi izgledala metoda za postavljanje figure i kojoj bi klasi trebala da pripada(po tekstu zadatka bi izgleda trebalo da pripada klasi Tabla ali meni je logicnije da igrac stavlja figure na tablu),sta tacno znaci recenica "Tabla treba da obezbedi da onaj ko zatraži indeks pritisnutog polja čeka dok se neko polje ne pritisne" ? Da li je to u smislu trosenja procesorskog vremena ? Eto toliko za sada... postavka : Projektovati i realizovati na jeziku Java sledeće klase: Astraktna figura za igre ima jednoslovnu oznaku vrste figure, boju i koordinate na dvodimenzionalnoj tabli na kojoj se igra odvija. Može da se postavi na zadato mesto na zadatoj tabli, da se premesti na drugo mesto. Greška je ako figura, prema pravilima kretanja i trenutnom stanju na tabli ne sme da se premesti na odredišno mesto. Polja dvodimenzionalne table za igre mogu da budu prazna ili da sadrže po jednu figuru. Figure mogu da se postave na prazna polja jedna po jedna, da se figura na datom polju ukloni i da se figura premesti sa jednog na drugo polje (eventualna figura na odredišnom polju se uklanja). Sadržaj table prikazuje se na grafičkoj ploči (Panel) prikazujući oznake figura u odgovarajućoj boji na pojedinim poljima. Može da se zatraži indeks polja koje je pritisnuto mišem. Nijedno polje ne sme biti osetljivo na pritisak sve dok se ne zatraži dohvatanje indeksa pritisnutog polja. Tabla treba da obezbedi da onaj ko zatraži indeks pritisnutog polja čeka dok se neko polje ne pritisne. Apstraktan igrač igra figurama zadate boje na zadatoj tabli. Može da odigra potez dohvatajući indekse pritisnutih polja table. Posle izvođenja poteza, shodno pravila igre, može da dobije pravo na još jedan potez pre drugih igrača. Aktivna apstraktna igra sadrži jednu tablu za igru i nekoliko igrača. Stvara se sa praznom tablom zadatih dimenzija i popunjenim nizom igrača zadate dužine. Može da se postavi početno stanje igre, da se izvodi jedan potez u igri, da se ispita da li je igra završena, da se dohvati indeks pobedničkog igrača (−1 ako je nerešeno) i da se trenutno stanje igre (koji je igrač na potezu, ko je pobedniik, ...) prikazuje na zadatoj grafičkoj komponenti tipa Label. Pri svakom potezu izvodi se potez jednog igrača po cikličnom redosledu, osim ako trenutni igrač dobija pravo na još jedan potez. XoX je igra koja se igra sa dva igrača na tabli 3´3. Na početku tabla je prazna. Igrači naizmenično stavljaju svoje figure na slobodna polja. Postavljene figure se više ne pomeraju. Pobednik je onaj igrač koji prvi zauzme tri uzastopna polja u nekoj vrsti, koloni ili dijagonali table. Igra je nerešena ako se tabla popuni bez pobednika. Dame je igra koja se igra sa dva igrača na tabli 8´8. Na početku oba igrača imaju po 8 pešaka (oznaka P odgovarajuće boje) prema rasporedu sa slike. Igrači naizmeničo vuku po jedan potez. Pešaci mogu da se pomeraju koso za po jedno mesto ka suprotnom kraju (gronjoj, odnosno donjoj ivici) table ili da ukoso preskoče jednu figuru praveći na taj način korak dužine dva. Tom prilikom dobija se pravo na još jedan potez istom figurom pod uslovom da se ponovo vrši preskakanje. Ako se preskače tuđa figura, ista se uklanja sa table. Kad pešak stigne do suprotne ivice table, pretvara se u damu (oznaka D odgovarajuće boje) koja može da se kreće u svim kosim pravcima (ne samo ka suoprotnoj ivici u odnosu na početni položaj) na isti način kao i pešaci. Igra se završava kad jednom igraču budu uklonjene sve figure. Uz konkretne igre postoje i odgovarajuće konkretne klase figura i igrača. Program korišćenjem grafičke korisničke površi omogućava izbor i odigravanje igre uz mogućnost prekidanja igre pre završetka. |