石头剪刀布Java实现
java实现石头剪刀布过程
首先来看石头剪刀布的所有可能情况,具体如下图
第一种思路是穷举所有可能,使用if条件语句,略显呆板和麻烦。
第二种思路,因为计算机存的是数字,所以我们可以从数字角度来找规律:
在这里我们用
0代表石头;
1代表剪刀;
2代表布;
那我们的猜拳游戏可以变为比较两个变量A和B:
变量A和B相等时,平局。
如果用B+1除以3得到的余数与变量A相等,则玩家B获胜
其余情况都是A获胜代码实现如下
分为玩家类和裁判类:
玩家:
/** 玩家*/
public class Player {private String name;public Player(String name) {this.name = name;}public Player() {}//出拳public int getHand() {//Math.random() -- 返回0和1之间的伪随机数 可能为0,但总是小于1,[0,1)int i = (int)(Math.random() * 3);if(i == 0) {System.out.println(this.toString() + "出石头");}if(i == 1) {System.out.println(this.toString() + "出剪刀");}if(i == 2) {System.out.println(this.toString() + "出布");}return i; }@Overridepublic String toString() {// TODO Auto-generated method stubreturn "玩家" + this.name;} public static void main(String[] args) { Player player = new Player("A");System.out.println(player.getHand());}}
裁判:
/** 裁判*/
public class Judge {//判断胜负public void getWinner(int a, int b) {if(a == b) {System.out.println("平局");} else if((b + 1) % 3 == a) {System.out.println("B获胜");} else {System.out.println("A获胜");}}
}
游戏测试:
public class Test {//测试public static void main(String[] args) {Player player1 = new Player("A");Player player2 = new Player("B");Judge judge = new Judge();System.out.println("猜拳开始");judge.getWinner(player1.getHand(), player2.getHand());}
}
结果展示:
- 总结
以上就是石头剪刀布游戏的粗略模拟,思路主要还是尽量站在计算机角度去思考,计算机的任何数据都是以数字存储。
石头剪刀布Java实现相关推荐
- 用java语言编写石头剪刀布获胜法_石头剪刀布Java实现
java实现石头剪刀布过程 首先来看石头剪刀布的所有可能情况,具体如下图 第一种思路是穷举所有可能,使用if条件语句,略显呆板和麻烦. 第二种思路,因为计算机存的是数字,所以我们可以从数字角度来找规律 ...
- java石头剪刀布思路_石头剪刀布Java实现
java实现石头剪刀布过程 首先来看石头剪刀布的所有可能情况,具体如下图 第一种思路是穷举所有可能,使用if条件语句,略显呆板和麻烦. 第二种思路,因为计算机存的是数字,所以我们可以从数字角度来找规律 ...
- java两玩家石头剪刀布获胜法,石头剪刀布Java实现
java实现石头剪刀布过程 首先来看石头剪刀布的所有可能情况,具体如下图 第一种思路是穷举所有可能,使用if条件语句,略显呆板和麻烦. 第二种思路,因为计算机存的是数字,所以我们可以从数字角度来找规律 ...
- java编程石头剪刀布图片_石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源...
原标题:石头.剪刀.布!10分钟带你打开深度学习大门,代码已开源 沉沉 发自 宇宙中心 量子位 出品 | 公众号 QbitAI 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即 ...
- JAVA取随机数,石头剪刀布实例
一.取随机数: import java.util.Random; //导入随机数 public class Test{public static void main(String[] args){Ra ...
- 利用Java模拟石头剪刀布游戏
模拟石头剪刀布游戏 import java.util.Scanner;public class Sjb {public static void main(String[] args) {Scanner ...
- java石头剪刀布界面_利用Java模拟石头剪刀布游戏
模拟石头剪刀布游戏 import java.util.Scanner; public class Sjb { public static void main(String[] args) { Scan ...
- Java语言-石头剪刀布游戏
文章目录 励志 一.石头剪刀布游戏 1.1[问题描述] 1.2[基本要求] 1.3[模块划分] 1.4[算法思想] 1.5[题解] 拓展:制作网页版 代码: 效果截图 励志 众里寻他千百度,蓦然回首, ...
- 石头剪刀布游戏高级版(Java编写)
石头剪刀布 1.问题描述 [问题描述] 用 JAVA 语言设计如下界面的石头剪刀布游戏.游戏的一方点击界面上石头.剪刀.布按钮,游戏的 另一方计算机随机选择,然后给出游戏结果. [基本要求] 按照下面 ...
最新文章
- 【鲁班学院】一个三年工作经验和月薪16k的java程序员应该要具备什么样的技能?...
- python如何爬虫网页数据-python网络爬虫爬取网页内容
- android 隐藏闹钟通知,redis环境搭建
- JS数组的迭代器方法
- 【SQL Server 学习系列】-- sql 随机生成中文名字
- 你知道怎么在生产环境下部署tomcat吗?
- 服务器运行程序 网络错误怎么办,网站出现:ldquo;/rdquo;应用程序中的服务器错误。该如何解决?_已解决 - 阿里巴巴生意经...
- read -p 的使用
- 主机与虚拟机不能通信
- qscoj:喵哈哈村的冒菜店(线段树区间合并)
- 数学建模国赛-2015A太阳影子定位再研究(未完)
- 搭建Ubuntu 10.04系统(嵌入式开发)
- 【已解决】双显卡电脑开机启动慢的解决办法
- chmod 777的含义
- Element UI, Ant Design Vue
- 斯坦福CS231n李飞飞计算机视觉之线性分类上
- TCP中的粘包、拆包问题产生原因及解决方法
- hpe 服务器 稳定性6,低功耗易管理 惠普DL380 G6服务器评测
- Canvas模拟地球,月球公转
- SCRM是什么?CRM和SCRM有什么区别?