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<String> gameResult; public static void crGuessingGame(Scanner sc) {
gameResult = new ArrayList<String>();
// 存储结果集
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 + " }");
} }
}

  

猜拳游戏三局两胜------java实现代码的更多相关文章

  1. Python,while循环小例子--猜拳游戏(三局二胜)

    Python,while循环小例子--猜拳游戏(三局二胜) import random all_choice = ['石头', '剪刀', '布'] prompt = '''(0)石头 (1)剪刀 ( ...

  2. 石头剪刀布三局两胜(平局重来break用法)

  3. python 实现剪刀石头布(三局两胜)

    # -*- coding:utf-8 -*- import random # best of three def finger_guess(): rule = {1:'rock', 2:'paper' ...

  4. java 人机猜拳 游戏

    人机猜拳-游戏 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用 定义一个电脑类:Computer.java 点击查看[Computer.java]代码 /** * @Title: 电脑类 ...

  5. JAVA 猜拳游戏

    JAVA 猜拳游戏 题目:通过控制台方式实现一个人机对战的猜拳游戏 用户通过输入(0.石头子 1.剪刀 2.布),机器随机生成(0.石头子 1.剪刀 2.布) 要求: 能打印玩家的对局信息,胜利的次数 ...

  6. 求三数中Max和猜拳游戏

    方法一: Console.WriteLine("请输入三个数字:"); int a = int.Parse(Console.ReadLine()); int b = int.Par ...

  7. python与java的猜拳游戏

    python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...

  8. 人机猜拳游戏Java

    作业要求: 我的代码: package day20181119;/** * 猜拳游戏 * @author Administrator * @version1.0 */import java.util. ...

  9. 有趣的java小项目------猜拳游戏

    package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...

随机推荐

  1. Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)

    Linux课程---3.Linux远程登录和传输(操作Linux服务器软件) 一.总结 一句话总结: xshell:Xshell是一个强大的安全终端模拟软件 Xshell是一个强大的安全终端模拟软件, ...

  2. svn_学习_01_TortoiseSVN使用教程

    二.参考资料 1.TortoiseSVN新人使用指南 2.

  3. Windows PCM音频捕获与播放实现

    在WINDOWS下,音频函数有多种类型,如MCI.多媒体OLE控制.高级音频等,使用方法都比较简单.但如果想编写一个功能较强大的音频处理程序,那就必须使用低级音频函数和多媒体文件I/O来控制音频设备的 ...

  4. 集合划分状压dp

    给一个 $n$ 个点 $m$ 条边的无向图,每条边有 $p_i$ 的概率消失,求图连通的概率 $n \leq 9$ sol: 我们考虑一个 $dp$ $f_{(i,S)}$ 表示只考虑前 $i$ 条边 ...

  5. bzoj 3302&2447&2103 树的双中心 树形DP

    题目: 题解: bzoj 3302 == 2447 == 2103 三倍经验 首先我们考虑枚举两个中心的位置,然后统计答案. 我们发现,一定有一部分点离第一个中心更近,另一部分点离第二个中心更近 如果 ...

  6. 【LeetCode】036. Valid Sudoku

    题目: Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could ...

  7. React 版 V2EX 社区( react & react-router & axios & antd ui)

    目录 项目简介 在线演示 截图演示 踩坑 项目简介(1/4) Github: https://github.com/bergwhite/v2ex-react 项目使用React.Reac-router ...

  8. iOS项目添加PCH文件

    1.单击Info.plist右键单击->New File->Other->PCH File创建PCH文件 文件名设置成:项目名-Prefix  ->点击Create,创建成功. ...

  9. 汇编题目:在屏幕中间显示a-z的所有字母,按ESC键改变字符颜色

    在屏幕中显示a-z字母,按ESC键改变字符颜色. ;程序功能:在屏幕中间同一点显示a-z的所有字符 ; 1.使用cpu循环空运行实现延迟 ; 2.按ESC键改变正在循环显示的字符的颜色 ; 3.程序完 ...

  10. PLSQL Developer安装、配置、连接oracle数据库

    0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...