java 石头剪子布游戏
源代码 StoneGame.java
1 import java.io.BufferedReader;
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.util.Random;
5
6 public class StoneGame {
7 private static int playerScores = 0;
8 private static int computerScores = 0;
9 private static boolean playing = true;
10 private static String[] playerSkills = {"石头", "剪子", "布"};
11
12 public static void main(String[] args) {
13 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
14 try {
15 System.out.println("输入:石头[1] 剪子[2] 布[3] 退出[4]");
16 while (playing) {
17 int playerSkill = Integer.parseInt(bufferedReader.readLine());
18 Random random = new Random();
19 int computerSkill = random.nextInt(3) + 1;
20 if (playerSkill == 4) {
21 System.out.println("Bye.");
22 playing = false;
23 break;
24 }
25 if (playerSkill > 0 && playerSkill < 4) {
26 System.out.println("玩家: " + playerSkills[playerSkill - 1]);
27 System.out.println("电脑: " + playerSkills[computerSkill - 1]);
28 compare(playerSkill, computerSkill);
29 System.out.println("玩家分数: " + playerScores + " " + "电脑分数: " + computerScores);
30 } else {
31 System.out.println("请重试.");
32 }
33 }
34 } catch (IOException e) {
35 e.printStackTrace();
36 } catch (NumberFormatException e) {
37 System.out.println("请输入正确的数字!");
38 }
39 }
40
41 private static void compare(int playerSkill, int computerSkill) {
42 if (playerSkill == computerSkill) {
43 System.out.println("平局.");
44 return;
45 }
46 if (playerSkill == 1) { // player skill is stone.
47 if (computerSkill == 2) {
48 System.out.println("玩家胜利.");
49 playerScores++;
50 } else {
51 System.out.println("电脑胜利.");
52 computerScores++;
53 }
54 }
55 if (playerSkill == 2) { // player skill is scissor.
56 if (computerSkill == 3) {
57 System.out.println("玩家胜利.");
58 playerScores++;
59 } else {
60 System.out.println("电脑胜利.");
61 computerScores++;
62 }
63 }
64
65 if (playerSkill == 3) { // player skill is cloth.
66 if (computerSkill == 1) {
67 System.out.println("玩家胜利.");
68 playerScores++;
69 } else {
70 System.out.println("电脑胜利.");
71 computerScores++;
72 }
73 }
74 }
75 }
java 石头剪子布游戏的更多相关文章
- AC日记——石头剪子布 openjudge 1.7 04
04:石头剪子布 总时间限制: 1000ms 内存限制: 65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...
- Java练习 SDUT-2733_小鑫の日常系列故事(二)——石头剪子布
小鑫の日常系列故事(二)--石头剪子布 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小鑫在上幼儿园的时候,喜欢跟小伙 ...
- hdu 4115 石头剪子布(2-sat问题)
/* 意甲冠军:石头剪子布,目前已知n周围bob会有什么,对alice限制.供u,v,w:设w=0说明a,b回合必须出的一样 否则,必须不一样.alice假设输一回合就输了,否则就赢了 解: 2-sa ...
- ACwing 258. 石头剪子布
258. 石头剪子布 题目传送门 题意挺好理解,但是当我看样例的时候就傻了.不是说好的只有一个裁判的吗?出现矛盾的时候该怎么判定裁判? 分析 观察这个数据量就会发觉是有猫腻的,直接从正面求出裁判并不是 ...
- [luogu1327][生活大爆炸石头剪子布]
题目地址 https://www.luogu.org/problemnew/show/P1328 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. ...
- Wikioi 3776 生活大爆炸版石头剪子布
题目描述 Description 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏 ...
- 疯狂java实战演义 弹球游戏代码
package org.crazyit.ball; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; ...
- 用Micro:bit做剪刀、石头、布游戏
剪刀.石头.布游戏大家都玩过,今天我们用Micro:bit建一个剪刀.石头.布游戏! 第一步,起始 当你摇动它时,我们希望the micro:bit选择剪刀.石头.布.尝试创建一个on shake b ...
- Java -- 乒乓球 乒乓弹球游戏
<疯狂Java讲义> 练习游戏 import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; impo ...
随机推荐
- LeapMotion控制器 java语言开发笔记--(连接控制器)
(1)为了连接LeapMotion控制器,创建controller对象,这个对象自动创建与控制器的服务或者后台程序连接,然后捕获数据提供给你的应用程序.可以使用该对象来获取连接信息. (2)获取Fra ...
- java数组基础知识
数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储. 数组的遍 ...
- Spark Streaming 与Filnk对比分析
转:https://mp.weixin.qq.com/s/jllAegJMYh_by95FhHt0jA
- 一、linux安装mysql
一.下载mysql免编译包: wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.g ...
- vs code编写java
不知不觉中vs code变得非常强大了,今天小编就分享一下vs code编写java语言.其实除了java语言,还支持很多语言. 首先看下vs code欢迎页面支持哪些语言: 好家伙,支持的东西还真不 ...
- 基于vue2.x的webpack升级与项目搭建指南--基础篇
first thing fitrst 博主声明:绝对不当标题党 有人看最好不过的背景: 十月初对公司产品的前端构建做了一些优化,但还遗留了不少问题(可了解我的前一篇博文:一次webpack小规模优化经 ...
- 【JavaWeb】现代 JavaScript 教程
js_model_tutorial !!待更新 前言 现代 JavaScript 教程的学习笔记,它是一份不错的学习资源,感谢开源. 中文链接 基础 函数 代码示例 函数的声明方式 function ...
- 【MyBatis】MyBatis 动态 SQL
MyBatis 动态SQL if 可以根据实体类的不同取值,使用不同的 SQL 语句来进行查询. 使用动态 SQL 最常见情景是根据条件包含 where 子句的一部分. 持久层 DAO 接口: pub ...
- LeetCode561 数组拆分 I
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大. 示例 ...
- python学习笔记 | 国内常用源镜像地址
各镜像列表 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 ...