-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ejercicio13.c
179 lines (179 loc) · 5.72 KB
/
Ejercicio13.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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*******************PRESENTACIÓN********************
NOMBRE: Alejandra Estefanía Martínez Muñoz
FECHA: 24 de marzo de 2023
PROGRAMA: ejercicio13.c
CENTRO UNIVERSITARIO DE LOS ALTOS / UNIVERSIDAD DE GUADALAJARA
INGENIERÍA EN COMPUTACIÓN / 2DO SEMESTRE
PROFESOR: Carlos Javier Cruz Franco
DESCRIPCIÓN: Hacer juego del gato
***************************************************/
#include <stdio.h>//Incluir libreria
//Apartado de voids
void muestra(char gato[3][3]){//Para mostrar los lugares ocupados o no
printf(" | %c", gato[0][0]); //Fila 0
printf(" | %c", gato[0][1]);
printf(" | %c |", gato[0][2]);
printf("\n | %c", gato[1][0]); //Fila 1
printf(" | %c", gato[1][1]);
printf(" | %c |", gato[1][2]);
printf("\n | %c", gato[2][0]); // Fila 2
printf(" | %c", gato[2][1]);
printf(" | %c |", gato[2][2]);
}
int ganador(char gato[3][3]){//Condiciones para determinar ganador
//Declaracion de variables a usar dentro del void
for (int i=0; i<3; i++){//Revisar filas
if (gato[i][0]=='x'&&gato[i][1]=='x'&&gato[i][2]=='x'||gato[i][0]=='o'&&gato[i][1]=='o'&&gato[i][2]=='o'){
printf("\n - ¡Ha ganado el jugador %c!\n", gato[i][0]);
}
}
for (int j=0; j<3; j++){//Revisar columnas
if (gato[0][j]=='x'&&gato[1][j]=='x'&&gato[2][j]=='x'||gato[0][j]=='o'&&gato[1][j]=='o'&&gato[2][j]=='o'){
printf("\n - ¡Ha ganado el jugador %c!\n", gato[0][j]);
}
}
if(gato[0][0]=='x'&&gato[1][1]=='x'&&gato[2][2]=='x'||gato[0][0]=='o'&&gato[1][1]=='o'&&gato[2][2]=='o'){//Revisar diagonales
printf("\n - ¡Ha ganado el jugador %c!\n", gato[0][0]);
}
if(gato[0][2]=='x'&&gato[1][1]=='x'&&gato[2][0]=='x'||gato[0][2]=='o'&&gato[1][1]=='o'&&gato[2][0]=='o'){
printf("\n - ¡Ha ganado el jugador %c!\n", gato[0][2]);
}
}
void pregunta(char volver){//Repetir el juego
printf("\n - ¿Volver a jugar?\n s / n\n ->");
scanf("%c", &volver);
}
void lugar(char gato[3][3]){//Para seleccionar el lugar poner jugando contra computadora
int lug;//Declaracion de variables a usar dentro del void
char volver;
do{//Abrir ciclo
printf(" - Selecciona el jugar\n\t1 | 2 | 3\n\t4 | 5 | 6\n\t7 | 8 | 9\n\t ->");
scanf("%i", &lug);
getchar();
switch(lug){
case 1://Lugar [0][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][0]);
getchar();//Esta cosa la tuve que poner porque se brincaba todo :O
break;
case 2://Lugar [0][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][1]);
getchar();
break;
case 3://Lugar [0][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][2]);
getchar();
break;
case 4://Lugar [1][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][0]);
getchar();
break;
case 5://Lugar [1][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][1]);
getchar();
break;
case 6://Lugar [1][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][2]);
getchar();
break;
case 7://Lugar [2][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][0]);
getchar();
break;
case 8://Lugar [2][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][1]);
getchar();
break;
case 9://Lugar [2][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][2]);
getchar();
break;
}muestra(gato);//Llamar a voids
ganador(gato);
}while(ganador);
pregunta(volver);
}
void lugar_amigo(char gato[3][3]){//Para seleccionar el lugar poner jugando contra amigo
int lug;//Declaracion de variables a usar dentro del void
char volver;
do{//Inicio de ciclo
printf(" - Selecciona el jugar\n\t1 | 2 | 3\n\t4 | 5 | 6\n\t7 | 8 | 9\n\t ->");
scanf("%i", &lug);
getchar();
switch(lug){
case 1://Lugar [0][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][0]);
getchar();
break;
case 2://Lugar [0][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][1]);
getchar();
break;
case 3://Lugar [0][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[0][2]);
getchar();
break;
case 4://Lugar [1][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][0]);
getchar();
break;
case 5://Lugar [1][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][1]);
getchar();
break;
case 6://Lugar [1][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[1][2]);
getchar();
break;
case 7://Lugar [2][0]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][0]);
getchar();
break;
case 8://Lugar [2][1]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][1]);
getchar();
break;
case 9://Lugar [2][2]
printf(" - Escoge el signo:\n\tx | o\n\t ->");
scanf("%c", &gato[2][2]);
getchar();
break;
}muestra(gato);//Llamar a voids
ganador(gato);
}while(ganador);
pregunta(volver);
}
int main (){//Programa principal
int modo;//Declarar variables para selecciones
char volver, gato[3][3];
printf(" J U E G O G A T O #\n");//Muestra de menu de opciones
do{ printf("--------------------------------\n| 1. Jugar contra computadora |\n| 2. Jugar contra amigo |\n--------------------------------\n\t\t-> ");
scanf("%i", &modo);
switch(modo){
case 1://Jugar gato contra computadora
lugar(gato);
break;
case 2://Jugar gato contra amigo
lugar_amigo(gato);
break;
}pregunta(volver);
}while(volver=='s');//Para repetir ciclo do
printf(" A D I O S :D");
return 0;//Termino de programa
}