猜拳游戲三局兩勝------java實現代碼


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 + " }");
		}

	}
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM