import java.util.Scanner;
public class Game {
Person person ; // 甲方
Computer computer ; // 乙方“
int count ; // 对战次数
//游戏初始化
public void initial()
{
this.person = new Person();
this.computer = new Computer();
this.count = 0;
}
//开始游戏:选择电脑角色
public void startGame() {
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------欢迎进入游戏世界--------------------------------\n\n");
System.out.println("\t\t*********************");
System.out.println("\t\t******猜拳开始*******");
System.out.println("\t\t*********************\n\n");
System.out.println("出拳规则:1.石头 2.剪刀 3.布");
System.out.print("请输入你的姓名:");
person.name = scanner.next();
int i = 0;
do{
System.out.print("请选择对方角色(1:刘备 2:孙权 3:曹操):");
i = scanner.nextInt();
switch (i) {
case 1:
System.out.println("你选择了刘备对战");
this.computer.name = "刘备";
break;
case 2:
System.out.println("你选择了孙权对战");
this.computer.name = "刘备";
break;
case 3:
System.out.println("你选择了曹操对战");
this.computer.name = "曹操";
break;
default:
System.out.println("输入错误,重新选择");
break;
}
}while( i <1 | i > 3);
System.out.print("要开始吗?(y/n):");
String con = scanner.next();
//开始游戏:玩家和电脑出拳比较
do {
System.out.println("--------------------------------------------------------");
System.out.println(computer.name + " VS " + person.name);
int perFist;
int compFist;
if (con.equals("y") | con.equals("Y")) {
perFist = person.showFist();
compFist = computer.showFist();
if (perFist == compFist) {
System.out.println("结果:和局,真衰!");
}else if((perFist == 1 && compFist == 2) || (perFist == 2 && compFist== 3) || (perFist == 3 && compFist == 1))
{
person.score++;
System.out.println("结果: 恭喜, 你赢了!");
}else {
System.out.println("结果: 你输了,真笨!");
computer.score++;
}
}
System.out.print("是否继续下一轮?(y/n):");
con = scanner.next();
this.count++;
} while (con.equals("y") | con.equals("Y"));
this.showResult();
}
//显示对战结果
public void showResult()
{
System.out.println("--------------------------------------");
System.out.println(computer.name + " VS " + person.name);
System.out.println("对战次数:"+ count);
int result = calcResult();
if(result == 1){
System.out.println("结果:打成平手,下次再和你一分高下!");
}else if(result == 2){
System.out.println("结果:恭喜恭喜!"); //用户获胜
}else{
System.out.println("结果:呵呵,笨笨,下次加油啊!"); //计算机获胜
}
System.out.println("---------------------------------------");
}
//返回对战积分结果 1代表打平 2代表玩家胜 0代表电脑胜
public int calcResult()
{
if (person.score == computer.score) {
return 1;
}else if(person.score > computer.score)
{
return 2;
}
return 0;
}
}
public class Game {
Person person ; // 甲方
Computer computer ; // 乙方“
int count ; // 对战次数
//游戏初始化
public void initial()
{
this.person = new Person();
this.computer = new Computer();
this.count = 0;
}
//开始游戏:选择电脑角色
public void startGame() {
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------欢迎进入游戏世界--------------------------------\n\n");
System.out.println("\t\t*********************");
System.out.println("\t\t******猜拳开始*******");
System.out.println("\t\t*********************\n\n");
System.out.println("出拳规则:1.石头 2.剪刀 3.布");
System.out.print("请输入你的姓名:");
person.name = scanner.next();
int i = 0;
do{
System.out.print("请选择对方角色(1:刘备 2:孙权 3:曹操):");
i = scanner.nextInt();
switch (i) {
case 1:
System.out.println("你选择了刘备对战");
this.computer.name = "刘备";
break;
case 2:
System.out.println("你选择了孙权对战");
this.computer.name = "刘备";
break;
case 3:
System.out.println("你选择了曹操对战");
this.computer.name = "曹操";
break;
default:
System.out.println("输入错误,重新选择");
break;
}
}while( i <1 | i > 3);
System.out.print("要开始吗?(y/n):");
String con = scanner.next();
//开始游戏:玩家和电脑出拳比较
do {
System.out.println("--------------------------------------------------------");
System.out.println(computer.name + " VS " + person.name);
int perFist;
int compFist;
if (con.equals("y") | con.equals("Y")) {
perFist = person.showFist();
compFist = computer.showFist();
if (perFist == compFist) {
System.out.println("结果:和局,真衰!");
}else if((perFist == 1 && compFist == 2) || (perFist == 2 && compFist== 3) || (perFist == 3 && compFist == 1))
{
person.score++;
System.out.println("结果: 恭喜, 你赢了!");
}else {
System.out.println("结果: 你输了,真笨!");
computer.score++;
}
}
System.out.print("是否继续下一轮?(y/n):");
con = scanner.next();
this.count++;
} while (con.equals("y") | con.equals("Y"));
this.showResult();
}
//显示对战结果
public void showResult()
{
System.out.println("--------------------------------------");
System.out.println(computer.name + " VS " + person.name);
System.out.println("对战次数:"+ count);
int result = calcResult();
if(result == 1){
System.out.println("结果:打成平手,下次再和你一分高下!");
}else if(result == 2){
System.out.println("结果:恭喜恭喜!"); //用户获胜
}else{
System.out.println("结果:呵呵,笨笨,下次加油啊!"); //计算机获胜
}
System.out.println("---------------------------------------");
}
//返回对战积分结果 1代表打平 2代表玩家胜 0代表电脑胜
public int calcResult()
{
if (person.score == computer.score) {
return 1;
}else if(person.score > computer.score)
{
return 2;
}
return 0;
}
}