Está en la página 1de 4

Tarea #4: Arreglos Bidimensionales - Matrices 1 de 4

Programación
Tarea #4: Arreglos Bidimensionales - Matrices

Objetivo

Manipular un arreglo de dos dimensiones para almacenar datos a ser continuamente


verificados para determinar un resultado.

Descripción

La tarea trata sobre la implementación del “juego del gato”, el cual consiste en un
tablero de 3 filas y 3 columnas donde se escriben dos tipos de símbolos, X y O, uno para
cada jugador; el juego inicia con el jugador que representa el símbolo X y puede escribir su
símbolo en solo un casillero vacío de los 9 posibles por turno, a continuación le sigue el
jugador con el símbolo O de la misma manera que el anterior y así sucesivamente; una
partida termina de dos formas, la primera cuando alguno de los jugadores ha colocado 3
símbolos en casilleros alineados contiguos (por alguna de las 3 filas, por alguna de las 3
columnas o en alguna de las 2 diagonales posibles), la segunda forma es cuando se han
dado 9 turnos y ninguno de los dos jugadores ganó; una nueva partida se reinicia
asignándole el turno al jugador que no fue el último en colocar su símbolo en la partida
anterior. El juego acaba cuando al terminar una partida, ya no se desea realizar otra más.

La aplicación inicia como sigue:

Juego del Gato v1.0

| |
___________
| |
___________
| |

Es turno del jugador X


Dime la fila (1 a 3):

A continuación se le solicitan al jugador que especifique la fila y la columna donde


desea que se coloque su símbolo.
Tarea #4: Arreglos Bidimensionales - Matrices 2 de 4

Juego del Gato v1.0

| |
___________
| |
___________
| |

Es turno del jugador X


Dime la fila (1 a 3): 1
Dime la columna (1 a 3): 1

Posteriormente se reimprime el tablero mostrando el resultado de la petición anterior y


se muestra que es turno del jugador siguiente.

Juego del Gato v1.0

X | |
___________
| |
___________
| |

Es turno del jugador O


Dime la fila (1 a 3):

Y el juego termina con el jugador que haga 3 símbolos en línea.

Juego del Gato v1.0

X | | O
___________
X | O |
___________
X | O | X

El ganador es el jugador X
Otra partida? (S/N)

Si se desea otra partida se escribe “S” y reinicia con el siguiente jugador en turno:
Tarea #4: Arreglos Bidimensionales - Matrices 3 de 4

Juego del Gato v1.0

| |
___________
| |
___________
| |

Es turno del jugador O


Dime la fila (1 a 3):

Si cuando se pregunte por otra partida se escribe “N”, la aplicación termina.

Requerimientos Generales

1. Entregar archivo(s) fuente para aplicación de consola que cumpla(n) con los siguientes
requerimientos
2. Cumplir con las impresiones de consola mostradas en la descripción de modo que se
distingan claramente cada una de las casillas.
3. Declarar y definir al principio del programa, a continuación de las librerías, todas las
constantes, o sea, aquellas relativas a los totales que se necesiten
4. Al principio de la función main, solamente declarar las variables necesarias
5. Declarar y definir un arreglo bidimensional (matriz) de tipo char con 3 filas y 3
columnas
6. Inicializar la matriz con espacios en blanco para cada partida
7. Imprimir el tablero para mostrarlo inicialmente en blanco
8. El primer turno al iniciar el juego corresponda al jugador con el símbolo “X”
9. Mostrar en pantalla el símbolo del jugador de quien toca el turno antes de preguntarle
por la fila y columna (con números enteros) a colocar su símbolo
10. Para cada dato requerido del usuario imprimir la solicitud de información
correspondiente (printf) y a continuación esperar por la entrada de datos (scanf)
11. Una vez ingresadas la fila y columna elegida por el jugador en turno mostrar
nuevamente el tablero con la modificación correspondiente
12. Otorgar el turno al jugador con el otro símbolo para el siguiente turno dentro de la
partida
13. Realizar hasta 9 turnos por partida
14. Para cada turno se verifique si ya existe un ganador
15. Si en un turno ya se determina ganador, termine la partida
16. Justo al terminar la partida, mostrar como quedó finalmente el tablero
17. En la misma pantalla que el tablero final, notificar (si existe) el ganador de la partida
concluida o de lo contrario notificar un empate
18. Luego de notificar ganador ó empate, preguntar si se desea otra partida mediante los
caracteres S (sí) y N (no)
19. Si se reinicia una nueva partida el turno le corresponda al otro jugador que no sea el
último que colocó su símbolo en la partida anterior
Tarea #4: Arreglos Bidimensionales - Matrices 4 de 4

20. Para poder visualizar todo lo impreso por la aplicación, desde el título del programa
hasta lo último impreso, imprimir de tal manera que no se requiera redimensionar el
tamaño por defecto de la consola (25 filas por 80 columnas) ni usar las barras de
desplazamiento.
21. INDISPENSABLE PARA DERECHO A CALIFICACIÓN MAYOR A 5/100: A
excepción de constantes simbólicas, todos los requerimientos se cubran usando solo una
subrutina (main es una subrutina) y todas las variables se declaren dentro de main.

Requerimientos Optativos para puntos extras

22. Entregar dos carpetas en el mismo comprimido llamadas “programacion estructurada” y


“programacion modular”.
23. En la carpeta “programacion estructurada” incluir el código fuente acorde a los
requerimientos 1 al 21.
24. En la carpeta “programacion modular” incluir el código fuente que cumpla con los
requerimientos 1 al 20 y ejerciendo la programación modular, además de cumplir con
Requerimientos de Valor Agregado en Código Fuente hasta el req. “HH”.
25. Entregar en el mismo comprimido carpetas diferentes para cada lenguaje:
a) Una nombrada “C” con los códigos fuente en C (ANSI);
b) Una nombrada “C++” con los códigos fuente en C++;
c) Una nombrada “English” con los códigos fuente escritos en su totalidad en inglés
(solo para el lenguaje de su preferencia).
…las primeras opciones se redacten absolutamente en español y la última
absolutamente en inglés.

Criterios de Evaluación

• Los establecidos en las “Reglas de Operación y Evaluación” del curso.


• Cumplir con la fecha límite de entrega citada en el Excel de Actividades.
• Calificación en base a cobertura de requerimientos y fecha de entrega.
• Cumplir con Requerimientos de Valor Agregado en Código Fuente (hasta el req. “Z”).
• Entrega en un lenguaje: C o C++ (ANSI) o Java.
• Es indispensable la entrega de un programa con variables, comentarios e impresiones a
consola completamente en idioma Español.

También podría gustarte