猜拳小游戏

来源:互联网 发布:歌曲剪切合并软件 编辑:程序博客网 时间:2024/06/05 20:43

描述

本小游戏是一个简单的控制台应用小程序,主要是为了练习面向对象编程。玩家与电脑猜拳,玩家输入表示相应数字,电脑随机产生数字。控制台返回猜拳结果,每局游戏结束之后有一个简单的战绩面板显示(总局数,赢场数,胜率)。该小游戏没有设计游戏的难易程度,如果读者有兴趣可以尝试设计

代码

package com.serendipity.day08.game;/** * Title: Gamer * Description: 玩家类 * @author 谢英亮 * @date 2017年12月20日 下午6:42:25 */public class Gamer {private String name;//玩家姓名private int winNum;//赢的局数private int allNum;//总局数public String getName() {return name;}public void setName(String name) {this.name = name;}public int getWinNum() {return winNum;}public void setWinNum(int winNum) {this.winNum = winNum;}public int getAllNum() {return allNum;}public void setAllNum(int allNum) {this.allNum = allNum;}}


package com.serendipity.day08.game;import java.util.Scanner;/** * Title: GameStart * Description: 游戏类 * @author 谢英亮 * @date 2017年12月20日 下午6:44:01 */public class GameStart {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("************************************************************");System.out.println("欢迎来到劲爆的猜拳游戏,请输入姓名:");String name = sc.next();int winNum = 0;// 赢的局数int allNum = 0;// 总局数while (true) {System.out.println("欢迎" + name + "进入猜拳游戏");System.out.println("1.石头     \t2.剪刀     \t3.布     \t0.退出");System.out.println("************************************************************");System.out.println("请输入数字:");int flag = sc.nextInt();if (flag > 0 && flag < 4) {switch (gaming(flag)) {case 1:winNum++;allNum++;System.out.println("恭喜你赢了!");break;case 0:System.out.println("平局,再接再厉!");allNum++;break;case -1:System.out.println("很遗憾,你输了!");allNum++;break;default:System.err.println("傻逼,输入有误!!");break;}} else if (flag == 0) {Gamer g = new Gamer();g.setAllNum(allNum);g.setName(name);g.setWinNum(winNum);gameOver(g);} else {System.err.println("傻逼,输入有误!!");}}}/** * 游戏中 */private static int gaming(int flag) {int x = (int) (Math.random() * 3) + 1;switch (flag) {case 1:if (x == 1) { // 平局return 0;} else if (x == 2) {return 1;// 赢了} else {return -1;// 输了}case 2:if (x == 2) { // 平局return 0;} else if (x == 3) {return 1;// 赢了} else {return -1;// 输了}case 3:if (x == 3) { // 平局return 0;} else if (x == 1) {return 1;// 赢了} else {return -1;// 输了}default:return -2;}}/** * 游戏结束 */private static void gameOver(Gamer g) {System.out.println("\n\n\t\t\t排行榜\n");System.out.println("************************************************************");System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");System.out.println(g.getName()+"\t\t"+g.getAllNum()+"\t\t"+g.getWinNum()+"\t\t"+g.getWinNum()*1.0/g.getAllNum() );System.exit(0);}}

运行结果: