三个人猜数字-java

南楼画角 提交于 2020-03-03 01:21:47

记录学习

head–first-java

摘要

:这个游戏涉及到game与player两个对象。game会产生0~9之间的随机数,三个player对象会猜测数字

共有三个类:
1、Guessgame.class
2、Player.class
3、GameLauncher.class
程序逻辑

GameLauncher这个类带有main()方法 是此程序的入口点,main中会创建出GuessGame对象,并调用它的startGame()方法
startGame是游戏的起点。它会创建三个player,然后挑出要猜测的数字。它会要求player猜测并检查结果,过程会被逐一列出来 并且显示

GuessGame.class

public class GuessGame{
Player p1;
Player p2;
Player p3;
//用三个实例变量分别表示3个player对象
public void startGame(){
p1=new Player();
p2=new Player();
p3=new Player();
//创建三个实例对象
int guessp1=0;
int guessp2=0;
int guessp3=0;
//用来保存是否猜中的变量
boolean p1isRight= false;
boolean p2isRight=false;
boolean p3isRight=false;
//声明三个变量来保存猜测的数字
int targetNumber=(int)(Math.random()*10);
//产生一个谜底数字
System.out.println("让我想一个0~9之间的数字出来");

while(true){
//注意此处:while(true)作为无限循环,经常在不知道循环次数的时候使用,并且需要在循环内使用break才会停止
//因为这里是不知道循环的次数的,所以要用while(true)
System.out.println("Number to guess is"+ targetNumber);
p1.guess();
p2.guess();
p3.guess();
//调用player的guess()方法
guessp1=p1.number;
System.out.println("Player one guessed"+guessp1);
guessp2=p2.number;
System.out.println("Player two guessed"+guessp2);
guessp3=p3.number;
System.out.println("Player three guessed"+guessp3);
//取得每个player所猜测的数字并且将它列出
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 结束括号

		}//循环结束(while(true)循环)
	}//方法结束(startGame方法结束)
}//类结束(GuessGame类)

Player.class

public class Player{
     int number=0;
     public void guess(){
     number=(int)(Math.random()*10);
          System.out.println("I'm guessing "+ number);
     }

} 

GameLauncher.class


public class GameLauncher
{
     public static void main(String[] args)
     {
          GuessGame game=new GuessGame();
          game.startGame();
     }
}

以下是完整

*//完整代码*
public class GuessGame{
Player p1;
Player p2;
Player p3;
public void startGame(){
p1=new Player();
p2=new Player();
p3=new Player();

int guessp1=0;
int guessp2=0;
int guessp3=0;

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);
p1.guess();
p2.guess();
p3.guess();
guessp1=p1.number;
System.out.println("Player one guessed"+guessp1);
guessp2=p2.number;
System.out.println("Player two guessed"+guessp2);
guessp3=p3.number;
System.out.println("Player three 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");
}

}
}
}


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();
     //     System.out.println("Hello World!");
     }
}
 /*
 //输出效果
I'm thinking of a number between 0 and 9...
Number to guess is3
I'm guessing 1
I'm guessing 7
I'm guessing 0
Player one guessed1
Player two guessed7
Player three guessed0
Players will have to try again
Number to guess is3
I'm guessing 5
I'm guessing 6
I'm guessing 5
Player one guessed5
Player two guessed6
Player three guessed5
Players will have to try again
Number to guess is3
I'm guessing 3
I'm guessing 3
I'm guessing 0
Player one guessed3
Player two guessed3
Player three guessed0
We have a winner!
Player one got it right?true
Player two got it right?true
Player three got it right?false
Game is over!*/```
*/
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!