estoy rechingado con este puto programa del gato, porque mi maestro de proga
http://www.ganimides.ucm.cl/haraya/doc/taraea1_2006.docEl juego del Gato, se juega entre dos personas y consiste en que alternadamente cada uno de los jugadores hace una jugada en alguno de los casilleros disponibles, intentando ser el primero en completar con sus fichas una línea de tres casilleros.
El objetivo de esta tarea es que Ud. construya un programa que implemente en lenguaje C el juego del Gato, de forma tal que uno de los jugadores sea una persona, la que ejecuta el programa, y que el otro jugador sea el computador.
Se dispone de 9 posiciones ordenadas en forma rectangular como indica la figura:
1 2 3
4 5 6
7 8 9
El juego comienza cuando los jugadores lanzan un dado para determinar quién juega primero. El jugador que obtenga el valor más alto debe comenzar.
Al comienzo del juego las 9 posiciones están vacías. El jugador que inicia el juego selecciona una casilla vacía y la marca. A continuación el segundo jugador selecciona una casilla vacía y la marca. Enseguida juega nuevamente el primer jugador, marcando alguna casilla vacía. Esto continua hasta que alguno de los dos jugadores marca 3 casillas que estén en línea (puede ser en diagonal), si ninguno de los jugadores logra este objetivo y no hay mas casillas vacías, el juego se declara en empate.
Ejemplo:
Lanza dado Humano -> 3
Lanza dado Computador -> 5
Inicia el Juego: Computador:
Computador: 1 Humano: 3 Computador: 5 Humano: 6 Computador: 9
C
C H
C H
C
C H
C H
C H
C H
C
El Ganador es: Computador.
Desea Jugar Nuevamente ( 0 = Si / 1 = No): 0
Otro Ejemplo
Lanza dado Humano -> 6
Lanza dado Computador -> 2
Inicia el Juego: Humano:
Humano: 3 Computador: 5 Humano: 6 Computador: 9 Humano: 1
H
H
C
H
C H
H
C H
C
H H
C H
C
Computador: 2 Humano: 8 Computador: 4 Humano: 7
H C H
C H
C
H C H
C H
H C
H C H
C C H
H C
H C H
C C H
H H C
Se ha producido un empate.
Desea Jugar Nuevamente ( 0 = Si / 1 = No): 1
El programa desarrollado por usted debe permitir el juego entre un humano y el computador. Para ello, el programa debería tener una doble funcionalidad: jugador y administrador del juego. Como administrador del juego, el programa debe ser capaz de:
• Simular el lanzamiento del dado, tanto para el humano como para el computador
• Desplegar el tablero con las jugadas cada vez que alguno de los jugadores realice su movimiento
• Indicar el ganador o si corresponde el empate.
• Dar la posibilidad de seguir jugando.
El computador debe realizar sus jugadas, considerando:
• Determinar los lugares en los que puede jugar (no jugados)
• Buscar una posición adecuada para jugar, esto es, debe determinar si hay alguna casilla que al marcarla gane el juego.
• Si no hay una casilla con las características anteriores, debe jugar en forma aleatoria en alguna casilla disponible.
El programa debe ser similar al ejemplo.
Cada vez que un usuario comience un juego, ya sea porque inicie el programa o porque decida, sin salir del programa, el programa debe determinar que jugador comienza.
Utilice sólo estructuras de control estudiadas en clase.
Utilice sólo las estructuras y tipos de datos estudiados en clases.
Utilice sólo funciones y bibliotecas estudiadas en clases.
Utilice en su solución funciones diseñadas e implementadas por Ud.
En lo posible, incluya comentarios que ayuden a entender mejor su programa.
El juego del Gato, se juega entre dos personas y consiste en que alternadamente cada uno de los jugadores hace una jugada en alguno de los casilleros disponibles, intentando ser el primero en completar con sus fichas una línea de tres casilleros.
El objetivo de esta tarea es que Ud. construya un programa que implemente en lenguaje C el juego del Gato, de forma tal que uno de los jugadores sea una persona, la que ejecuta el programa, y que el otro jugador sea el computador.
Se dispone de 9 posiciones ordenadas en forma rectangular como indica la figura:
1 2 3
4 5 6
7 8 9
El juego comienza cuando los jugadores lanzan un dado para determinar quién juega primero. El jugador que obtenga el valor más alto debe comenzar.
Al comienzo del juego las 9 posiciones están vacías. El jugador que inicia el juego selecciona una casilla vacía y la marca. A continuación el segundo jugador selecciona una casilla vacía y la marca. Enseguida juega nuevamente el primer jugador, marcando alguna casilla vacía. Esto continua hasta que alguno de los dos jugadores marca 3 casillas que estén en línea (puede ser en diagonal), si ninguno de los jugadores logra este objetivo y no hay mas casillas vacías, el juego se declara en empate.
Ejemplo:
Lanza dado Humano -> 3
Lanza dado Computador -> 5
Inicia el Juego: Computador:
Computador: 1 Humano: 3 Computador: 5 Humano: 6 Computador: 9
C
C H
C H
C
C H
C H
C H
C H
C
El Ganador es: Computador.
Desea Jugar Nuevamente ( 0 = Si / 1 = No): 0
Otro Ejemplo
Lanza dado Humano -> 6
Lanza dado Computador -> 2
Inicia el Juego: Humano:
Humano: 3 Computador: 5 Humano: 6 Computador: 9 Humano: 1
H
H
C
H
C H
H
C H
C
H H
C H
C
Computador: 2 Humano: 8 Computador: 4 Humano: 7
H C H
C H
C
H C H
C H
H C
H C H
C C H
H C
H C H
C C H
H H C
Se ha producido un empate.
Desea Jugar Nuevamente ( 0 = Si / 1 = No): 1
El programa desarrollado por usted debe permitir el juego entre un humano y el computador. Para ello, el programa debería tener una doble funcionalidad: jugador y administrador del juego. Como administrador del juego, el programa debe ser capaz de:
• Simular el lanzamiento del dado, tanto para el humano como para el computador
• Desplegar el tablero con las jugadas cada vez que alguno de los jugadores realice su movimiento
• Indicar el ganador o si corresponde el empate.
• Dar la posibilidad de seguir jugando.
El computador debe realizar sus jugadas, considerando:
• Determinar los lugares en los que puede jugar (no jugados)
• Buscar una posición adecuada para jugar, esto es, debe determinar si hay alguna casilla que al marcarla gane el juego.
• Si no hay una casilla con las características anteriores, debe jugar en forma aleatoria en alguna casilla disponible.
El programa debe ser similar al ejemplo.
Cada vez que un usuario comience un juego, ya sea porque inicie el programa o porque decida, sin salir del programa, el programa debe determinar que jugador comienza.
Utilice sólo estructuras de control estudiadas en clase.
Utilice sólo las estructuras y tipos de datos estudiados en clases.
Utilice sólo funciones y bibliotecas estudiadas en clases.
Utilice en su solución funciones diseñadas e implementadas por Ud.
En lo posible, incluya comentarios que ayuden a entender mejor su programa.