๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/Java

[Java] Chapter02: ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„

by HanaV 2023. 3. 18.
728x90

A์™€ B๊ฐ€ ํ•˜๋Š” ๊ฐ€์œ„๋ฐ”์œ„๋ณด(Rock Paper Scissors) ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด์ž.

 

1. ๋จผ์ € A์™€ B๊ฐ€ ๋‚ด๋Š” ๊ฒƒ์„ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•œ๋‹ค.

		System.out.print("A >> ");
		String var1 = scanner.next();
		
		System.out.print("B >> ");
		String var2 = scanner.next();

2. Rock Paper Scissors๋ฅผ ์ธ์‹ํ•œ ํ›„, ์Šน๊ณผ ํŒจ, ๋ฌด์Šน๋ถ€์˜ ๊ฒฝ์šฐ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

2-1. ๋‹จ์ˆœํžˆ Rock Paper Scissors ๋ฌธ์ž์—ด ๊ทธ ์ž์ฒด๋กœ ๋น„๊ตํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, Rock Paper Scissors์— 1, 2, 3์„ ์ž…๋ ฅ์‹œ์ผœ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ํ›„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์˜€๋‹ค.

2-2. Rock Paper Scissors๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋์„ ๊ฒฝ์šฐ, ์˜ค๋ฅ˜๋กœ ํŒ๋‹จํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด 1, 2, 3๋ณด๋‹ค ํ›จ์”ฌ ํฐ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด ์ž˜๋ชป ์ž…๋ ฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•œ๋‹ค.

		int choice1;

		if (var1.equals("Rock"))
			choice1 = 1;
		else if (var1.equals("Paper"))
			choice1 = 2;
		else if (var1.equals("Scissors"))
			choice1 = 3;
		else // Error
			choice1 = 10;

 

2-3. A์™€ B์˜ ์ˆซ์ž๋ฅผ ๋นผ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ์ŠนํŒจ๋ฅผ ํ™•์ธํ•œ๋‹ค.

	Rock Paper = -1, B wins
	Rock Scissors = -2, A wins
	Paper Rock = 1, A wins
	Paper Scissors = -1, B wins
	Scissors Rock = 2, B wins
	Scissors Paper = 1, A wins
	a = -2, 1 >> A wins
	a = -1, 2 >> B wins
	a = 0 >> tie

3. a์˜ ๊ฐ’์— ๋”ฐ๋ผ ๊ฐ€์œ„๋ฐ”์œ„๋ณด์˜ ๊ฒฐ๊ณผ๋ฅผ ํ”„๋ฆฐํŠธํ•œ๋‹ค.

3-1. choice1 - choice2 ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ด 5๊ฐ€์ง€(Error ์ œ์™ธ)์ด๊ณ  ์ •์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์—, switch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค.

		int a = choice1 - choice2;
		switch (a) {
		case -2:
		case 1:
			System.out.println("A is the winner!");
			break;
		case -1:
		case 2:
			System.out.println("B is the winner!");
			break;
		case 0:
			System.out.println("It's a tie.");
			break;
		default:
			System.out.println("Error");
		}

 

 

์ „์ฒด ์ฝ”๋“œ

package Chapter02;

import java.util.Scanner;
public class OpenChallenge2 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("<Rock Paper Scissors Game> Choose among Rock, Paper and Scissors.");
		
		System.out.print("A >> ");
		String var1 = scanner.next();
		
		System.out.print("B >> ");
		String var2 = scanner.next();
		
	//Converting to numbers
		int choice1, choice2;
		//var1 => choice1
		if (var1.equals("Rock"))
			choice1 = 1;
		else if (var1.equals("Paper"))
			choice1 = 2;
		else if (var1.equals("Scissors"))
			choice1 = 3;
		else // Error
			choice1 = 10;
		
		//var2 => choice2
		if (var2.equals("Rock"))
			choice2 = 1;
		else if (var2.equals("Paper"))
			choice2 = 2;
		else if (var2.equals("Scissors"))
			choice2 = 3;
		else // Error
			choice2 = -10;
	
		//result
		int a = choice1 - choice2;
		switch (a) {
		case -2:
		case 1:
			System.out.println("A is the winner!");
			break;
		case -1:
		case 2:
			System.out.println("B is the winner!");
			break;
		case 0:
			System.out.println("It's a tie.");
			break;
		default:
			System.out.println("Error");
		}
		
		scanner.close();
			
	}
	

}

Console

<Rock Paper Scissors Game> Choose among Rock, Paper and Scissors.
A >> Rock
B >> Paper
B is the winner!

 

 

๊ทผ๋ฐ ๊ณผ์—ฐ ์ˆซ์ž๋กœ ๋ณ€ํ™˜์‹œ์ผœ์„œ ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ธ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.. ๊ทธ๋ƒฅ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณด๊ธฐ ํŽธํ•˜๊ฒ ๋‹ค ์‹ถ์–ด์„œ ํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ๋‹จ์ˆœํžˆ ๋นผ๊ธฐ ์—ฐ์‚ฐ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์œผ๋กœ๋„ ๋” ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•  ๊ฑฐ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ .. ๋‚ด๊ฐ€ ๋ณด๊ธฐ ํŽธํ•œ ๊ฒŒ ์ปดํ“จํ„ฐ๊ฐ€ ๋” ์ข‹์€ ๊ฒŒ ์•„๋‹ˆ๊ธฐ๋„ ํ•˜๋‹ˆ๊นŒ..

728x90

"); wcs_do();