-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalgorithm.txt
160 lines (131 loc) · 4.66 KB
/
algorithm.txt
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
algoritmo "jogo-pedra-papel-tesoura"
FEITO
Funcao randomComputerHand() : Caractere
Var
randomNumber: Inteiro
Inicio
// TODO: Gerar um numero aleatorio e depois fazer um switch: pedra [1],
//papel [2], tesoura [3]
randomNumber <- RandI(3)
// Transforme o número gerado em texto
Se (randomNumber = 0) entao
retorne "pedra"
Senao
Se (randomNumber = 1) entao
retorne "papel"
Senao
Se (randomNumber = 2)entao
retorne "tesoura"
FimSe
FimSe
FimSe
FimFuncao
Funcao geraPlayer1(): Caractere
var
player1: Caractere
Inicio
EscrevaL("----------------------------------------")
EscrevaL("Escolha uma opção: pedra, papel, tesoura")
EscrevaL("----------------------------------------")
Leia(player1)
retorne Minusc(player1)
FimFuncao
Funcao playRound(player1, cpu: Caractere) : Caractere
// Escreva uma função que joga uma unica rodada de pedra, papel, tesoura.
// inputs: userHand, computerHand
// output: você perdeu, mãoX ganha de mãoY | você venceu, mãoX ganha de mãoY,
// empate: mãoZ empata com mãoZ
// Processamento: Comparar primeiro a mão do player e decidir qual o tipo,
// Depois comparar com a mão do pc.
// Verificar Se a mão do usuário vence a mão do PC através de if else
Inicio
// Mostra na tela as mãos
EscrevaL("A sua mão foi: ", player1)
EscrevaL("A mão do PC foi: ", cpu)
// Processa o resultado
Se (player1 = "pedra") entao
Se (cpu = "tesoura") entao
retorne "Você venceu. Pedra ganha tesoura"
Senao
Se (cpu = "pedra") entao
retorne "Empate. Os dois jogaram pedra"
Senao
retorne "cccc"
FimSe
FimSe
Senao
Se (player1 = "papel") entao
Se (cpu = "pedra") entao
retorne "Você venceu. Pedra ganha de tesoura"
Senao
Se (cpu = "papel") entao
retorne "Empate. Os dois escolheram papel."
Senao
retorne "Você perdeu. Tesoura ganha de Papel."
FimSe
FimSe
Senao
Se (player1 = "tesoura") entao
Se (cpu = "pedra") entao
retorne "Você perdeu. Pedra ganha tesoura"
Senao
Se(cpu = "papel")entao
retorne "Você venceu. Tesoura ganha de Papel."
Senao
retorne "Empate. Os dois jogaram Tesoura."
FimSe
FimSe
FimSe
FimSe
FimSe
FimFuncao
Funcao game(quantidadeRodadas: Inteiro): Caractere
// Escreva uma funcao que jogue 5 rounds, usando a funcao playRound(),
// mostrando o resultado à cada rodada e mantendo o placar.
Var
contador: Inteiro
resultado, computerHand, userHand, placar: Caractere
Inicio
// Adiciona um loop que joga o número de rodadas que o player quer.
Para contador <- 1 ate quantidadeRodadas faca
// inputs do game:
// Gera mão do pc
computerHand <- randomComputerHand()
// Pergunta mão do jogador
userHand <- geraPlayer1()
// Joga uma rodada e salva o resultado em texto
resultado <- playRound(userHand, computerHand)
EscrevaL (resultado) // Você ganhou / Você Perdeu / Empate //
FimPara
// Ao final do loop, retorna o placar final da partida.
placar <- "Placar teste: Player 2 - 0 CPU"
retorne placar
FimFuncao
var
inicio
EscrevaL(game(2))
// userHand <- Escolha uma opção: pedra, papel, tesoura, depois transforma em
// minusc, para que não haja erro.
// Outputs
// Três opções:
// Você ganhou! X vence Y
// Você perdeu! y vence z
// Houve um empate, X empata com X
// Processamento:
// computerHand <- Gerar numero aleatorio entre 1 e 3, sendo: pedra [1],
// papel [2], tesoura [3]
// Caso a Mão do usuário for: Pedra
// pc == pedra: empate
// pc == tesoura, você venceu
// pc == papel, você perdeu
// Caso mão usuario: tesoura
// pc == pedra: voce perdeu
// pc == tesoura, empate
// pc == papel, você venceu.
// Caso mão usuario: papel
// pc == pedra: voce venceu
// pc == tesoura, você perdeu
// pc == papel, empate.
fimalgoritmo
// Falta adicionar uma variável de controle de placar. Ideia: Adicionar tal variável na função playRound, então ela faz a verificação
// e depois adiciona mais um ponto para o pc ou para o jogador.