人机猜拳小游戏(面向对象的方法)
2017-04-14 13:30
323 查看
/** * Created by Administrator on 2017/4/12. */ public class Main { public static void main(String[] args) { Game game = new Game(); game.init(); game.ready(); //开始游戏 game.start(); } }
* Created by Administrator on 2017/4/12. */ public class Computer { public String name; int Random; public void hit() { Random =(int) (Math.random()*3); } }
/** * Created by Administrator on 2017/4/12. */ public class User { public String name; // public void hit() { } }
import java.awt.*; import java.util.Random; import java.util.Scanner; /** * * Created by Administrator on 2017/4/12. */ public class Game { int count = 0; int userAscore=0; int userBscore=0; User userA;//属性是一个对象用的。 Computer userB; String[] option; String[] computerName; public void init() { userA = new User(); userB = new Computer(); option = new String[]{"剪刀", "石头", "布"}; computerName = new String[]{"刘备", "孙权", "曹操"}; } public void showWelcome() { System.out.println("\t\t\t--------------------------------欢迎进入游戏世界--------------------------------"); System.out.println("\t\t\t********************************************************************************"); System.out.println("\t\t\t**\t\t\t\t\t\t\t\t猜拳,开始\t\t\t\t\t\t\t\t\t**"); System.out.println("\t\t\t********************************************************************************"); System.out.print("出拳规则"); for (int i = 0; i < option.length; i++) { System.out.print((i+1)+"."+option[i]); } } public void inputComputerName() { Scanner sc = new Scanner(System.in); System.out.print("请选择对方的角色("); for (int i = 0; i < computerName.length;i++) { System.out.print((i+1)+":"+computerName[i]); } System.out.print(")"); int i = sc.nextInt(); userB.name = computerName[i-1]; } public void inputName() { System.out.print("请输入你的名字:"); Scanner sc = new Scanner(System.in); userA.name= sc.next(); System.out.println( userA.name+" vs "+userB.name +"对战"); } public void start() { System.out.print("要开始吗(y/n)"); Scanner sc = new Scanner(System.in); String choose= sc.next(); if(choose.equals("y")){ userA.hit(); userB.hit(); calcGame(); showGameResult(); } } private void showGameResult() { Scanner scan = new Scanner(System.in); System.out.println("是否开始下一轮(y/n):"); System.out.println("------------------------------------------------------------------"); String a = scan.next(); if (a.equals("y")){ calcGame(); showGameResult(); }else{ System.out.println(userA.name+" vs "+userB.name +"对战"); System.out.println("对战次数:"+count); System.out.println(); System.out.println("姓名"+"\t\t得分"); System.out.println(userA.name+"\t\t"+userAscore); System.out.println(userB.name+"\t\t"+userBscore); } } private void calcGame(){ Scanner scan = new Scanner(System.in); System.out.print("请出拳:"); for (int i = 0; i < option.length; i++) { System.out.print((i+1)+"."+option[i]+" "); } System.out.print("(输入相应数字):"); int a = scan.nextInt(); System.out.print("你出拳:"+option[a-1]); System.out.println(); System.out.print(userB.name+"出拳:"+option[userB.Random]); System.out.println(); if (option[a-1]==option[userB.Random]){ System.out.println("结果:平局"); }else if ((a==1&&userB.Random==2)||(a==2&&userB.Random==3)||(a==3&&userB.Random==1)){ System.out.println("结果:"+userB.name+"获胜"); userBscore++; }else { System.out.println("结果:你获胜"); userAscore++; } count++; } public void a8d2 ready() { //显示欢迎界面 showWelcome(); //输入电脑名字 inputComputerName(); //输入玩家名字 inputName(); } }
相关文章推荐
- 基于控制台的人机猜拳小游戏
- java基础之面向对象——人机猜拳实例
- 第十二章 人机猜拳小游戏
- 小游戏 人机猜拳
- JAVA语言实现人机猜拳小游戏
- python脚本编写的人机猜拳小游戏
- java简单的人机猜拳小游戏
- java-第十二章-人机猜拳-分析业务,抽象出类,类的属性和方法,创建用户类
- java 小游戏人机猜拳 关键代码
- [ZT] 面向对象的思维方法
- 用反射和特性实现面向对象的数据持久方法 [无常译]
- [转帖]面向对象的思维方法
- 一针见血谈谈面向对象的思维方法(转载)
- 一针见血谈谈面向对象的思维方法
- [转]面向对象的思维方法
- (转)uml 面向对象的开发方法
- 面向对象的思维方法
- 用比较的方法认识PHP的面向对象
- 面向对象的设计方法
- 从面向结构到面向对象-----josephus问题(方法二:结构的应用)