Hallo
Ik moet een programma programmeren in java met het programma IntelliJ ,
Het spel Yathzee moet gemaakt worden , en ik heb vrijwel alles al buiten main, om het programma te testen eigelijk
zou iemand mij kunnen helpen
De klasse dobbelsteen
De klasse speler:
De klasse Spel:
Nu moet ik iets maken om het programma te testen , please iemand help
Ik moet een programma programmeren in java met het programma IntelliJ ,
Het spel Yathzee moet gemaakt worden , en ik heb vrijwel alles al buiten main, om het programma te testen eigelijk
zou iemand mij kunnen helpen
De klasse dobbelsteen
Code:
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;
}
}
De klasse speler:
Code:
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;
}
}
De klasse Spel:
Code:
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);
}
}
}
}
Nu moet ik iets maken om het programma te testen , please iemand help