老虎棒子鸡游戏规则:
一个克制一个
老虎吃鸡
鸡吃虫子
虫子蛀杠子
杠子打老虎
形成一个完美循环
无克制类别的直接地平不分胜负
比如
老虎和虫子
杠子和鸡
都是平局
继续出直到胜负位置
值得一提的是
这是个俩人之间对抗的游戏
超出就无法定出胜负了
GameRule类
import java.util.Scanner;
public class GameRule {
private int count;
private Player player;
private Robot robot;
public Player getPerson() {
return player;
}
public void setPerson(Player person) {
this.player=person;
}
public Robot getRobot() {
return robot;
}
public void setRobot(Robot robot) {
this.robot=robot;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count=count;
}
public void initial() {
player=new Player();
robot=new Robot();
}
public void startGame(){
int role=0;
System.out.println("────────────────猜拳───────────────────");
System.out.println(" 1.老虎 2.杠子 3.鸡 4.虫子 \n");
System.out.println(" 请选择角色:1.阿迪力 2.黄飞鸿 3.马致明");
System.out.println("──────────────────────────────────────");
Scanner reader=new Scanner(System.in);
role=reader.nextInt();
boolean rightRole=true;
switch(role) {
case 1:
System.out.println("您选择了阿迪力这个角色对战");
player.setName("阿迪力");
break;
case 2:
System.out.println("您选择了黄飞鸿这个角色对战");
player.setName("黄飞鸿");
break;
case 3:
System.out.println("您选择了马致明这个角色对战");
player.setName("马致明");
break;
default:
System.out.println("输入错误");
rightRole=false;
break;
}
if(rightRole) {
String flag="y";
do {
int num1=0;//用户出拳值
int num2=0;//机器人出拳值
num1=player.showFist();
num2=robot.showFist();
//用户获胜
if((num1==1&&num2==3)||(num1==2&&num2==1)||(num1==3&&num2==4)||(num1==4&&num2==4)) {
System.out.println("恭喜,您赢了!!");
player.setScore(player.getScore()+1);
System.out.print("本局对战结果:");
System.out.print(player.getName() +"1分,");
System.out.println("机器人0分!");
}
//平局
else if((num1==num2)||(num1==1&&num2==4)||(num1==4&&num2==1)||(num1==2&&num2==3)||(num1==3&&num2==2)) {
System.out.println("平局,加油!");
}
//机器人获胜
else {
System.out.println("哈哈,您输了!");
System.out.print("本局对战结果:");
System.out.print(player.getName() +"0分,");
System.out.println("机器人1分!");
robot.setScore(robot.getScore()+1);
}
//增加游戏次数
count++;
System.out.println("输入y继续,n退出");
flag=reader.next();
while(!"n".equals(flag) && !"y".equals(flag)) {
System.out.println("请重新输入");
flag=reader.next();
}
if("n".equals(flag))
System.out.println("───────────────谢谢使用─────────────────");
}while("y".equals(flag));
//最终对战成绩
System.out.println("\t"+player.getName()+" vs 机器人");
int win=player.getScore();
int lost=robot.getScore();
System.out.println("\t对战"+count+"局,"+"您胜了"+win+"局,输"+lost+"局,平"+(count-win-lost));
if(player.getScore()>robot.getScore()) {
System.out.println("\t结果:您是战神,你赢了!");
}
else if(player.getScore()==robot.getScore()) {
System.out.println("\t结果:不相上下哦!");
}
else {
System.out.println("\t结果:您输得很惨啊!");
}
}
else {
System.out.println("输入有错,退出系统!");
}
System.out.println("──────────────────────────────────────");
}
}
Player类
import java.util.Scanner;
public class Player {
private String name="匿名";
private int score;
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score=score;
}
public Player(String name,int score) {
super();
this.name=name;
this.score=score;
}
public Player() {
super();
}
public int showFist() {
int temp=0;
System.out.println("请出拳:(1.老虎, 2.杠子, 3.鸡, 4.虫子)");
Scanner reader=new Scanner(System.in);
temp=reader.nextInt();
switch(temp) {
case 1:
System.out.println("您出的是老虎");
break;
case 2:
System.out.println("您出的是杠子");
break;
case 3:
System.out.println("您出的是鸡");
break;
case 4:
System.out.println("您出的是虫子");
break;
default:
System.out.println("输入错误");
break;
}
return temp;
}
}
Robot类
import java.util.Scanner;
public class Robot {
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score=score;
}
public int showFist() {
int temp=(int)(Math.random()*4+1);
switch(temp) {
case 1:
System.out.println("机器出的是老虎");
break;
case 2:
System.out.println("机器出的是杠子");
break;
case 3:
System.out.println("机器出的是鸡");
break;
case 4:
System.out.println("机器出的是虫子");
break;
default:
break;
}
return temp;
}
}
StartGame类(测试类)
public class StartGame {
public static void main(String[] args) {
GameRule game=new GameRule();
// 初始化
game.initial();
game.startGame();
}
}