Proyecto de Programación


La entrega del proyecto de programación se realizará durante el examen final. Cada alumno debe entregar: (1) un disco con el código fuente (C++) de proyecto; (2) el código fuente del proyecto impreso.

 

Utilizando como punto de partida el archivo tablero.cpp, implementad las siguientes funciones o acciones:

La matriz 3x3 de enteros t es la representación interna del tablero de tres en raya que utiliza el programa. Las posiciones ocupadas por cruces corresponden a elementos de la matriz t cuyo valor es 1, las posiciones ocupadas por cuadrados a elementos de la matriz t cuyo valor es -1, y las posiciones libres a elementos de la matriz t cuyo valor es 0.

  1. Una acción  void mueve_cruz(int t[3][3])  que solicite a uno de los jugadores la fila y la columna donde desea colocar la siguiente cruz, y si la posición solicitada no está ocupada en el tablero de tres en raya dibuje una cruz en dicha posición. Si la posición elegida está ocupada por otra ficha en el tablero de tres en raya, el programa debe solicitar al jugador que introduzca una nueva posición.

  2. Una acción  void mueve_cuadrado(int t[3][3])  que solicite al otro jugador la fila y la columna donde desea colocar el siguiente cuadrado, y si la posición solicitada no está ocupada en el tablero de tres en raya dibuje un cuadrado en dicha posición. Si la posición elegida está ocupada por otra ficha en el tablero de tres en raya, el programa debe solicitar al jugador que introduzca una nueva posición.

  3. Una función  int evaluar(int t[3][3])  que evalúa la configuración del tablero en un momento dado y devuelve 1 si ganan las curces, -1 si ganan los cuadrados y 0 si ninguno de los dos jugadores ha ganado la partida en ese momento.

  4. Una función  bool posicion_libre(int t[3][3])  que devuelve verdadero si existe alguna posición libre (esto es, no ocupada por una ficha) en el tablero de tres en raya en un momento determinado de la partida.

  5. Una función int main(void) que