本文主要是介绍人机猜拳互动游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
人机猜拳互动游戏
####游戏规则####
1、选取对战角色
根据提示,输入用户的姓名,选择猜拳的对手
2、猜拳
开始对战,用户选择出拳,与对手进行比较,提示胜负信息。
3、记录分数
每局猜拳结束,获胜一方加 1 分(平局都不加分),停止游戏时,显示对战次数
以及对战最终结果。
阶段一: 显示游戏信息及选择对战对手, 运行效果如下图所示。
输入: 从键盘接收一个数字 1~3, 代表对战对手的编号。
输出: 对战对手
阶段二: 实现一局对战, 运行效果如下图所示。
输入对战角色和用户姓名后,询问是否开始游戏。 若用户输入“y” , 则开始
游戏, 用户和计算机出拳,并给出胜负结果。 否则,直接退出程序。 胜负结果显
示如下:
提示: 计算机如何出拳呢?
产生一个 1~3 的随机数,模拟计算机的出拳结果。2
compFist = (int)(Math.random()*10)%3 + 1; //产生随机数,表示电脑出
拳
阶段三:实现循环对战,并累计得分。
实现循环对战,并且累加赢家的得分, 运行效果如下图所示。
阶段四: 本次游戏结束后,显示对战次数, 双方的各自得分及对战结果, 运行
效果如下图所示:
阶段五: 实现循环游戏, 直到退出系统
代码截图:
我以这样的方式让代码类分开,这里只是单纯的建了一个包,如果是一个项目,那么就需要对代码进行分层,更加规范。
其中:结束的时候对整个回合的一段话,我用数组表示:
public class basic {public String basic(int a,int b){String [][]win = new String[3][3];win[0][0] = "和局,真衰!嘿嘿,等着瞧吧!";win[0][1] = "^_^你输了,真笨!";win[0][2] = "恭喜你赢了!";win[1][0] = "恭喜你赢了!";win[1][1] = "和局,真衰!嘿嘿,等着瞧吧!";win[1][2] = "^_^你输了,真笨!";win[2][0] = "^_^你输了,真笨!";win[2][1] = "恭喜你赢了!";win[2][2] = "和局,真衰!嘿嘿,等着瞧吧!";return win[a][b];}
}
用一个单独的类来放这个游戏需要初始化声明的对象:
public class guesso {String name = "";//保存姓名String answer = "";//保存是否开始String user="";//保存角色名称String cqname = "";//保存出拳名称String cqnum = "";//保存出拳代号String answer2="";//保存是否开始下一局int num=0;//角色编号int part;//角色int partsum;
}
给大家看看一个我写的主函数类:
public class playGame {public static void main(String[] args) {int juese;int i;//表示玩家出拳的数字int partsum = 0;Game g = new Game();g.init();System.out.println("-------------欢 迎 进 入 游 戏 世 界---------------"); System.out.println(" *********************"); System.out.println(" **猜拳,开始**"); System.out.println(" *********************"); System.out.println("出拳规则:1.剪刀 2.石头 3.布");Scanner input = new Scanner(System.in);try{juese = input.nextInt();while(juese!=1&&juese!=2&&juese!=3){//输入内容必须是一个1~3的整数,否则重新输入 System.out.println("输入的内容应该是一个1~3的整数,请重新输入!"); juese=input.nextInt(); } g.cpoputerPlayer(juese);System.out.println("请输入您的姓名:"); g.person(input.next()); System.out.println("出拳:(输入0退出)"); i=input.nextInt(); while(i!=0){//若用户不输入0,执行循环体,一直玩游戏 g.chuquan(i); g.jisuan(); System.out.println("\n出拳:(输入0退出)"); i=input.nextInt(); } System.out.println("游戏结束!"); g.result(); if(i>partsum){System.out.println("结果:恭喜!你赢了");System.out.println("--------------------");System.out.println();}else if(i<partsum){System.out.println("结果:哼!你输了,哈哈加油加油!");System.out.println("--------------------");System.out.println();}else if(i==partsum){System.out.println("结果:打成平手,下次再和你一决高下!");System.out.println("--------------------");System.out.println();}}catch(InputMismatchException e){ System.out.println("程序运行出错:输入非法字符!"); }finally{ System.out.println("\n谢谢使用!"); } input.close(); }}
我们在写任何一个项目的时候,首先就是要构思这个项目分成几个板块,这几个板块都是些什么呢? 我该如何用代码的形式把他们一一写出来,最后能达到我期待的那个效果。
以上是我在这个项目中认为更加注意的代码了哈,并没有全部贴上去,当然你要结合自己想要写的东西的需求去调整,用什么样的方法有效,相信你会找到适合你的解决方式咯!
github代码上传在这里:
https://github.com/Liumce/personguess.git请各位多指教咯! 谢谢
这篇关于人机猜拳互动游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!