记录学习
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!*/```
*/
来源:CSDN
作者:天凉好个秋.
链接:https://blog.csdn.net/weixin_43435032/article/details/104617344