java--demo之猜拳游戏
时间:2019-09-14
本文章向大家介绍java--demo之猜拳游戏,主要包括java--demo之猜拳游戏使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
版本1:人机大战 基础随机出 用户键盘录入
package com.hainiu.demo; import java.util.Scanner; /* * 人机大战石头剪刀布 */ public class Cycles { public static void main(String[] args) { while(true){ System.out.println("-----欢迎来到游戏界面----"); System.out.println("1:剪刀、2:石头、3:布"); Scanner sc = new Scanner(System.in); int person = sc.nextInt(); int computer = (int)(Math.random()*(3)+1); String per="用户"; String com="电脑"; //用户 switch(person){ case 1: per="剪刀"; break; case 2: per="石头"; break; case 3: per="布"; break; //电脑 } switch(computer){ case 1: com="剪刀"; break; case 2: com="石头"; break; case 3: com="布"; break; //判断 } if(person==1&&computer==2||person==2&&computer==3||person==3&&computer==1){ System.out.println("你出的是"+per+"电脑出的是"+com); System.out.println("你输啦"); }else if(person==2&&computer==1||person==3&&computer==2||person==1&&computer==3){ System.out.println("你出的是"+per+"电脑出的是"+com); System.out.println("你赢了"); }else if(person==computer){ System.out.println("你出的是"+per+"电脑出的是"+com); System.out.println("平局"); }else{ System.out.println("您的输入有误"); break; } } } }
运行结果:
-----欢迎来到游戏界面----
1:剪刀、2:石头、3:布
2
你出的是: 石头 电脑出的是: 剪刀
你赢了
-----欢迎来到游戏界面----
1:剪刀、2:石头、3:布
版本2:
猜拳游戏说明:
⦁ 任务
⦁ 完成人机猜拳互动游戏的开发
⦁ 主要功能
⦁ 选取对战角色
⦁ 猜拳
⦁ 记录分数
⦁ 需求说明
⦁ 分析业务
⦁ 抽象出类、类的特征和行为
⦁ 实现思路:
⦁ 分析业务,抽象出类、类的特征和行为
package com.hainiu.demo; import java.util.Scanner; class User{ Scanner sc = new Scanner(System.in); private String name; private int integral; private String punch; public User() { // TODO Auto-generated constructor stub } public User(String name, int integral, String punch) { super(); this.name = name; this.integral = integral; this.punch = punch; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIntegral() { return integral; } public void setIntegral(int integral) { this.integral = integral; } public String getPunch() { return punch; } public void setPunch(String punch) { this.punch = punch; } //用户输入名称 public void inputName(){ System.out.println("请输入用户录入名"); name = sc.next(); } //猜拳方法 public void UserGuess(){ int n= sc.nextInt(); System.out.println("1、剪刀,2、石头、3、布"); if(n>0&&n<=3){ switch (n) { case 1: this.punch="剪刀"; break; case 2: this.punch="石头"; break; case 3: this.punch="布"; break; } }else{ System.out.println("输入有误"); } } } class Computer{ Scanner sc = new Scanner(System.in); private String name; private int integral; private String punch; public Computer() { } public Computer(Scanner sc, String name, int integral, String punch) { this.sc = sc; this.name = name; this.integral = integral; this.punch = punch; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIntegral() { return integral; } public void setIntegral(int integral) { this.integral = integral; } public String getPunch() { return punch; } public void setPunch(String punch) { this.punch = punch; } //选择用户 public void computerName(){ System.out.println("请选择您的对手:"); System.out.println("1、扫地僧,2、逍遥子、3、独孤求败"); int n = sc.nextInt(); switch (n) { case 1: this.name="扫地僧"; break; case 2: this.name="逍遥子"; break; case 3: this.name="独孤求败"; break; } } //猜拳方法 public void comuterGuess(){ //System.out.println("对手出的是:"); int t = (int)(Math.random()*(3)+1); switch (t) { case 1: this.punch="剪刀"; break; case 2: this.punch="石头"; break; case 3: this.punch="布"; break; } } } class TestGame{ User u = new User(); Computer c =new Computer(); //欢迎进入游戏菜单 public void start(){ //初始化对象 System.out.println("欢迎进入游戏菜单"); System.out.println("游戏开始"); //选择您的对手 c.computerName(); u.inputName(); System.out.println(u.getName()+"vs"+c.getName()); } //判断出拳的结果 public void game(){ u.UserGuess();; c.comuterGuess(); System.out.println("你出的是"+u.getPunch()); System.out.println(c.getName()+"出的是"+c.getPunch()); //具体判断输赢的 剪刀 石头 布 if(u.getPunch().equals("剪刀") && c.getPunch().equals("石头")||u.getPunch().equals("石头") && c.getPunch().equals("布") || u.getPunch().equals("布") && c.getPunch().equals("剪刀")){ c.setIntegral(c.getIntegral()+1); System.out.println("你输了"); }else if(u.getPunch().equals("石头")&&c.getPunch().equals("剪刀")||u.getPunch().equals("布")&&c.getPunch().equals("石头")||u.getPunch().equals("剪刀")&&c.getPunch().equals("布")){ u.setIntegral(u.getIntegral()+1); System.out.println("你赢啦"); }else { System.out.println("平局"); } } public void last(){ System.out.println("最后结果是:"); System.out.println(u.getName()+"赢了"+u.getIntegral()+"局"); System.out.println(c.getName()+"赢了"+c.getIntegral()+"局"); if(u.getIntegral()>c.getIntegral()){ System.out.println("算总分"+u.getName()+"或的最后的胜利"); }else if(u.getIntegral()<c.getIntegral()){ System.out.println("算总分"+c.getName()+"或的最后的胜利"); }else if(u.getIntegral()==c.getIntegral()){ System.out.println("最后平局"); }else { System.out.println("输入有误,这不是系统的问题"); } } } public class Cycles2 { public static void main(String[] args) { // 测试 Scanner sc = new Scanner(System.in); System.out.println("---------游戏开始----------\n"); TestGame tg = new TestGame(); tg.start(); System.out.println("输入y继续,其他人任意键结束"); String panduan = sc.next(); //循环game方法 while(panduan.equals("y")){ System.out.println("******************"); System.out.println("1、剪刀,2、石头、3、布"); tg.game(); System.out.println("y:继续-任意:结束"); panduan = sc.next(); } System.out.println("游戏结束"); tg.last(); } }
原文地址:https://www.cnblogs.com/yaojun3/p/11520737.html
- Golang语言社区--消息触发服务器启动基础模块分享
- NYOJ------汉诺塔(一)
- HDUOJ----Coin Change
- Golang语言社区--列出目录和遍历目录的方法
- HDUOJ-------单词数
- insert导致的性能问题大排查(r11笔记第26天)
- NYOJ-----最少乘法次数
- nyOJ-----韩信点兵
- HDUOJ-----A == B ?
- 用Oracle的眼光来学习MySQL 5.7的sys(上)(r11笔记第24天)
- Golang下通过syscall调用win32的api
- NYOJ----蛇形填数
- Golang语言 syscall 例子
- 用Oracle的眼光来学习MySQL 5.7的sys(下)(r11笔记第25天)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释