在进行步骤之前,以下是游戏一般规则的概述:
首先,我们将调用类猜测游戏,并添加空的主函数如下:
public class GuessingGame {
public static void main ( String [] args ) {
}
}
只有这些行,该程序是完全有效的。您可以编译和运行,但还没有向控制台显示任何内容。
要生成一个数字以后将被用户猜测,让我们声明整数型变量computernumber并使用此说明: *(Math.random() 100 + 1)在1至100的范围内为其分配一个随机数。
public class GuessingGame {
public static void main ( String [] args ) {
int computerNumber = ( int ) ( Math . random ()* 100 + 1 );
System . out . println ( "The correct guess would be " + computerNumber );
}
}
目前,第四行将随机数显示给用户,但是在此游戏的最终版本运行时,该行未打印。目前,此行只是记录了对控制台验证的正确答案。
现在,用户将猜测计算机生成的随机数。为了从用户那里获得答案,我们声明了另一个INT可变Useranswer并初始化它。
这很简单,您可以通过初始化INT变量计数来做到这一点: int count = 1 。此外,这将显示“输入”对话框,直到用户猜测正确的数字为止。
步骤5:检查用户答案很明显,不能只给用户一次尝试猜测该游戏中的数字。因此,我们需要为用户提供尽可能多的尝试,并且要检查所有尝试中猜测的数字。计算尝试的数量已经在早期步骤中完成。
现在,使用以下代码开始使用循环时使用计算机的随机数来检查用户的答案: while(useranswer!= computernumber) 。下面说明了“ while”循环下的大部分代码:
while ( userAnswer != computerNumber )
{
String response = JOptionPane . showInputDialog ( null ,
"Enter a guess between 1 and 100" , "Guessing Game" , 3 );
userAnswer = Integer . parseInt ( response );
JOptionPane . showMessageDialog ( null , "" + determineGuess ( userAnswer , computerNumber , count ));
count ++;
}
随着参数从循环传递到确定gues ,我们需要检查用户猜测的数字与计算机生成的数字的距离有多近,并显示了所做的尝试次数。将根据用户的数字输入执行五个条件语句。
public static String determineGuess ( int userAnswer , int computerNumber , int count ){
if ( userAnswer <= 0 || userAnswer > 100 ) {
return "Your guess is invalid" ;
}
else if ( userAnswer == computerNumber ){
return "Correct! n Total Guesses: " + count ;
}
else if ( userAnswer > computerNumber ) {
return "Your guess is too high, try again. n Try Number: " + count ;
}
else if ( userAnswer < computerNumber ) {
return "Your guess is too low, try again. n Try Number: " + count ;
}
else {
return "Your guess is incorrect n Try Number: " + count ;
}
}