当前位置: 首页 > 知识库问答 >
问题:

关于如何比较骰子并获得20分的2人骰子游戏

林俊英
2023-03-14

每个玩家掷两个骰子 他们比较每个掷骰子上的最高数字。人数较大的玩家将获得2分。他们比较每个卷上的最低数字。人数较大的玩家将获得1分。如果数字是平局,则不会获得积分。第一个获得20总分的玩家获胜。我该如何做比较部分?这是我到目前为止的代码

import java.util.Scanner;
import java.util.Random;

public class DiceGame
{
     public static void main(String[] args) // method 1
          {
      String again = "y";  // To control the loop
      int die1;            // To hold the value of die #1
      int die2;            // to hold the value of die #2
      int die3;
      int die4;                  
      // Create a Scanner object to read keyboard input.
      Scanner keyboard = new Scanner(System.in);
      
      // Create a Random object to generate random numbers.
      Random rand = new Random();
      
      // Simulate rolling the dice.
      while (again.equalsIgnoreCase("y"))
      {
         System.out.println("Rolling the dice...");
         die1 = rand.nextInt(6) + 1;
         die2 = rand.nextInt(6) + 1;
         System.out.println("Player 1's values are:");
         System.out.println(die1 + " " + die2);
         
         die3 = rand.nextInt(6) + 1;
         die4 = rand.nextInt(6) + 1;
         System.out.println("Player 2's values are:");
         System.out.println(die3 + " " + die4);

         //method 2 = comparing the numbers
          public static void compareRoll(int die1, die2, die3, die4)           
          {
         
               {
         if(die1 > die2 && die3 > die4)
                     
             else if(die1 < die2 && die3 < die4)
                       
                  else
            
        }
        }
      
         
         //method 3 = getting total number of scores
         
         System.out.print("Roll them again (y = yes)? ");
         again = keyboard.nextLine();
      }
   }

   }

共有1个答案

姜天宇
2023-03-14

我看到类似这样的东西:

public void compareDices(int die1, int die2, int die3, int die4)
    int firstMax = Math.max(die1, die2);
    int secMax = Math.max(die3, die4);
    if(firstMax > secMax) {
        // add 2 points to first player
    } else if(firstMax < secMax) {
        // add 2 points to sec player
    }

    int firstMin = Math.min(die1, die2);
    int secMin = Math.min(die3, die4);
    if(firstMin > secMin) {
        // add 1 point to first player
    } else if(firstMin < secMin) {
        // add 1 point to sec player
    }
 类似资料:
  • 有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢

  • 我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:

  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 我在创造一个骰子游戏。我被卡住了,我希望游戏比较每个玩家的滚动输出,这样得分最高的玩家就赢了。但是,我真的不知道该怎么做。

  • 我是Java的初学者,所以我不太懂。我在大学的课程中学习Java,我正在为作业做骰子游戏。