PROJEKTNI ZADATAK 1

R A T

Rat spada u grupu jednostavnijih, ali svakako ne i dosadnih kartaških igara, te se kao takva tradicionalno igra i u Gimnaziji za vrijeme odmora ili manje zanimljivih časova. Za one koji su manje upućeni u samu igru, slijede pravila.
Za igru, koju igraju dva igrača, koristi se standardni špil od 52 karte. Nakon što se špil promiješa, svaki igrač dobija pola karata, dakle njih 26. Istovremeno, oba igrača vuku prvu kartu iz špila. Onaj igrač koji ima jaču kartu, nosi i svoju i protivnikovu kartu. Karte redom od najjače do najslabije su: A K Q J 10 9 8 7, 6, 5, 4, 3, 2. Nakon toga oba igrača izvlače novu kartu sa vrha špila i postupak se nastavlja. Ukoliko se desi da oba igrača izvuku kartu iste jačine, dolazi do rata – svaki igrač sa vrha špila skida još četiri karte. Onaj čija je poslednja (četvrta) karta jača nosi svih deset karata (one dvije iste koje su izazvale rat, četiri svoje i četiri od protivnika). Nakon što oba igrača potroše originalnih 26 karata, igra se završava i pobjednik je onaj koji je odnio više karata.

ZADATAK

U programskom jeziku Java, napisati simulacije igre rata. Na početku se generiše niz od od 52 cijela broja, sa vrijednostima u intervalu [1, 52], s tim da ne smije biti ponavljanja brojeva u nizu. Zatim se generisani niz podijeli na dva niza od po 26 elemenata, te se ispišu karte koje svaki igrač posjeduje. Zatim se redom uzimaju prva, druga, … karta iz špila svakog igrača, ispisuje se koje su, te koji igrač ima jaču kartu. Ukoliko dođe do rata, potrebno je napisati da je došlo do rata, koje karte su izvučene i ko je bio jači. Na kraju ispisati koji je igrač pobijedio i koliko je karata imao na kraju igre.
S obzirom da svaki broj predstavlja jednu kartu, potrebno je smisliti način kako na osnovu broja karte odrediti o kojoj je karti riječ. Jedno riješenje je da karte podijele na četiri grupe: karte sa brojevima 1-13 spadaju u grupu “tref” - ¦, 14-26 spadaju u grupu “karo” - ¦, 27-39 spadaju u grupu “herc” - ¦, 40-52 spadaju u grupu “pik” - ¦. Karte u grupi su poredane od najmanje do najveće. Tako je na primjer, karta 18, u grupi karo i to kao peta po redu, dakle 6¦, dok je karta broj 48 deveta po redu u grupi pik, dakle J¦.
Za ispis “boja” u kartama, možete koristiti sledeće:
char pik = (char)9824, herc = (char)9829, karo = (char)9830, tref = (char)9827;

PRIMJER ISPISA

Karte prvog igrača: A¦, 6¦, 8¦, 9¦, J¦, K¦, …
Karte drugog igrača: J¦, Q¦, K¦, 2¦, 3¦, 8¦, …
Runda 1: Prvi igrač izvukao - A¦, drugi igračizvukao - J¦. Nosi prvi igrač.
Runda 2: Prvi igrač izvukao - 6¦, drugi igračizvukao - Q¦. Nosi drugi igrač.

Listing programa :

package zadatak;
import java.util.Scanner;
class P
}

Ispis na ekranu:

Index