黑马程序员技术交流社区
标题:
猜数字游戏,虽不是原创,但对于初学者来说,是一个很好的例子,供大家参考。
[打印本页]
作者:
shw16888
时间:
2015-4-9 15:37
标题:
猜数字游戏,虽不是原创,但对于初学者来说,是一个很好的例子,供大家参考。
/**
猜数字游戏
摘要
这个游戏涉及到game与player两个对象。game会产生介于0~9之间的随机数字,而3个player对象会
猜测该数字
类:
GuessGame.class Player.class GameLauncher.class
程序逻辑
1.GameLanucher这个类带有main()方法,是应用程序的入口点。
2.main()中会创建出GuessGame对象,并调用它的startGame方法。
3.startGame()方法是游戏的起点。它会创建3个player,然后挑出要猜测的随机数字。它会
要求player猜测并检查结果,过程会被列出来
*/
public class GuessGame
{
//用3个实例变量分别表示3个Player
Player p1;
Player p2;
Player p3;
public void startGame()
{
//创建出Player对象
p1=new Player();
p2=new Player();
p3=new Player();
//声明3个变量来保存是否猜中
int guessp1=0;
int guessp2=0;
int guessp3=0;
//声明3个变量来保存猜中的数字
boolean p1isRight=false;
boolean p2isRight=false;
boolean p3isRight=false;
//产生谜底数字
int targetNumber=(int)(Math.random() *10);
System.out.println("I'm thinking of a number between 0 and 9....");
while(true){
System.out.println("Number to guess is "+targetNumber);
// 调用Player的guess()方法
p1.guess();
p2.guess();
p3.guess();
//取得每个Player所猜测的数字并将它列出
guessp1=p1.number;
System.out.println("Player one guessed" +guessp1);
guessp2=p2.number;
System.out.println("Player one guessed" +guessp2);
guessp3=p3.number;
System.out.println("Player one guessed" +guessp3);
//检查是否猜中,若是猜中则去设定是否猜中的变量
if (guessp1==targetNumber)
{
p1isRight=true;
}
if (guessp2==targetNumber)
{
p2isRight=true;
}
if (guessp3==targetNumber)
{
p3isRight=true;
}
//如果有一或多个猜中。。。
if (p1isRight||p2isRight||p3isRight)
{
System.out.println("We have a winner!");
System.out.println("Player one got it right?"+p1isRight);
System.out.println("Player two got it right?"+p2isRight);
System.out.println("Player three got it right?"+p3isRight);
System.out.println("Game is Over!");
break;//游戏结束,终止循环
}
else{
//都没有猜到,所以要继续下去。重复循环继续猜下去
System.out.println("Players will have to try again.");
}//if/else结束
}//循环结束
}//方法结束
}//类结束
//运行猜数字游戏
public class Player
{
int number=0;//要被猜的数字
public void guess(){
number=(int)(Math.random()*10);
System.out.println("I'm guessing "+number);
}
}
public class GameLauncher
{
public static void main(String[] args)
{
GuessGame game =new GuessGame();
game.startGame();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2