public class CaiQuan {
/*人机猜拳程序
* 玩家类
* 成员变量:名字、积分
* 方法:出拳
* 电脑类
* 成员变量:名字、积分
* 方法:出拳
* 游戏类
* 成员变量:玩家的对象、电脑的对象、对战次数
* 方法:数据初始化、宣布游戏规则、计算比赛结果、宣布比赛结果
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建游戏类的对象并实例化
Game q=new Game();
//调用游戏类的开始游戏的方法
q.startGame();
}
}
/**电脑类*/
public class Computer {
/**电脑的名字*/
public String name;
/**电脑的积分*/
public int score;
/**
* 电脑的出拳
* @return 出拳结果:1、剪刀2、石头3、布
*/
public int showFist(){
//产生一个1-3之间的随机数
int show=(int)(Math.random()*3)+1;
//输出出拳的结果并返回
switch (show) {
case 1:
System.out.println(name+"的出拳:剪刀");
break;
case 2:
System.out.println(name+"的出拳:石头");
break;
case 3:
System.out.println(name+"的出拳:布");
break;
}
return show;
}
}
import java.util.Scanner;
/**游戏类*/
public class Game {
/**玩家的对象*/
public Person p;
/**电脑的对象*/
public Computer c;
/**对战次数*/
public int count;
/**数据初始化*/
public void initial() {
p=new Person();
c=new Computer();
count=0;
}
/**开始游戏*/
public void startGame() {
System.out.println("欢迎进入游戏世界");
System.out.println("人机猜拳游戏开始");
//告知游戏规则
System.out.println("出拳规则:1、剪刀2、石头3、布");
//声明一个变量存储是否退出系统
String exit="n";
Scanner input =new Scanner(System.in);
do {
//调用数据初始化方法
initial();
//选择对手的角色
System.out.println("请选择对手的角色(1、刘备2、孙权3、曹操):");
//声明一个变量存储对手的角色
int role=input.nextInt();
//给电脑添加名字
switch (role) {
case 1:
c.name="刘备";
break;
case 2:
c.name="孙权";
break;
case 3:
c.name="曹操";
break;
}
//提示输入玩家的名字
System.out.println("请输入你的名字:");
p.name=input.next();
//输出对战人员的信息
System.out.println(p.name+"VS"+c.name);
//询问是否开始游戏
System.out.println("要开始吗?(y/n)");
String start = input.next();
//开始每一局游戏
//定义一个变量存储用户的出拳编号
int pFist;
//定义一个变量存储电脑的出拳编号
int cFist;
while (start.equals("y")) {
//玩家出拳
pFist=p.showFist();
//电脑出拳
cFist=c.showFist();
//显示判决结果
if ((pFist==1&&cFist==1)||(pFist==2&&cFist==2)||(pFist==3&&cFist==3)){
System.out.println("结果:平局!");
} else if((pFist==1&&cFist==3)||(pFist==2&&cFist==1)||(pFist==3&&cFist==2)){
System.out.println("结果:玩家赢!");
}
else{
System.out.println("结果:电脑赢");
//电脑赢了积分加1
c.score++;
}
//对战次数加1
count++;
//询问玩家是否开始下一轮游戏
System.out.println("是否开始下一轮游戏?(y/n)");
start=input.next();
}
//显示比赛结果
showResult();
//询问玩家是否开始下一局游戏
System.out.println("要进行下一局游戏吗?()");
exit=input.next();
} while (true);
}
/**计算比赛结果
* @return 1、平局2、玩家赢3、电脑赢
*/
public int calcResult(){
if (p.score==c.score) {
return 1;
}else if(p.score>c.score){
return 2;
}else{
return 3;
}
}
/**显示比赛结果*/
public void showResult(){
//显示对战双方的名字
System.out.println(p.name+"VS"+c.name);
//显示对战此数
System.out.println("对战次数:"+count);
//显示双方最终的得分
System.out.println("名字\t分数");
System.out.println(p.name+"\t"+p.score);
System.out.println(c.name+"\t"+c.score);
//显示对战的结果
//声明一个变量存储对战结果,对战结果通过调用计算对战结果的方法得到
int result =caloResult();
switch (result) {
case 1:
System.out.println("结果:平手");
break;
case 2:
System.out.println("结果:玩家赢");
case 3:
System.out.println("结果:电脑赢");
break;
}
}
/**计算比赛结果
* @return1、平局2、玩家赢3、电脑赢*/
public int caloResult(){
return 0;
}
/**显示比赛结果*/
public void showReault(){
}
}
import java.util.Scanner;
/**游戏类*/
public class Game {
/**玩家的对象*/
public Person p;
/**电脑的对象*/
public Computer c;
/**对战次数*/
public int count;
/**数据初始化*/
public void initial() {
p=new Person();
c=new Computer();
count=0;
}
/**开始游戏*/
public void startGame() {
System.out.println("欢迎进入游戏世界");
System.out.println("人机猜拳游戏开始");
//告知游戏规则
System.out.println("出拳规则:1、剪刀2、石头3、布");
//声明一个变量存储是否退出系统
String exit="n";
Scanner input =new Scanner(System.in);
do {
//调用数据初始化方法
initial();
//选择对手的角色
System.out.println("请选择对手的角色(1、刘备2、孙权3、曹操):");
//声明一个变量存储对手的角色
int role=input.nextInt();
//给电脑添加名字
switch (role) {
case 1:
c.name="刘备";
break;
case 2:
c.name="孙权";
break;
case 3:
c.name="曹操";
break;
}
//提示输入玩家的名字
System.out.println("请输入你的名字:");
p.name=input.next();
//输出对战人员的信息
System.out.println(p.name+"VS"+c.name);
//询问是否开始游戏
System.out.println("要开始吗?(y/n)");
String start = input.next();
//开始每一局游戏
//定义一个变量存储用户的出拳编号
int pFist;
//定义一个变量存储电脑的出拳编号
int cFist;
while (start.equals("y")) {
//玩家出拳
pFist=p.showFist();
//电脑出拳
cFist=c.showFist();
//显示判决结果
if ((pFist==1&&cFist==1)||(pFist==2&&cFist==2)||(pFist==3&&cFist==3)){
System.out.println("结果:平局!");
} else if((pFist==1&&cFist==3)||(pFist==2&&cFist==1)||(pFist==3&&cFist==2)){
System.out.println("结果:玩家赢!");
}
else{
System.out.println("结果:电脑赢");
//电脑赢了积分加1
c.score++;
}
//对战次数加1
count++;
//询问玩家是否开始下一轮游戏
System.out.println("是否开始下一轮游戏?(y/n)");
start=input.next();
}
//显示比赛结果
showResult();
//询问玩家是否开始下一局游戏
System.out.println("要进行下一局游戏吗?()");
exit=input.next();
} while (true);
}
/**计算比赛结果
* @return 1、平局2、玩家赢3、电脑赢
*/
public int calcResult(){
if (p.score==c.score) {
return 1;
}else if(p.score>c.score){
return 2;
}else{
return 3;
}
}
/**显示比赛结果*/
public void showResult(){
//显示对战双方的名字
System.out.println(p.name+"VS"+c.name);
//显示对战此数
System.out.println("对战次数:"+count);
//显示双方最终的得分
System.out.println("名字\t分数");
System.out.println(p.name+"\t"+p.score);
System.out.println(c.name+"\t"+c.score);
//显示对战的结果
//声明一个变量存储对战结果,对战结果通过调用计算对战结果的方法得到
int result =caloResult();
switch (result) {
case 1:
System.out.println("结果:平手");
break;
case 2:
System.out.println("结果:玩家赢");
case 3:
System.out.println("结果:电脑赢");
break;
}
}
/**计算比赛结果
* @return1、平局2、玩家赢3、电脑赢*/
public int caloResult(){
return 0;
}
/**显示比赛结果*/
public void showReault(){
}
}
22、简化版本的类和对象人机猜拳
猜你喜欢
转载自blog.csdn.net/qq_44739706/article/details/90055198
今日推荐
周排行