Hi
I need some help with a game i need to programm in java , its called Yathzee.
I work in the program , IntelliJ
I have most of the code but now i need to make a main, a tester to test the program .
Could someone please tell me how to make a tester so i can test my program in IntelliJ
The class dobbelsteen -> Dice
public class Dobbelsteen { private int aantalOgen = 0; private boolean StaatVast = false; private Random rnd = new Random(); public Dobbelsteen() { } public int Gooi(){ return rnd.nextInt(6)+1; } public void zetVast(){ StaatVast = true; } public void zetLos(){ StaatVast = false; } public int getAantalOgen() { return aantalOgen; } public boolean isStaatVast() { return StaatVast; } }
The class Player
public class Speler { private String naam = ""; private int aantalWorpen = 0; private int[] punten = new int[14]; //omdat er ook nog een bonus van 35 punten verdiend kan worden is er 1 vakje extra public Speler(String naam) { this.naam = naam; } public String getNaam() { return naam; } public void setNaam(String naam) { this.naam = naam; } public void verhoogAantalWorpen(){ aantalWorpen++; } public void herstartAantalWorpen(){ //zet het aantal worpen terug op nul aantalWorpen = 0; } public int[] getPunten() { return punten; } public void setPunten(int[] punten) { this.punten = punten; } }
The class game:
public class Spel { private int aantalSpelers; ArrayList<Speler> spelers = new ArrayList<Speler>(); ArrayList<Dobbelsteen> dobbelstenen = new ArrayList<Dobbelsteen>(); Scanner scanner = new Scanner(System.in); public Spel(int aantalSpelers) { //maak een nieuw spel aan met x aantal spelers this.aantalSpelers = aantalSpelers; for (int i=0; i==aantalSpelers; i++) { //herhaalt x aantal keer om een lijst met spelers te maken System.out.println("Geef de naam van de speler in:"); Speler s = new Speler(scanner.nextLine()); spelers.add(s); } for(int j=0; j==3; j++){ Dobbelsteen d = new Dobbelsteen(); //maak een lijst met dobbelstenen dobbelstenen.add(d); } } public void zetDobbelsteenVast(int i){ //Zet een dobbelsteen op index i vast Dobbelsteen d = new Dobbelsteen(); d=dobbelstenen.get(i); d.zetVast(); dobbelstenen.set(i, d); } public void zetDobbelsteenLos(int i){ //Zet een dobbelsteen op index i los Dobbelsteen d = new Dobbelsteen(); d=dobbelstenen.get(i); d.zetLos(); dobbelstenen.set(i, d); } public void gooi(){ //Gooi met alle dobbelstenen die niet vast staan int teller = 0; for (Dobbelsteen dobbelsteen : dobbelstenen) { if(!dobbelsteen.isStaatVast()){ dobbelsteen.Gooi(); dobbelstenen.set(teller++, dobbelsteen); } } } public int controleerPunten(int soort){ //controleer of de gewilde punten mogelijk zijn geeft het aantal punten terug en als het niet klopt -1 int resultaat = 0; switch(soort){ case 1: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==1){ resultaat += 1; } } return resultaat; case 2: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==2){ resultaat += 2; } } return resultaat; case 3: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==3){ resultaat += 3; } } return resultaat; case 4: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==4){ resultaat += 4; } } return resultaat; case 5: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==5){ resultaat += 5; } } return resultaat; case 6: for (Dobbelsteen dobbelsteen : dobbelstenen) { if(dobbelsteen.getAantalOgen()==6){ resultaat += 6; } } return resultaat; case 7: //TOAK for (Dobbelsteen dobbelsteen : dobbelstenen) { for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { if(dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen1) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen1) != dobbelstenen.indexOf(dobbelsteen2)){ if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() && dobbelsteen1.getAantalOgen() == dobbelsteen2.getAantalOgen()){ for (Dobbelsteen dobbelsteen4 : dobbelstenen) { resultaat += dobbelsteen4.getAantalOgen(); } return resultaat; } } } } } break; case 8: //FOAK for (Dobbelsteen dobbelsteen : dobbelstenen) { for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { for (Dobbelsteen dobbelsteen3 : dobbelstenen) { if(dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen1) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen) == dobbelstenen.indexOf(dobbelsteen3) ||dobbelstenen.indexOf(dobbelsteen1) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen1) == dobbelstenen.indexOf(dobbelsteen3) || dobbelstenen.indexOf(dobbelsteen2) == dobbelstenen.indexOf(dobbelsteen3)){ if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() && dobbelsteen.getAantalOgen() == dobbelsteen2.getAantalOgen() && dobbelsteen.getAantalOgen() == dobbelsteen3.getAantalOgen()){ for (Dobbelsteen dobbelsteen4 : dobbelstenen) { resultaat += dobbelsteen4.getAantalOgen(); } return resultaat; } } } } } } break; case 9: //Kleine straat for (Dobbelsteen dobbelsteen : dobbelstenen) { for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { for (Dobbelsteen dobbelsteen3 : dobbelstenen) { if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() - 1 && dobbelsteen1.getAantalOgen() == dobbelsteen2.getAantalOgen() - 1 && dobbelsteen2.getAantalOgen() == dobbelsteen3.getAantalOgen() -1){ return 30; } } } } } break; case 10: //Grote straat for (Dobbelsteen dobbelsteen : dobbelstenen) { for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { for (Dobbelsteen dobbelsteen3 : dobbelstenen) { for (Dobbelsteen dobbelsteen4 : dobbelstenen) { if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() - 1 && dobbelsteen1.getAantalOgen() == dobbelsteen2.getAantalOgen() - 1 && dobbelsteen2.getAantalOgen() == dobbelsteen3.getAantalOgen() - 1 && dobbelsteen3.getAantalOgen() == dobbelsteen4.getAantalOgen() -1){ return 40; } } } } } } break; case 11: //full house = TOAK + Paar for (Dobbelsteen dobbelsteen : dobbelstenen) { //TOAK for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { for (Dobbelsteen dobbelsteen3 : dobbelstenen) { for (Dobbelsteen dobbelsteen4 : dobbelstenen) { if(dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen1) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen1) != dobbelstenen.indexOf(dobbelsteen2)){ if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() && dobbelsteen1.getAantalOgen() == dobbelsteen2.getAantalOgen()){ if(dobbelsteen3.getAantalOgen() == dobbelsteen4.getAantalOgen()){ //paar return 25; } } } } } } } } break; case 12: //Kans for (Dobbelsteen dobbelsteen : dobbelstenen) { resultaat += dobbelsteen.getAantalOgen(); } return resultaat; case 13: //yathzee for (Dobbelsteen dobbelsteen : dobbelstenen) { for (Dobbelsteen dobbelsteen1 : dobbelstenen) { for (Dobbelsteen dobbelsteen2 : dobbelstenen) { for (Dobbelsteen dobbelsteen3 : dobbelstenen) { for (Dobbelsteen dobbelsteen4 : dobbelstenen) { if(dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen1) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen) == dobbelstenen.indexOf(dobbelsteen3) ||dobbelstenen.indexOf(dobbelsteen1) != dobbelstenen.indexOf(dobbelsteen2) || dobbelstenen.indexOf(dobbelsteen1) == dobbelstenen.indexOf(dobbelsteen3) || dobbelstenen.indexOf(dobbelsteen2) == dobbelstenen.indexOf(dobbelsteen3) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen4) || dobbelstenen.indexOf(dobbelsteen1) != dobbelstenen.indexOf(dobbelsteen4) || dobbelstenen.indexOf(dobbelsteen2) != dobbelstenen.indexOf(dobbelsteen4) || dobbelstenen.indexOf(dobbelsteen) != dobbelstenen.indexOf(dobbelsteen3)){ if(dobbelsteen.getAantalOgen() == dobbelsteen1.getAantalOgen() && dobbelsteen1.getAantalOgen() == dobbelsteen2.getAantalOgen() && dobbelsteen2.getAantalOgen() == dobbelsteen3.getAantalOgen() && dobbelsteen3.getAantalOgen() == dobbelsteen4.getAantalOgen()){ return 50; } } } } } } } } return -1; } private void bonusPunten(){ //checkt of bonuspunten gegeven mogen worden + geeft ze int[] punten = new int[14]; for (Speler speler : spelers) { punten = speler.getPunten(); if(punten[0]+punten[1]+punten[2]+punten[3]+punten[4]+punten[5] > 35){ punten[14] = 35; speler.setPunten(punten); } } } }