package com.javasm.exerices02;

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

import java.util.Scanner;

/**

*

*TODO 石头剪刀布猜拳游戏,三局两胜

* @author caolei 2018年5月2日下午10:51:23

* RockPaperScissors

*/

public class RockPaperScissors {

// 用于存放猜拳结果

private static List gameResult;

public static void crGuessingGame(Scanner sc) {

gameResult = new ArrayList();

// 存储结果集

char[] finger = { '锤', '剪', '包' };

// 用于接收每一次的猜拳结果

String result;

// 用于计算机猜拳

Random random = new Random();

// 记录计算机获胜次数

int computerWinNumber = 0;

// 计算玩家获胜次数

int playerWinNumber = 0;

// 记录猜拳第几轮

int i = 0;

// 循环出拳

while (true) {

System.out.println("第" + (i + 1) + "轮,请出拳:");

// 计算机生成的随机数

int computerGet = random.nextInt(3);

// 用户输入的数

int playerInput = sc.nextInt();

// 记录猜拳结果

result = finger[computerGet] + "," + finger[playerInput];

// 将结果放入集合中

gameResult.add(result);

/*

* 第一种通过if判断结果

*

* if (computerGet == 0 && playerInput != 0) {

* if (playerInput == 1)

* computerWinNumber++;

* playerWinNumber++;

*

* } else if (computerGet == 1 && playerInput != 1) {

* if (playerInput == 2)

* computerWinNumber++;

* playerWinNumber++;

* } else if (computerGet == 2 && playerInput != 2) {

* if (playerInput == 0)

* computerWinNumber++;

* playerWinNumber++;

* }

*/

/**

* 第二种通过switch判断结果

*/

switch (computerGet) {

case 0:

if (playerInput == 1)

computerWinNumber++;

if (playerInput == 2)

playerWinNumber++;

break;

case 1:

if (playerInput == 2)

computerWinNumber++;

if (playerInput == 0)

playerWinNumber++;

break;

case 2:

if (playerInput == 0)

computerWinNumber++;

if (playerInput == 1)

playerWinNumber++;

break;

default:

break;

}

// 记录游戏轮数

i++;

// 判断是否有人取得胜利

if (computerWinNumber == 2 || playerWinNumber == 2) {

break;

}

}

// 判断获胜者

if (computerWinNumber > playerWinNumber) {

System.out.println("电脑获胜!");

} else {

System.out.println("恭喜你获胜!");

}

// 输出猜拳结果

System.out.println("具体结果如下:");

System.out.println("电脑,你");

for (String results : gameResult) {

System.out.println("{ " + results + " }");

}

}

}

python猜拳游戏三局两胜制_猜拳游戏三局两胜------java实现代码相关推荐

  1. 石头、剪刀、布 小游戏, 三局两胜制,有一方累计胜利两次,则游戏结束

    石头.剪刀.布 小游戏, 三局两胜制,有一方累计胜利两次,则游戏结束 (每次开始,玩家和电脑都要出拳) 随机数 0 1 2 Math.floor( Math.random()*3) 电脑 parseI ...

  2. mysql 时间转换工作班制_换班时间怎么调整,两班倒的。谁帮我算下?

    展开全部 "12小时两班倒"的意思是工作时间十二小时,属于白62616964757a686964616fe59b9ee7ad9431333433653431班夜班倒的工作. "早八点晚八点& ...

  3. python 两阶段聚类_挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法...

    转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的 ...

  4. java三位整数倒序相加_用单向链表实现两数倒序相加(java实现)

    很久没做算法题了,准备重操旧业,于是刷了一波LeetCode,看到一个比较经典的链表算法题,分享出来. 题目 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将 ...

  5. neo4j 查询同一节点的两个上级_链表的魅力:两个单向链表的第一个交点

    最近听了左神的算法课,对一些常用数据结构以及算法改进的思路有了更深的理解,特此总结,不定期更新算法题目以及答案总结!笔者使用C++进行算法重现!虽然左神使用的是JAVA,但他自己也说了,算法与语言无关 ...

  6. flash静态的农夫走路_智力游戏过河|智力游戏过河flash合集下载 _单机游戏下载...

    智力游戏过河,过河游戏是经典的益智游戏了,需要很高的IQ,能很好锻炼逻辑能力,经典的过河游戏有人鬼过河,农夫过河,高IQ过河,青蛙过河等等.跑跑车为您提供的智力游戏过河flash合集,包含了这一些游戏 ...

  7. 楚留香pc端连接服务器未响应,楚留香游戏pc端闪退怎么办_楚留香游戏中pc端闪退解决办法汇总...

    楚留香手游的内存相对其他小型游戏来说比较大,所以游戏的过程中容易出现pc端闪退的情况,楚留香游戏pc端闪退怎么办?快啦小编给大家带来楚留香游戏中pc端闪退解决办法汇总. 楚留香游戏中pc端闪退解决办法 ...

  8. python自带ide和pycharm哪个好_排名前三的Python IDE你选择哪个?我选PyCharm

    世界上最好的 Python 编辑器或 IDE 是什么?炫酷的界面.流畅的体验,我们投 PyCharm一票,那么你呢?编辑Python程序,您有许多选项.有些人仍然喜欢一个基本的文本编辑器,如Emacs ...

  9. python打开文件并读取2进制_在Python中,哪些文件可以读取为文本,哪些文件可以读取为二进制?...

    本问题已经有最佳答案,请猛点这里访问. 我想用open("page.html","r")读取HTML文件. 我做到了没有问题. 我的问题是Python将哪些文件 ...

最新文章

  1. B类产品的科学化设计与分析流程
  2. LogMiner学习笔记
  3. linux ls 配色方案,ubuntu 更改ls配色方案
  4. python如何读取csv文件列表页_每25行读取一个csv文件,并使用python传递到列表
  5. ×××的虚拟专用网--gre
  6. 频率主义(Frequentism)与贝叶斯主义(Bayesianism)的哲学辨异与实践(Python仿真)
  7. Duplicate key
  8. ffplay播放摄像头
  9. 悬置线高通滤波器设计
  10. 【2018华科机试】十二进制
  11. 宝塔面板 - 通过宝塔面板安装的mysql 默认密码是什么
  12. 基于群智能算法的函数最值优化问题
  13. 文心一言的魔性作图,我愣住了……
  14. socket中pack 和 unpack 的使用
  15. SVG排版公众号图文『实时计算日期差』模板代码
  16. 2019AMC美国数学竞赛历年晋级分数线cutoff/DHR公布
  17. 5G NR SUL CA DC对比
  18. 模电——PN结及其特性2
  19. Soundwire 的 Machine Driver
  20. TCPMP编译方法(转载)

热门文章

  1. python结束不退出_Python 基本功: 1. Hello world
  2. mysql 转成树_mysql整形转换的坑
  3. cli3暴露api地址 vue_手把手教你开发 Vue 组件库
  4. 高颜值俄罗斯天才少女加入华为,曾获“编程界的奥林匹克”世界冠军
  5. 用 IDEA 看源码的正确姿势!你掌握了吗?
  6. 秘籍:设计模式PDF学习笔记!
  7. 计算机考古:发现世界上最古老的用户手册
  8. Metaspace 引起的 FullGC 问题排查过程及解决方案
  9. 容器与微服务从技术到艺术 你需要这场论坛
  10. 权限提升 T1548.002 绕过UAC