[置顶] java 猜拳游戏代码分享
2017-08-16 23:11
477 查看
面向对象的思维去理解
package com.game.guess; /** * 计算机类 * */ public class Computer { String name = "电脑"; // 名字 int score = 0;; // 积分 /** * 出拳 * @return 出拳结果:1.剪刀 2.石头 3.布 */ public int showFist(){ // 产生随机数 int show = (int)(Math.random()*10)%3 + 1; //产生随机数,表示电脑出拳 // 输出出拳结果并返回 switch(show){ case 1: System.out.println(name+"出拳: 剪刀"); break; case 2: System.out.println(name+"出拳: 石头"); break; case 3: System.out.println(name+"出拳: 布"); break; } return show; } }
package com.game.guess; import java.util.Scanner; /** * 用户类 * */ public class Person { String name = "匿名"; // 名字 int score = 0; // 积分 /** * 出拳 * @return 出拳结果:1.剪刀 2.石头 3.布 */ public int showFist(){ // 接收用户的选择 Scanner input = new Scanner(System.in); System.out.print("\n请出拳:1.剪刀 2.石头 3.布 (输入相应数字) :"); int show = input.nextInt(); // 输出出拳结果,并返回 switch(show){ case 1: System.out.println("你出拳: 剪刀"); break; case 2: System.out.println("你出拳: 石头"); break; case 3: System.out.println("你出拳: 布"); break; } return show; } }
package com.game.guess; import java.util.Scanner; /** * 游戏类 :实现对战结果显示 */ public class Game { Person person; // 甲方 Computer computer; // 乙方 int count; // 对战次数 /** * 初始化 */ public void initial() { person = new Person(); computer = new Computer(); count = 0; } /** * 开始游戏 */ public void startGame() { initial(); // 初始化 System.out.println("----------------欢 迎 进 入 游 戏 世 界----------------\n"); System.out.println("\n\t\t******************"); System.out.println("\t\t** 猜拳, 开始 **"); System.out.println("\t\t******************"); System.out.println("\n\n出拳规则:1.剪刀 2.石头 3.布"); /* 选择对方角色 */ System.out.print("请选择对方角色(1:乔布斯 2:比尔盖茨 3:马云): "); Scanner input = new Scanner(System.in); int role = input.nextInt(); if (role == 1) { computer.name = "刘备"; } else if (role == 2) { computer.name = "孙权"; } else if (role == 3) { computer.name = "曹操"; } System.out.println("你选择了 " + computer.name + "对战"); System.out.print("\n要开始吗?(y/n) "); String con = input.next(); int perFist; // 用户出的拳 int compFist; // 计算机出的拳 while (con.equals("y")) { /* 1)出拳 */ perFist = person.showFist(); compFist = computer.showFist(); /* 2)裁决 */ if ((perFist == 1 && compFist == 1) || (perFist == 2 && compFist == 2) || (perFist == 3 && compFist == 3)) { System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧 !\n"); // 平局 } else if ((perFist == 1 && compFist == 3) || (perFist == 2 && compFist == 1) || (perFist == 3 && compFist == 2)) { System.out.println("结果: 恭喜, 你赢了!"); // 用户赢 person.score++; } else { System.out.println("结果说:^_^,你输了,真笨!\n"); // 计算机赢 computer.score++; } count++; // 3)判断,是否要继续游戏 System.out.print("\n是否开始下一轮(y/n): "); con = input.next(); } /* 显示结果 */ showResult(); } /** * 显示比赛结果 */ public void showResult() { /* 显示最后结果 */ System.out.println("---------------------------------------------------"); System.out.println(computer.name + " VS " + person.name); System.out.println("对战次数:" + count); int result = calcResult(); if (result == 1) { System.out.println("结果:打成平手,下次再和你一分高下!"); } else if (result == 2) { System.out.println("结果:恭喜恭喜!"); // 用户获胜 } else { System.out.println("结果:呵呵,笨笨,下次加油啊!"); / 9d76 / 计算机获胜 } System.out.println("---------------------------------------------------"); } /** * 计算比赛结果 * * @return 1:战平;2:用户赢;3:电脑赢 */ public int calcResult() { if (person.score == computer.score) { return 1; // 战平 } else if (person.score > computer.score) { return 2; // 用户赢 } else { return 3; // 电脑赢 } } }
package test; import com.game.guess.Game; /** * 人机互动版猜拳游戏 * 程序入口 */ public class StartGuess { public static void main(String[] args) { Game Game= new Game(); Game.startGame(); } }
相关文章推荐
- 分享一个猜数字游戏的JAVA代码
- java 猜拳游戏代码
- JAVA基础代码分享--模拟人机猜拳系统
- java 猜拳游戏代码
- C语言实现的猜拳游戏代码分享
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- 分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map
- 分享史上java最牛逼,最简短的代码
- [置顶] 【剑指offer】Java实现代码汇总
- Java数字抽奖游戏核心代码及分析
- Java获取汉字拼音的全拼和首拼实现代码分享
- Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观
- 兼容PHP和Java的des加密解密示例代码分享
- Android游戏开发cocos2d-x调用Java层代码
- 分享非常有用的Java程序 (关键代码) (一)
- JAVA基础代码分享--学生成绩管理
- Java猜拳游戏
- 分享几个java小程序代码
- Java2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码 推荐