Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wu-e001
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Silvia Barrientos
wu-e001
Commits
89190682
Commit
89190682
authored
Sep 01, 2020
by
Silvia Barrientos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tarea
parents
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
229 additions
and
0 deletions
+229
-0
README.md
+9
-0
ta-te-ti.c
+220
-0
No files found.
README.md
0 → 100644
View file @
89190682
Instrucciones
Por consola
-Abrir la consola.
-Ubicarse donde se encuentra el archivo .c
-Ejecutar el comando gcc nombreArchivo(ta-te-ti.c) para compilar
-Ejecutar el comando ./a.out para ejecutar el archivo
Observaciones
-El programa no esta terminado.
ta-te-ti.c
0 → 100644
View file @
89190682
#include <stdio.h>
#include <string.h>
#define CRUZ 'X'
#define CARA 'O'
#define VACIO ' '
#define TRES 3
#define ABC "ABC"
void
imprimirCabecera
();
void
imprimirTabla
(
char
[][
TRES
]);
char
validarJugada
(
char
[][
TRES
],
char
,
int
,
char
);
int
fila
(
char
[][
TRES
]);
int
columna
(
char
[][
TRES
]);
int
diagonalPrincipal
(
char
[][
TRES
]);
int
diagonalSecundaria
(
char
[][
TRES
]);
char
turnoVal
(
char
);
int
main
(
void
){
char
matriz
[
TRES
][
TRES
]
=
{{
VACIO
,
VACIO
,
VACIO
},{
VACIO
,
VACIO
,
VACIO
},{
VACIO
,
VACIO
,
VACIO
}};
char
ganador
=
VACIO
;
imprimirCabecera
();
imprimirTabla
(
matriz
);
ganador
=
validarJugada
(
matriz
,
CRUZ
,
0
,
VACIO
);
if
(
ganador
==
VACIO
){
printf
(
"
\n
EMPATE
\n
FIN DEL JUEGO
\n
"
);
}
else
if
(
ganador
==
CRUZ
){
printf
(
"
\n
GANADOR %c:
\n
FIN DEL JUEGO
\n
"
,
ganador
);
}
else
if
(
ganador
==
CARA
){
printf
(
"
\n
GANADOR %c:
\n
FIN DEL JUEGO
\n
"
,
ganador
);
}
return
0
;
}
/*IMPRIME LA CABECERA*/
void
imprimirCabecera
(){
printf
(
"
\n
Bienvenidos al TA-TE-TI de <Silvia Barrientos> del BootCamp 008 de Roshka.
\n
"
);
}
/*IMPRIME LA TABLA DE JUEGO*/
void
imprimirTabla
(
char
mat
[][
TRES
]){
printf
(
"
\n\t
1 2 3
\n
"
);
for
(
int
i
=
0
;
i
<
TRES
;
i
++
){
printf
(
"
\n
%c
\t
%c | %c | %c
\n
"
,
ABC
[
i
],
mat
[
i
][
0
],
mat
[
i
][
1
],
mat
[
i
][
2
]);
if
(
i
<
2
)
{
printf
(
"
\t
---|---|---"
);
}
}
printf
(
"
\n
"
);
}
/*VALIDACIÓN PARCIAL DE LAS JUGADAS*/
char
validarJugada
(
char
mat
[][
TRES
],
char
turno
,
int
contador
,
char
ganador
){
char
jugada
[
2
];
if
((
contador
>=
TRES
*
TRES
)
||
(
ganador
!=
VACIO
)){
return
ganador
;
}
else
{
printf
(
"%c -> Ingrese jugada: "
,
turno
);
scanf
(
"%s"
,
jugada
);
if
(
strcmp
(
jugada
,
"A1"
)
==
0
)
if
(
mat
[
0
][
0
]
==
VACIO
){
mat
[
0
][
0
]
=
turno
;
contador
++
;
}
else
{
printf
(
"
\n
ERR: Jugada Inválida - Casilla Ocupada
\n
"
);
}
else
if
(
strcmp
(
jugada
,
"A2"
)
==
0
)
if
(
mat
[
0
][
1
]
==
VACIO
){
mat
[
0
][
1
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"A3"
)
==
0
)
if
(
mat
[
0
][
2
]
==
VACIO
){
mat
[
0
][
2
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"B1"
)
==
0
)
if
(
mat
[
1
][
0
]
==
VACIO
){
mat
[
1
][
0
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"B2"
)
==
0
)
if
(
mat
[
1
][
1
]
==
VACIO
){
mat
[
1
][
1
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"B3"
)
==
0
)
if
(
mat
[
1
][
2
]
==
VACIO
){
mat
[
1
][
2
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"C1"
)
==
0
)
if
(
mat
[
2
][
0
]
==
VACIO
){
mat
[
2
][
0
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"C2"
)
==
0
)
if
(
mat
[
2
][
1
]
==
VACIO
){
mat
[
2
][
1
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
else
if
(
strcmp
(
jugada
,
"C3"
)
==
0
)
if
(
mat
[
2
][
2
]
==
VACIO
){
mat
[
2
][
2
]
=
turno
;
contador
++
;
}
else
{
printf
(
"ERR: Jugada Inválida - Casilla Ocupada"
);
}
imprimirTabla
(
mat
);
if
(
fila
(
mat
)
==
0
||
columna
(
mat
)
==
0
||
diagonalPrincipal
(
mat
)
==
0
||
diagonalSecundaria
(
mat
)
==
0
){
ganador
=
turno
;
}
turno
=
turnoVal
(
turno
);
validarJugada
(
mat
,
turno
,
contador
++
,
ganador
);
}
}
//Cambia turno de jugador
char
turnoVal
(
char
t
){
if
(
t
==
CRUZ
){
return
CARA
;
}
else
{
return
CRUZ
;
}
}
int
fila
(
char
mat
[][
TRES
]){
int
bandera
=
0
;
for
(
int
fila
=
0
;
fila
<
TRES
;
fila
++
){
for
(
int
columna
=
0
;
columna
<
TRES
-
1
;
columna
++
){
if
(
mat
[
fila
][
columna
]
==
mat
[
fila
][
columna
+
1
]
)
{
bandera
=
1
;
}
else
{
bandera
=
0
;
}
}
}
return
bandera
;
}
int
columna
(
char
mat
[][
TRES
]){
int
bandera
=
0
;
for
(
int
fila
=
0
;
fila
<
TRES
-
1
;
fila
++
){
for
(
int
columna
=
0
;
columna
<
TRES
;
columna
++
){
if
(
mat
[
fila
][
columna
]
==
mat
[
fila
+
1
][
columna
]
)
{
bandera
=
1
;
}
else
{
bandera
=
0
;
}
}
}
return
bandera
;
}
int
diagonalPrincipal
(
char
mat
[][
TRES
]){
int
bandera
=
0
;
for
(
int
fila
=
0
;
fila
<
TRES
-
1
;
fila
++
){
if
(
mat
[
fila
][
fila
]
==
mat
[
fila
+
1
][
fila
+
1
]
)
{
bandera
=
1
;
}
else
{
bandera
=
0
;
}
}
return
bandera
;
}
int
diagonalSecundaria
(
char
mat
[][
TRES
]){
int
bandera
=
0
;
int
columna
=
TRES
-
1
;
for
(
int
fila
=
0
;
fila
<
TRES
-
1
;
fila
++
){
if
(
mat
[
fila
][
columna
-
fila
]
==
mat
[
fila
+
1
][
columna
-
(
fila
+
1
)]
)
{
bandera
=
1
;
}
else
{
bandera
=
0
;
}
}
return
bandera
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment