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

为什么使用布尔值使这个用户与电脑骰子游戏更易读或更有效?

陶成化
2023-03-14

三重>对>无

如果是两个三倍:高值获胜。
如果是两对:高对值获胜。
如果是两个相同的对:比较第三个骰子,高值获胜。

该分配没有规定在
相同的赢辊的情况下该怎么办,例如:
2个相同的三组
2个相同的对,具有相同的第三模。

然而,我决定包括这些案例。
主要是因为不包括所有案例会让我很困扰。

我们应该使用这些预先编写的方法标题(如果需要,还可以使用其他方法):

//如果roll是三个
公共静态布尔itriple(int d1,int d2,int d3),则返回true

然后,程序将玩家的得分与计算机的得分进行比较。
得分高者获胜。

我的具体问题是,为什么我要在这里使用布尔值?

然后是一个后续问题:determineRound方法,它使用六个骰子INT值作为输入,而不是布尔值作为输入,有什么意义?

谢谢你的时间!!

main{

  int p1, p2, p3; // player's 3 dice
  int o1, o2, o3; // opponent's 3 dice

  int playerScore = getScore(p1, p2, p3);    
  int opponentScore = getScore(o1, o2, o3);  

  if (playerScore > opponentScore) {
    System.out.println("Congrats, you win!");
  } else if (playerScore < opponentScore) {
    System.out.println("Sorry - you lose.");
  } else {
    System.out.println("It's a tie.");
  }
} // end main


/***
* Takes value of 3 dice as input.    
* Computes and returns a score.  
* Note: The formulas / resulting scores aren't specific,  
* they just preserve the RANK of roll possibilities from worst 
* to best.
* i.e., lower scores have lower rank 
*/

public static int getScore(int d1, int d2, int d3) {
  int score = 0; // default score

  if ((d1==d2) && (d2==d3)) {              
    score = (((100 * d1) + d1) * 100 );  // score for TRIPLE
  } else if ((d1==d2) && (d2!=d3)) {         
    score = ((100 * d1) + d3);           // score for PAIR d1, d2
  } else if ((d2==d3) && (d3!=d1)) {        
    score = ((100 * d2) + d1);           // score for PAIR d2, d3
  } else if ((d3==d1) && (d1!=d2)) {      
    score = ((100 * d3) + d2);           // score for PAIR d1, d3
  }
  return score;  // score for NOT TRIPLE and NOT PAIR
  } // end getScore

共有1个答案

郭曾笑
2023-03-14

一个计算机程序有两个受众-

  • 预期运行它的计算机,
  • 希望将来阅读、理解和维护它的程序员。

boolean这个词是向程序员传达内容的一种简捷方式--也就是说,这个变量或这个方法的返回值可以是true或false,而不是其他。

 类似资料:
  • 有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢

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

  • 我试图正确地结束这个游戏,但是做而循环或我正在做的事情导致游戏继续进行。如果有人进一步建议我在得分达到99分后结束这场比赛,我将不胜感激。我已经粘贴了两个类源。我也是学生,所以请原谅我。 类 如果需要,其他类,但它与分数无关,因为它主要用于确定一些值:

  • 今天,我遇到了扫描函数的问题。假设您有一个类似于以下示例的结构。 如果运行以下代码 它会打印出来的 原因是fscanf函数假定a.bVal是一个整数,并覆盖a.nVal的前3个字节。这个问题可以通过下面的脏解来解决。 我的问题是,除了解释的解决方案之外,有没有更干净、更直接的方法来避免这个问题?

  • 1-4:玩家从1-6随机向前移动 5:玩家从4-11向前移动一个随机量(随机8+4) 6:玩家移动到另一个玩家所在的位置(见下文) 我是新的代码编写(这是我的第四个程序编写),并没有广泛的知识知道什么是错误的。代码不需要熟练地完成,我只想让它正常工作。我们非常感谢您的帮助。 }

  • 我是java新手,我正在尝试创建一个基本的刽子手游戏,我已经为这一轮创建了方法,但我一直在创建一个布尔值,该值将使游戏进入下一轮(如果玩家输入了错误的字母,他将失去一次猜测字母的尝试;他可能只会出错10次;如果猜测,他将继续游戏)。我的代码到目前为止,我甚至尝试通过if/else语句排除布尔值,但对我来说它似乎非常愚蠢。任何帮助都是有用的。非常感谢。