如何同时掷出2个骰子并保持记录其总和

问题描述 投票:0回答:1

需要编写一个模拟骰子游戏的程序。 2个玩家交替轮流滚动2个骰子。在每个回合中,他们记录两个骰子的总和并将其加到它们的总数中。如果玩家掷骰子(两个骰子都具有相同的值),则玩家会再次掷骰子。第一个达到75分的玩家将获胜

import java.util。*;

公共类DieGame {

public static void main(String [] args){

Random generator = new Random ();

int die1;
int die2;
int sum;

int sum = 0;

if (die1==die2)
{     
    do 
    {
    die1 = generator.nextInt(6) + 1;
    die2 = generator.nextInt(6) + 1;
    sum = die1 + die2;
    }
    while (sum>=75)
}

}}

java dice javahelp
1个回答
0
投票

您的代码上的注释(在注释中已经有些注释):if并没有做太多事情,因为退出循环,循环条件被反转且不完整,最后应该保留两个玩家的总和,而不是仅1。

基本选项可以是:`随机发生器=新的Random();

    int die1, die2;
    int[] sumForPlayers = { 0, 0 };

    int currentPlayerIndex = 0;

    do {
        die1 = generator.nextInt(6) + 1;
        die2 = generator.nextInt(6) + 1;

        sumForPlayers[currentPlayerIndex] += die1 + die2;

        if (die1 != die2) {
            currentPlayerIndex = (currentPlayerIndex + 1) % 2;
        }
    } while ((sumForPlayers[0] < 75) && (sumForPlayers[1] < 75));`

然后您可以检查哪个玩家获胜,并在循环后显示分数和一些消息:

if (sumForPlayers[0] >= 75) { // Player 1 win! let the world know } else { // Player 2 win! Show the score details if needed }

干杯!

© www.soinside.com 2019 - 2024. All rights reserved.