Prévia do material em texto
// Disciplina : [Linguagem e Lógica de Programação]
// Professor : Antonio Carlos Nicolodi
// Arquivo com um algoritmo: C:\Users\Viktor\Algoritmos\JOGO DA FORCA FINAL.ALG
// Data de impressão: 24/02/2018
1 algoritmo "JOGO DA FORCA"
2 var
3 verif:logico
4 pal:vetor[0..9] de caractere
5 desc:vetor[1..20] de caractere
6 rep:vetor[1..26] de caractere
7 acerto,tent,erro,tletras,i,sort,c: inteiro
8 rletra,dica,jnov,m,pospal,resp,letra:caractere
9
10 Procedimento adivinha()//Escreve as "_" com a quantidade de letras
11 var
12 l: inteiro
13 inicio
14 Para l <- 1 ate Compr(pal[sort]) faca
15 Se (desc[l] = "") entao
16 desc[l] <- "_"
17 FimSe
18 Escreva(desc[l]:3)
19 pospal <- pal[sort]
20 FimPara
21 Escreval()
22 FimProcedimento
23
24 Procedimento desenho()
25
26 inicio
27 //Desenhos conforme os erros
28 Se (tent = 0) entao
29 Escreval("_______________________ ")
30 Escreval("|/ |")
31 Escreval("| |")
32 Escreval("| ")
33 Escreval("| ")
34 Escreval("| ")
35 Escreval("| ")
36 Escreval("| ")
37 Escreval("|")
38 Escreval("|")
39 Escreval("|")
40 Escreval("|\_______________________")
41 Escreval("|________________________|")
42 FimSe
43 Se (tent = 1) entao
44 Escreval("_______________________ ")
45 Escreval("|/ |")
46 Escreval("| |")
47 Escreval("| O")
48 Escreval("| ")
49 Escreval("| ")
50 Escreval("| ")
51 Escreval("|")
52 Escreval("|")
53 Escreval("|")
54 Escreval("|")
55 Escreval("|\_______________________ ")
56 Escreval("|________________________|")
57 FimSe
58 Se (tent = 2) entao
59 Escreval("_______________________ ")
60 Escreval("|/ |")
61 Escreval("| |")
62 Escreval("| O")
63 Escreval("| /|\")
64 Escreval("| ")
65 Escreval("| ")
66 Escreval("|")
67 Escreval("|")
68 Escreval("|")
69 Escreval("|")
70 Escreval("|\_______________________ ")
71 Escreval("|________________________|")
72 FimSe
73 Se (tent = 3) entao
74 Escreval("_______________________ ")
75 Escreval("|/ |")
76 Escreval("| |")
77 Escreval("| O")
78 Escreval("| /|\")
79 Escreval("| |")
80 Escreval("| ")
81 Escreval("|")
82 Escreval("|")
83 Escreval("|")
84 Escreval("|")
85 Escreval("|\_______________________ ")
86 Escreval("|________________________|")
87 FimSe
88 Se (tent = 4) entao
89 Escreval("_______________________ ")
90 Escreval("|/ |")
91 Escreval("| |")
92 Escreval("| O")
93 Escreval("| /|\")
94 Escreval("| |")
95 Escreval("| / \")
96 Escreval("|")
97 Escreval("|")
98 Escreval("|")
99 Escreval("|")
100 Escreval("|\_______________________ ")
101 Escreval("|________________________|")
102 FimSe
103
104 FimProcedimento
105 inicio
106
107 //Sorteio da palavra
108 pal[0] <- "china"
109 pal[1] <- "casa"
110 pal[2] <- "rua"
111 pal[3] <- "terra"
112 pal[4] <- "computador"
113 pal[5] <- "televisao"
114 pal[6] <- "porta"
115 pal[7] <- "paralelepipedo"
116 pal[8] <- "egito"
117 pal[9] <- "brasil"
118 sort <- randi(9)// Comando que deixa o computador escolher aleatoriamente o vetor
119 tletras <- Compr(pal[sort])
120 tent <- 0
121
122 //Seleciona a dica da palavra
123 Escolha (sort)
124 Caso 0
125 dica <- ("É um pais")
126 Caso 1
127 dica <- ("É um tipo de moradia")
128 Caso 2
129 dica <- ("Um tipo de estrada")
130 Caso 3
131 dica <- ("Um Planeta")
132 Caso 4
133 dica <- ("Um tipo de eletrodomestico")
134 Caso 5
135 dica <- ("Um tipo de eletrodomestico")
136 Caso 6
137 dica <- ("Muitas pessoas abrem e fecham")
138 Caso 7
139 dica <- ("Usado em ruas antigas")
140 Caso 8
141 dica <- ("É um pais")
142 Caso 9
143 dica <- ("É um pais")
144 FimEscolha
145
146
147 //Desenha a tela do progrma, perguta a letra e mostra as letras repetidas
148 Repita
149 Limpatela
150 acerto <- 0
151 erro <- 0
152 desenho()
153 adivinha()
154 c <- c+1
155 Escreval("LETRAS USADAS: ",rletra)
156 EscrevaL("DiCA: ",dica)
157 Repita
158 Escreva("Digite uma letra: ")
159 Leia(letra)
160
161 verif <- verdadeiro // teste logico para letra repetida
162 Para i <- 1 ate 26 faca
163 Se(rep[i] = letra) entao
164 verif <- falso
165 FimSe
166 FimPara
167 se (verif = falso) entao
168 EscrevaL("VOCE JA USOU ESSA LETRA, DIGITE OUTRA")
169 FimSe
170 rep[c] <- letra
171 Ate (verif = verdadeiro)
172
173 Para i <- 1 ate Compr(pal[sort]) faca //Digita a letra correta da palavra na
FORCA
174 Se (Copia(pospal,i,1) = letra) entao
175 desc[i] <- maiusc(letra)
176 tletras <- tletras - 1
177 acerto <- 1
178 FimSe
179 FimPara
180
181 rletra <- rletra +(" ")+ maiusc(letra)//Mostra as letras que já foram usadas
182
183 Para i <- 1 ate Compr(pal[sort]) faca //Contador de erro
184 Se (Copia(pospal,i,1) <> letra) entao
185 erro <- 1
186 FimSe
187 FimPara
188 Se (erro = 1) e (acerto = 0) entao
189 Escreva("VOCE ERROU!!")
190 Escreva("PRESSIONE 'ENTER',PARA CONTINUAR")
191 leia(m)
192 tent <- tent + 1
193 FimSe
194 Ate(tletras = 0) ou (tent = 4)
195
196 LimpaTela //Resultado final
197 desenho()
198 Se (tletras = 0) entao
199 Escreval("VOCE GANHOU O JOGO!!!")
200 Escreval("A PALAVRA CORRETA É:",maiusc(pospal))
201 FimSe
202 Se (tent = 4) entao
203 Escreval("VOCE PERDEU O JOGO!!!")
204 Escreval("A PALAVRA CORRETA É:",maiusc(pospal))
205 FimSe
206 fimalgoritmo