forked from Yasmin-Camargo/JogoDaForca
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.c
161 lines (131 loc) · 5.34 KB
/
main.c
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
161
// ATENÇÃO: para executar o código não esquecer de compilar pelo terminal:
// gcc main.c ./bibliotecas/boneco_forca.c ./bibliotecas/jogo.c -o main
/*
Trabalho Final - Programação de computadores
Desenvolvido por:
BIANCA BEPPLER DULLIUS
CAROLINE SOUZA CAMARGO
MARIA JULIA DUARTE LORENZONI
YASMIN SOUZA CAMARGO
*/
// BIBLIOTECAS PRÓPIAS
#include "./bibliotecas/boneco_forca.h" //Biblioteca com as versões do boneco forca
#include "./bibliotecas/jogo.h" //Biblioteca com as funções do jogo
// BIBLIOTECAS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <Windows.h>
#include <ctype.h>
#include <locale.h>
// VARIÁVEIS GLOBAIS
char palavra_enviada[100], dica_enviada[100];
// CÓDIGO
int main()
{
int op_menu, op_menu2, op_menu3, op_menu4;
system("color 5F"); // CORES Fundo: Branco; Letra: Roxo
system("title JOGO DA FORCA"); // Altera o nome da janela
setlocale(LC_ALL, "Portuguese"); // habilita a acentuação para o português
animacao_inicio(); //Animação quando usuário entra no jogo
//Verificar se o arquivo histórico existe
FILE *hist_jogadas;
if (hist_jogadas = fopen("./arquivos/historico.txt", "r")) {
fclose(hist_jogadas);
atualiza_lista(); //Caso exista, adicionar jogadas na lista encadeada
} else {
fclose(hist_jogadas);
hist_jogadas = fopen("./arquivos/historico.txt","w"); ////Caso não exista, cria o arquivo para armazenar as jogadas
fclose(hist_jogadas);
}
//MENU DO JOGO
do {
op_menu = menu(); // Função Mostrar o menu
switch (op_menu) {
case 1: //Opção menu: Iniciar jogo
op_menu2 = 1;
while (op_menu2 != 0) {
op_menu2 = sub_menu_iniciar_jogo();
if (op_menu2 == 0) {
/* code */
}
else if (op_menu2 == 1) { //Opção: Modo contra o jogador
// Limpando conteúdo das variaveis
printf("Digite a palavra secreta: ");
fflush(stdin); //Limpeza da entrada padrão
scanf("%[^\n]s", palavra_enviada); //Leitura com espaços " "
fflush(stdin);
printf("Digite a dica: ");
scanf("%[^\n]s", dica_enviada);
modo_contra_pessoa(palavra_enviada, dica_enviada,0); //Função de execução do jogo em si
system("pause");
}
else if (op_menu2 == 2) { //Opção: Modo contra o computador
sorteador_palavras();
system("pause");
}
else {
printf("Digite uma opcao valida");
}
}
break;
case 2: //Opção menu: Como jogar
como_jogar();
break;
case 3: //Opção menu: Desenvolvedores
desenvolvedores();
break;
case 4: //Opção menu: Histórico
op_menu4 = 1;
while (op_menu4 != 0) {
op_menu4 = sub_menu_historico();
if (op_menu4 == 0) {
/* code */
} else if (op_menu4==1) { //Opção: Visualizar Histórico
imprime(ini); //Mostra conteúdo da lista encadeada
system("pause");
} else if (op_menu4==2) { //Opção: Excluir Registro
retira(ini); //Busca e exclui item do histórico na lista encadeada
} else {
printf("Digite uma opcao valida");
}
}
break;
case 5: //Opção menu: Arquivo de palavras
op_menu3 = 1;
while (op_menu3 != 0) {
op_menu3 = sub_menu_arquivo();
if (op_menu3 == 0) {
/* code */
} else if (op_menu3==1) { //Opção: Visualizar Palavras sorteador
visualisar_palavras();
} else if (op_menu3==2) { //Opção: Adicionar uma palavra
inserir_palavra();
} else if (op_menu3==3) { //Opção: Excluir palavra
excluir_palavra();
} else {
printf("Digite uma opcao valida");
}
}
break;
case 0: //Opção menu: Sair do jogo
system("cls");
printf("\n\n\t*------------------------------------------------------------* \n");
printf("\n \t\t\t Obrigado por jogar :) ");
printf("\n\n\t*------------------------------------------------------------*\n\n\n\n");
system("pause");
break;
default: //Nenhuma das opçoes: Mensagem de erro
system("cls");
printf("\n\n");
printf(" \\_(o_o)_/ \n");
printf(" | | \n");
printf(" / \\ ");
printf("\n\n OPCAO INVALIDA, POR FAVOR TENTE NOVAMENTE \n\n\n");
system("pause");
break;
}
} while (op_menu != 0);
return 0;
}