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);
            }
        }
    }
}