源代码 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 石头剪子布游戏的更多相关文章

  1. AC日记——石头剪子布 openjudge 1.7 04

    04:石头剪子布 总时间限制:  1000ms 内存限制:  65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...

  2. Java练习 SDUT-2733_小鑫の日常系列故事(二)——石头剪子布

    小鑫の日常系列故事(二)--石头剪子布 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小鑫在上幼儿园的时候,喜欢跟小伙 ...

  3. hdu 4115 石头剪子布(2-sat问题)

    /* 意甲冠军:石头剪子布,目前已知n周围bob会有什么,对alice限制.供u,v,w:设w=0说明a,b回合必须出的一样 否则,必须不一样.alice假设输一回合就输了,否则就赢了 解: 2-sa ...

  4. ACwing 258. 石头剪子布

    258. 石头剪子布 题目传送门 题意挺好理解,但是当我看样例的时候就傻了.不是说好的只有一个裁判的吗?出现矛盾的时候该怎么判定裁判? 分析 观察这个数据量就会发觉是有猫腻的,直接从正面求出裁判并不是 ...

  5. [luogu1327][生活大爆炸石头剪子布]

    题目地址 https://www.luogu.org/problemnew/show/P1328 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. ...

  6. Wikioi 3776 生活大爆炸版石头剪子布

    题目描述 Description 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏 ...

  7. 疯狂java实战演义 弹球游戏代码

    package org.crazyit.ball; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; ...

  8. 用Micro:bit做剪刀、石头、布游戏

    剪刀.石头.布游戏大家都玩过,今天我们用Micro:bit建一个剪刀.石头.布游戏! 第一步,起始 当你摇动它时,我们希望the micro:bit选择剪刀.石头.布.尝试创建一个on shake b ...

  9. Java -- 乒乓球 乒乓弹球游戏

    <疯狂Java讲义> 练习游戏 import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; impo ...

随机推荐

  1. 搭建 Typecho 个人博客

    搭建 Typecho 个人博客 前言 最近在学习中,感觉有个自己的博客,用来记录学习总结,写写生活点滴是件不错的事. 在网上看到 Typecho 博客和 WordPress博客,顿时被 Typecho ...

  2. mysql远程访问被拒绝问题

    远程连接MySql数据库时: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 远 ...

  3. 网页短信平台源码和开发功能介绍 思路和功能 G客短信平台

    G客短信源码介绍 (只介绍现有功能模块文字介绍配系统截图) 一:后台首页 ​ QQ:290615413 VX:290615413

  4. 强大生产力工具Alfred

    今天要给大家介绍的工具是Alfred,一款Mac下的高效生产力产品.它能做什么呢?简单的说就是:让你能够通过打几个字,就可以完成原本需要一顿操作的事情.举一个简单的栗子:如果我们要在Google搜索一 ...

  5. Mac使用HomeBrew

    前言 考虑许久终于决定入手mac耍耍,还是因为要找工作了,手上的win本大学入的,现在使用卡顿太多,另外就是mac作为程序员之友仰慕已久.决定在PDD入了.到手后发现mac真的跟win有很大差别.还是 ...

  6. Python作业---内置数据类型

    实验2 内置数据类型 实验性质:验证性 一.实验目的 1.掌握内置函数.列表.切片.元组的基本操作: 2.掌握字典.集合和列表表达式的基本操作. 二.实验预备知识 1.掌握Python内置函数的基/本 ...

  7. 使用msys2在window下构建和使用Linux的软件

    目录 前言 安装 使用 总结 前言 在window下构建Linux编译环境是很常见的,以前用过mingw弄过差不多的环境. 但是使用msys2后就根本停不下来咯,太好用咯. 安装 去官网下载吧,安装跟 ...

  8. 【Linux】rsync错误解析

    rsync: Failed to exec ssh: No such file or directory (2) rsync error: error in IPC code (code 14) at ...

  9. 【ORA】ORA-39002,ORA-39070,ORA-29283, ORA-06512,ORA-29283解决办法

    今天使用IMPDP导入的时候报了一个错误 ORA-39002: invalid operation  ORA-39070: Unable to open the log file.  ORA-2928 ...

  10. Java多线程基础知识笔记(持续更新)

    多线程基础知识笔记 一.线程 1.基本概念 程序(program):是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象. 进程(process):是程序的一次执行过程,或是 ...