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!
๊ทผ๋ฐ ๊ณผ์ฐ ์ซ์๋ก ๋ณํ์์ผ์ ํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ธ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.. ๊ทธ๋ฅ ์ด๋ ๊ฒ ํ๋ฉด ๋ณด๊ธฐ ํธํ๊ฒ ๋ค ์ถ์ด์ ํ๊ธด ํ๋๋ฐ ๋จ์ํ ๋นผ๊ธฐ ์ฐ์ฐ์ด ์๋ ๋ค๋ฅธ ์ฐ์ฐ์ผ๋ก๋ ๋ ๋ณด๊ธฐ ์ฝ๊ฒ ๊ฐ๋ฅํ ๊ฑฐ ๊ฐ๊ธฐ๋ ํ๊ณ .. ๋ด๊ฐ ๋ณด๊ธฐ ํธํ ๊ฒ ์ปดํจํฐ๊ฐ ๋ ์ข์ ๊ฒ ์๋๊ธฐ๋ ํ๋๊น..
'๐ฅ๏ธ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํ์ ์ ๋ณด๋ฅผ ๋ฐ๋ ๊ธฐ๋ณธ ์ฝ๋ (0) | 2023.03.20 |
---|---|
[Java] ๋ฐฐ์ด: ์์ ์ฝ๋๋ก ๋ฐฐ์ด ์์ฑ, ๋ฐฐ์ด ์์ ๊ฐ์ฒด ์์ฑ, ๋ฐฐ์ด ์ถ๋ ฅํ๋ ๋ฒ ๋ฐฐ์ฐ๊ธฐ (0) | 2023.03.19 |
[Java] ์์ฑ์(Constructor)์ ํน์ง (0) | 2023.03.19 |
[Java] this(): ์ฝ๋๋ก this() ๋ฉ์๋ ์ดํดํ๊ธฐ (0) | 2023.03.19 |
[Java] Chapter03: ์ซ์ ๋ง์ถ๊ธฐ ๊ฒ์ (Up&Down) (2) | 2023.03.19 |