码迷,mamicode.com
首页 > 编程语言 > 详细

猜拳游戏三局两胜------java实现代码

时间:2018-05-02 23:58:00      阅读:428      评论:0      收藏:0      [点我收藏+]

标签:and   pap   class   exe   pre   def   .exe   ber   实现   

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实现代码

标签:and   pap   class   exe   pre   def   .exe   ber   实现   

原文地址:https://www.cnblogs.com/caoleiCoding/p/8983121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!