-
Notifications
You must be signed in to change notification settings - Fork 127
/
Copy pathPedraPapelTesouraLagartoSpock.java
104 lines (86 loc) · 3.42 KB
/
PedraPapelTesouraLagartoSpock.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Pedra, Papel, Tesoura, Lagarto e Spock
/* Pedra-papel-tesoura-lagarto-Spock é uma expansão do clássico método de
seleção em jogo de pedra-papel-tesoura. Atua sob o mesmo princípio básico,
mas inclui outras duas armas adicionais: o lagarto (formado pela mão igual a
uma boca de fantoche) e Spock (formada pela saudação dos vulcanos em Star Trek).
Isso reduz as chances de uma rodada terminar em um empate. O jogo foi
inventado por Sam Kass e Karen Bryla, como "Rock Paper Scissors Lizard Spock".
As regras de vantagem são as seguintes:
• Tesoura corta papel
• Papel cobre pedra
• Pedra derruba lagarto
• Lagarto adormece Spock
• Spock derrete tesoura
• Tesoura prende lagarto
• Lagarto come papel
• Papel refuta Spock
• Spock vaporiza pedra
• Pedra quebra tesoura
Um dia, duas amigas, Fernanda e Marcia, decidiram apostar quem pagaria um
almoço para o outro, com esta brincadeira. Sua missão será fazer um algoritmo
que, baseado no que eles escolherem, informe quem irá ganhar ou se dará empate.
- Entrada
Haverá diversos casos de teste. O primeiro número a ser lido será um inteiro,
representando a quantidade de casos de teste. Cada caso de teste tem duas
palavras, representando a escolha de Fernanda e de Marcia, respectivamente.
- Saída
Para cada caso de teste, imprima quem venceu, ou se houve empate. */
import java.util.*;
public class PedraPapelTesouraLagartoSpock {
public static void main(String[] args) {
Scanner scr = new Scanner(System.in);
int casos = scr.nextInt();
scr.nextLine();
List<Regra> regras = new ArrayList<>();
regras.add(new Regra("tesoura", "papel"));
regras.add(new Regra("papel", "pedra"));
regras.add(new Regra("pedra", "lagarto"));
regras.add(new Regra("lagarto", "spock"));
regras.add(new Regra("spock", "tesoura"));
regras.add(new Regra("tesoura", "lagarto"));
regras.add(new Regra("lagarto", "papel"));
regras.add(new Regra("papel", "spock"));
regras.add(new Regra("spock", "pedra"));
regras.add(new Regra("pedra", "tesoura"));
for (int i = 0; i < casos; i++) {
List<String> palavras = Arrays.asList(scr.nextLine().split(" "));
if(palavras.get(0).equals(palavras.get(1))){
System.out.println("empate");
} else {
boolean primeiro = false;
for (Regra r : regras) {
if (r.getVence().equals(palavras.get(0)) && r.getPerde().equals(palavras.get(1))) {
primeiro = true;
break;
}
}
if(primeiro) {
System.out.println("fernanda");
} else {
System.out.println("marcia");
}
}
}
}
public static class Regra {
private String vence;
private String perde;
public Regra(String vence,
String perde) {
this.vence = vence;
this.perde = perde;
}
public String getVence() {
return vence;
}
public void setVence(String vence) {
this.vence = vence;
}
public String getPerde() {
return perde;
}
public void setPerde(String perde) {
this.perde = perde;
}
}
}