La simulation de Jeu de Craps en JAVA

Je suis nouveau sur Java et essayais d'apprendre en faisant quelques exercices que j'ai trouvé en ligne. Donc veuillez m'excuser si c'est trop naïf.

Cet exercice était de l'écriture d'un programme pour le jeu de craps avec les règles suivantes:

Dans le jeu de craps, un pari de ligne de laisser se déroule comme suit: Deux à six faces de dés
roulé; le premier lancer de dés dans un jeu de craps est appelé le “come out roll.”
Un rouleau de sortir de 7 ou 11 gagne automatiquement, et un rouleau de sortir de 2, 3, ou 12
perd automatiquement. Si 4, 5, 6, 8, 9, ou 10 est roulé sur le come out roll, le nombre de
devient le “point”. Le joueur continue à rouler les dés jusqu'à ce que ce soit 7 ou le point est
roulé. Si le point est roulé en premier, puis le joueur gagne le pari. Si des 7 est roulés d'abord,
ensuite, le joueur perd.
Écrire un programme qui simule un jeu de craps en utilisant ces règles sans l'homme
d'entrée. Au lieu de demander un pari, le programme doit calculer si le
le joueur gagne ou perd. Le programme doit simuler rouler les deux dés et
calculer la somme. Ajouter une boucle de sorte que le programme joue de 10 000 jeux. Ajouter
c ounters que de compter le nombre de fois que le joueur gagne, et combien de fois la
joueur perd. À la fin du de 10 000 jeux, calculer la probabilité de gagner
[c'est à dire, Wins /Wins (+ Pertes)] et la sortie de cette valeur. Sur le long terme, qui
qui va gagner le plus de jeux, à vous ou à la maison?

Voici le code que j'ai écrit :

//GAME OF CRAPS
public static void main (String[] args)
{
int dice1 = 0;
int dice2 = 0;
int scorenew = 0;
int point = 0;
int wins = 0;
int loss = 0;
for (int i = 0; i < 10000; i++)
{
System.out.println ("roll the dices");
int score = roll (dice1, dice2);
System.out.println ("\n score " + score);
if (score == 11 || score == 7)
{
System.out.println ("\n Score = " + score);
System.out.println ("you win");
wins = wins + 1;
}
if (score == 2 || score == 3 || score == 12)
{
System.out.println ("\n Score = " + score);
System.out.println ("you lose");
loss = loss + 1;
}
else if (score == 4 || score == 5 || score == 6 || score == 8 || score == 9 || score == 10)
{
point = point + score;
System.out.println ("\n Point = " + point);
do
{
scorenew = roll (dice1, dice2);
System.out.println ("\n Score new = " + scorenew);
if (scorenew == point)
{
System.out.println ("\n you win");
wins = wins + 1;
point = 0;
break;
}
if (scorenew == 7)
{
System.out.println ("\n you lose");
point = 0;
loss = loss + 1;
break;
}
} while (scorenew != point || scorenew != 7);
}
}
System.out.println ("\n number of wins = " + wins
+ " and number of loss = " + loss +
" and the probability for winning a game = " + (double) wins / (wins + loss));
}
public static int roll (int d1, int d2)
{
Random randomGenerator = new Random ();
int dice1 = randomGenerator.nextInt (6) + 1;
int dice2 = randomGenerator.nextInt (6) + 1;
System.out.println ("\n dice1 = " + dice1 + " dice2 = " + dice2);
int score = dice1 + dice2;
return score;
}

Chaque fois que je lance le code de la condition du while est exécutée en premier, donc svp quelqu'un peut m'aider à comprendre où je vais mal?