老虎棒子鸡游戏规则:

一个克制一个
老虎吃鸡
鸡吃虫子
虫子蛀杠子
杠子打老虎
形成一个完美循环
无克制类别的直接地平不分胜负
比如
老虎和虫子
杠子和鸡
都是平局
继续出直到胜负位置
值得一提的是
这是个俩人之间对抗的游戏
超出就无法定出胜负了
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(); } }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/21712.html