package com.liao618_1CaiQuanYouXi;
import java.util.Scanner;
public class TestCaiQuanYouXi {
Scanner scan = new Scanner(System.in);
private String userName;// 玩家名字
private String pcName;// 电脑名字
private int watnum;// 对战次数
private int userFraction;// 玩家分数
private int pcFraction;// 电脑分数
// 0构造方法
public TestCaiQuanYouXi() {
start();
}
// 1开始
private void start() {
System.out.println("\t\t******************");
System.out.println("\t\t*** 猜拳 ,开始 ***");
System.out.println("\t\t******************");
System.out.println();
Rule();
}
// 2规则
private void Rule() {
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
getNames();
}
// 3.1选择角色,pcusername
private void inPcName() {
System.out.print("请选择对方角色:1.刘备 2.孙权 3.曹操");
switch (scan.nextInt()) {
case 1:
setPcName("刘备");
break;
case 2:
setPcName("孙权");
break;
case 3:
setPcName("曹操");
break;
default:
System.out.println("输入错误,请重新输入:");
inPcName();
}
}
// 3.2输入玩家的名字,pcname
private void inUserName() {
System.out.print("请输入你的姓名:");
setUserName(scan.next());
}
// 3给双方取名字
private void getNames() {
inPcName();
inUserName();
System.out.println(getUserName() + " vs " + getPcName() + " 对战");
System.out.println();
ynStart();
}
// 4要开始了么?
private void ynStart() {
System.out.print("要开始了么?(y/n)");
String yesorno = scan.next();
System.out.println();
if (yesorno.equals("y")) {
paly();
} else if (yesorno.equals("n")) {
System.out.println("游戏结束!");
end();//所有的游戏结束都得调用结束框
return;
} else {
System.out.println("输入有误,请重新输入!");
ynStart();
}
}
// 5.开始玩游戏
private void paly() {
System.out.print("请出拳:1:剪刀,2:石头,3:布(请输入相应的数字):");
// 玩家选择的1:剪刀,2:石头,3:布 cq
int cq = scan.nextInt();
// 电脑随机的1:剪刀,2:石头,3:布 sj
int sj = (int) ((Math.random() * 3) + 1);
// 1,剪刀2,石头,3布
switch (cq) {
case 1:
System.out.println("你出拳:剪刀!");
break;
case 2:
System.out.println("你出拳:石头!");
break;
case 3:
System.out.println("你出拳:布!");
break;
default:
System.out.println("输入错误,请重新输入!");
paly();
break;
}
switch (sj) {
case 1:
System.out.println(getPcName() + "出拳:剪刀!");
break;
case 2:
System.out.println(getPcName() + "出拳:石头!");
break;
case 3:
System.out.println(getPcName() + "出拳:布!");
break;
}
// 判断赢输
// 1,剪刀2,石头,3布 cq 自己 si 电脑
if (cq == sj) {
System.out.println("0-0,平手,还好");
} else if (cq == 1) {
if (cq == 1 && sj == 2) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 1 && sj == 2) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
} else if (cq == 2) {
if (cq == 2 && sj == 3) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 2 && sj == 1) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
} else if (cq == 3) {
if (cq == 3 && sj == 1) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 3 && sj == 2) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
}
System.out.println();
System.out.println();
// 对战次数++
watnum++;
if (watnum < 3) {
goon();
} else {
return;
}
}
// 6.是否开始下一轮
private void goon() {
System.out.print("是否进入下一轮?(y/n):");
String yesorno = scan.next();
System.out.println();
if (yesorno.equals("y")) {
ynStart();
} else if (yesorno.equals("n")) {
System.out.println("游戏结束!");
end();//所有的游戏结束都得调用结束框
return;
} else {
System.out.println("输入有误,请重新输入!");
goon();
}
end();
}
// 7.结束统计方法
private void end() {
System.out
.println("---------------------------------------------------------");
System.out.println(getUserName() + "\tVS\t" + getPcName());
System.out.println("对战次数:" + watnum);
System.out.println();
System.out.println("姓名\t得分");
System.out.println(getUserName() + "\t" + userFraction);
System.out.println(getPcName() + "\t" + pcFraction);
System.out.println();
System.out.println("结果:呵呵,笨笨,下次加油啊!");
System.out
.println("---------------------------------------------------------");
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPcName() {
return pcName;
}
public void setPcName(String pcName) {
this.pcName = pcName;
}
public int getWatnum() {
return watnum;
}
public void setWatnum(int watnum) {
this.watnum = watnum;
}
public int getUserFraction() {
return userFraction;
}
public void setUserFraction(int userFraction) {
this.userFraction = userFraction;
}
public int getPcFraction() {
return pcFraction;
}
public void setPcFraction(int pcFraction) {
this.pcFraction = pcFraction;
}
public Scanner getScan() {
return scan;
}
public void setScan(Scanner scan) {
this.scan = scan;
}
}
import java.util.Scanner;
public class TestCaiQuanYouXi {
Scanner scan = new Scanner(System.in);
private String userName;// 玩家名字
private String pcName;// 电脑名字
private int watnum;// 对战次数
private int userFraction;// 玩家分数
private int pcFraction;// 电脑分数
// 0构造方法
public TestCaiQuanYouXi() {
start();
}
// 1开始
private void start() {
System.out.println("\t\t******************");
System.out.println("\t\t*** 猜拳 ,开始 ***");
System.out.println("\t\t******************");
System.out.println();
Rule();
}
// 2规则
private void Rule() {
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
getNames();
}
// 3.1选择角色,pcusername
private void inPcName() {
System.out.print("请选择对方角色:1.刘备 2.孙权 3.曹操");
switch (scan.nextInt()) {
case 1:
setPcName("刘备");
break;
case 2:
setPcName("孙权");
break;
case 3:
setPcName("曹操");
break;
default:
System.out.println("输入错误,请重新输入:");
inPcName();
}
}
// 3.2输入玩家的名字,pcname
private void inUserName() {
System.out.print("请输入你的姓名:");
setUserName(scan.next());
}
// 3给双方取名字
private void getNames() {
inPcName();
inUserName();
System.out.println(getUserName() + " vs " + getPcName() + " 对战");
System.out.println();
ynStart();
}
// 4要开始了么?
private void ynStart() {
System.out.print("要开始了么?(y/n)");
String yesorno = scan.next();
System.out.println();
if (yesorno.equals("y")) {
paly();
} else if (yesorno.equals("n")) {
System.out.println("游戏结束!");
end();//所有的游戏结束都得调用结束框
return;
} else {
System.out.println("输入有误,请重新输入!");
ynStart();
}
}
// 5.开始玩游戏
private void paly() {
System.out.print("请出拳:1:剪刀,2:石头,3:布(请输入相应的数字):");
// 玩家选择的1:剪刀,2:石头,3:布 cq
int cq = scan.nextInt();
// 电脑随机的1:剪刀,2:石头,3:布 sj
int sj = (int) ((Math.random() * 3) + 1);
// 1,剪刀2,石头,3布
switch (cq) {
case 1:
System.out.println("你出拳:剪刀!");
break;
case 2:
System.out.println("你出拳:石头!");
break;
case 3:
System.out.println("你出拳:布!");
break;
default:
System.out.println("输入错误,请重新输入!");
paly();
break;
}
switch (sj) {
case 1:
System.out.println(getPcName() + "出拳:剪刀!");
break;
case 2:
System.out.println(getPcName() + "出拳:石头!");
break;
case 3:
System.out.println(getPcName() + "出拳:布!");
break;
}
// 判断赢输
// 1,剪刀2,石头,3布 cq 自己 si 电脑
if (cq == sj) {
System.out.println("0-0,平手,还好");
} else if (cq == 1) {
if (cq == 1 && sj == 2) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 1 && sj == 2) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
} else if (cq == 2) {
if (cq == 2 && sj == 3) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 2 && sj == 1) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
} else if (cq == 3) {
if (cq == 3 && sj == 1) {
System.out.println("0-0,你输了,真笨!");
pcFraction++;// 电脑分数++
} else if (cq == 3 && sj == 2) {
System.out.println("0-0,你赢了,厉害!");
userFraction++;// 玩家分数++
}
}
System.out.println();
System.out.println();
// 对战次数++
watnum++;
if (watnum < 3) {
goon();
} else {
return;
}
}
// 6.是否开始下一轮
private void goon() {
System.out.print("是否进入下一轮?(y/n):");
String yesorno = scan.next();
System.out.println();
if (yesorno.equals("y")) {
ynStart();
} else if (yesorno.equals("n")) {
System.out.println("游戏结束!");
end();//所有的游戏结束都得调用结束框
return;
} else {
System.out.println("输入有误,请重新输入!");
goon();
}
end();
}
// 7.结束统计方法
private void end() {
System.out
.println("---------------------------------------------------------");
System.out.println(getUserName() + "\tVS\t" + getPcName());
System.out.println("对战次数:" + watnum);
System.out.println();
System.out.println("姓名\t得分");
System.out.println(getUserName() + "\t" + userFraction);
System.out.println(getPcName() + "\t" + pcFraction);
System.out.println();
System.out.println("结果:呵呵,笨笨,下次加油啊!");
System.out
.println("---------------------------------------------------------");
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPcName() {
return pcName;
}
public void setPcName(String pcName) {
this.pcName = pcName;
}
public int getWatnum() {
return watnum;
}
public void setWatnum(int watnum) {
this.watnum = watnum;
}
public int getUserFraction() {
return userFraction;
}
public void setUserFraction(int userFraction) {
this.userFraction = userFraction;
}
public int getPcFraction() {
return pcFraction;
}
public void setPcFraction(int pcFraction) {
this.pcFraction = pcFraction;
}
public Scanner getScan() {
return scan;
}
public void setScan(Scanner scan) {
this.scan = scan;
}
}












