BAEL-5379-create-simple-rock-paper-scissors-game (#11855)
* BAEL-5379-create-simple-rock-paper-scissors-game * BAEL-5379-create-simple-rock-paper-scissors-game * BAEL-5379-create-simple-rock-paper-scissors-game Co-authored-by: tienvn4 <tienvn4@ghtk.co>
This commit is contained in:
parent
6ca42b7a4e
commit
1d80576a7c
@ -1,17 +1,24 @@
|
|||||||
package com.baeldung.game;
|
package com.baeldung.game;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
class RockPaperScissorsGame {
|
class RockPaperScissorsGame {
|
||||||
|
|
||||||
private static Map<Integer, String> movesMap = new HashMap<Integer, String>() {{
|
enum Move {
|
||||||
put(0, "rock");
|
ROCK("rock"),
|
||||||
put(1, "paper");
|
PAPER("paper"),
|
||||||
put(2, "scissors");
|
SCISSORS("scissors");
|
||||||
}};
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
Move(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Scanner scanner = new Scanner(System.in);
|
Scanner scanner = new Scanner(System.in);
|
||||||
@ -31,7 +38,7 @@ class RockPaperScissorsGame {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!movesMap.containsValue(playerMove)) {
|
if (Arrays.stream(Move.values()).noneMatch(x -> x.getValue().equals(playerMove))) {
|
||||||
System.out.println("Your move isn't valid!");
|
System.out.println("Your move isn't valid!");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -51,15 +58,15 @@ class RockPaperScissorsGame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isPlayerWin(String playerMove, String computerMove) {
|
private static boolean isPlayerWin(String playerMove, String computerMove) {
|
||||||
return playerMove.equals("rock") && computerMove.equals("scissors")
|
return playerMove.equals(Move.ROCK.value) && computerMove.equals(Move.SCISSORS.value)
|
||||||
|| (playerMove.equals("scissors") && computerMove.equals("paper"))
|
|| (playerMove.equals(Move.SCISSORS.value) && computerMove.equals(Move.PAPER.value))
|
||||||
|| (playerMove.equals("paper") && computerMove.equals("rock"));
|
|| (playerMove.equals(Move.PAPER.value) && computerMove.equals(Move.ROCK.value));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getComputerMove() {
|
private static String getComputerMove() {
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
int randomNumber = random.nextInt(3);
|
int randomNumber = random.nextInt(3);
|
||||||
String computerMove = movesMap.get(randomNumber);
|
String computerMove = Move.values()[randomNumber].getValue();
|
||||||
System.out.println("Computer move: " + computerMove);
|
System.out.println("Computer move: " + computerMove);
|
||||||
return computerMove;
|
return computerMove;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user