[code]
import java.util.Scanner;
/**
* 人机猜拳大战——玩家类
*
* @author QCD
*
*/
public class Player {
Scanner input = new Scanner(System.in);
String playerName = "";// 玩家姓名
String result = "";// 出拳结果
public String getResult() {
return result;
}
public String getPlayerName() {
return playerName;
}
public void setPlayerName(String playerName) {
this.playerName = playerName;
}
/**
* 输入玩家姓名
*
* @return
*/
public String player() {
playerName = input.next();
return playerName;
}
/**
* 判断出拳结果
*
* @return
*/
public String chuQuan2() {
int chuquan = input.nextInt();
switch (chuquan) {
case 1:
result = "剪刀";
break;
case 2:
result = "石头";
break;
case 3:
result = "布";
break;
default:
break;
}
return result;
}
}
import java.util.Scanner;
/**
* 人机猜拳大战——电脑类
*
* @author QCD
*
*/
public class Computer {
Scanner input = new Scanner(System.in);
String dName = "";// 电脑名字
String result = null;// 随机出拳结果
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getdName() {
return dName;
}
public void setdName(String dName) {
this.dName = dName;
}
/**
* 产生电脑名字结果
*
* @return
*/
public String diannao() {
int num1 = input.nextInt();
switch (num1) {
case 1:
dName = "刘备";
break;
case 2:
dName = "孙权";
break;
case 3:
dName = "曹操";
break;
default:
break;
}
return dName;
}
/**
* 随机产生电脑出拳结果
*
* @return
*/
public String chuQuan1() {
int random = (int) (Math.random() * 3 + 1);
switch (random) {
case 1:
result = "剪刀";
break;
case 2:
result = "石头";
break;
case 3:
result = "布";
break;
default:
break;
}
return result;
}
}
/**
* 人机猜拳大战——游戏类
*
* @author QCD
*
*/
public class Game {
int count1 = 0;// 玩家积分
int count2 = 0;// 电脑积分
int time = 0;// 对战次数
/**
* 对战方法
*
* @param computer
* @param player
*/
public void pK(Computer computer, Player player) {
/* 将玩家和电脑出拳结果进行判断 */
if (player.getResult().equals(computer.getResult())) {
System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!");
} else if ((player.getResult() == "剪刀" && computer.getResult() == "布")
|| (player.getResult() == "石头" && computer.getResult() == "剪刀")
|| (player.getResult() == "布" && computer.getResult() == "石头")) {
System.out.println("结果:赢了电脑,哈哈,这才叫实力!");
count1++;
} else {
System.out.println("结果:输给电脑,哎,今天运气不好!");
count2++;
}
}
/**
* 输出战绩的方法
*
* @param computer
* @param player
*/
public void showResult(Computer computer, Player player) {
/*每一局对战结束输出对战结果*/
System.out.println("++++++++++++++++++《一局完》++++++++++++++++++");
System.out.println("------------------------------------------");
System.out.println(computer.dName + " VS " + player.getPlayerName());
System.out.println("对战次数:" + time);
System.out.println("\n姓名\t得分");
System.out.println(player.getPlayerName() + "\t" + count1);
System.out.println(computer.dName + "\t" + count2);
if (count1 == count2) {
System.out.println("结果:打成平手,下次再和你一分高下!");
} else if (count1 > count2) {
System.out.println("结果:玩家赢了,这才叫实力,人类是不可战胜的!");
} else {
System.out.println("结果:电脑赢了,不要灰心,回去好好练习再来吧!");
}
System.out.println("------------------------------------------");
}
}
import java.util.Scanner;
public class TestGame {
/**
* 人机猜拳大战——测试类
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);// 键盘接收类
String answer;// 回答
Game game = new Game();// 创建游戏对象
/* 主菜单 */
System.out.println("---------------欢迎进入游戏世界---------------\n");
System.out.println("\n\t**********************");
System.out.println("\t******* 猜拳,开始 *******");
System.out.println("\t**********************\n");
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
/* 选择对方角色 */
System.out.print("请选择对方角色(1:刘备 2.孙权 3.曹操):");
Computer computer = new Computer();
computer.diannao();
/* 输入玩家姓名 */
System.out.print("请输入你的姓名:");
Player player = new Player();
player.player();
System.out.println(player.getPlayerName() + " VS " + computer.getdName() + " 对战");
/* 对战开始 */
System.out.print("\n要开始吗?(y/n):");
answer = input.next();
while (!"n".equalsIgnoreCase(answer)) {
game.count1 = 0;// 玩家积分归零
game.count2 = 0;// 电脑积分归零
game.time = 0;// 对战次数归零
do {
System.out.print("\n请出拳:1.剪刀 2.石头 3.布(输入相应数字):");
player.chuQuan2();
System.out.println("你出拳:" + player.getResult());
computer.chuQuan1();
System.out.println(computer.getdName() + "出拳:" + computer.getResult());
/* 将玩家和电脑出拳结果进行判断 */
game.pK(computer, player);
game.time++;
System.out.print("\n是否开始下一轮(y/n):");
answer = input.next();
} while (!"n".equalsIgnoreCase(answer));
/* 输出对战结果 */
game.showResult(computer, player);
System.out.print("\n要开始下一局吗?(y/n):");
answer = input.next();
}
System.out.println("欢迎您下次光临!!!");
input.close();
}
}
[/code]
Java人机猜拳大战
最新推荐文章于 2022-09-07 11:00:00 发布