ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Crisis en la frontera

scotykanwulfApuntes13 de Diciembre de 2015

2.540 Palabras (11 Páginas)100 Visitas

Página 1 de 11

Documentación del programa “Crisis en la frontera” – Versión 1.2

Desarrollado por:

  • Camilo Andrés Gómez Galán
  • Bryan Alejandro Merlano Rodríguez
  • Cristian Rodríguez
  • Franklin Torres Torres

Introducción

El presente proyecto tiene como fin desarrollar una simulación digital de la actual crisis en la frontera colombo-venezolana, sin tener en cuenta una interfaz gráfica de la simulación completa en esta versión del programa y mostrando al final únicamente los resultados de cada una de las 20 simulaciones ocurridas en el desarrollo del juego. Además, incluye un conteo final de los resultados globales.

Descripción del programa.

El programa simula lo que corresponde a un determinado territorio ubicado en la frontera venezolana. Este territorio es similar a un tablero de ajedrez (8 filas y 8 columnas de celdas), y en algunas de estas celdas se ubica aleatoriamente a un total de 10 colombianos, que corresponderían a colombianos expulsados de Venezuela, y que para efectos del juego se suponen montados en un caballo, de manera que sus movimientos en el mapa están dados por el movimiento del caballo en el ajedrez. Inicialmente se pide al usuario que inserte el nombre de los 12 jugadores implicados en la simulación. Posteriormente también se ubican en el mismo terreno de juego aleatoriamente (incluyendo las posiciones ya ocupadas por colombianos) a dos venezolanos, que corresponden a guardias fronterizos tratando de capturar a los colombianos. Del mismo modo, estos dos jugadores se suponen montados en caballos, por lo que sus movimientos en el terreno de juego están sujetos a los movimientos del caballo en el tablero de ajedrez. Si en algún momento determinado del desarrollo de la simulación un venezolano llega a ocupar la misma posición de un colombiano, entonces procede a capturarlo, y este colombiano queda inhabilitado durante el resto de la simulación. En el momento en que son colocados aleatoriamente los dos venezolanos, el juego procede a imprimir en pantalla la posición actual de cada uno de los jugadores, además del número de colombianos capturados hasta el momento. A partir de este momento el juego comienza a generar movimientos aleatorios sujetos a los 8 posibles movimientos de los caballos. Como primera medida selecciona a uno de los colombianos y luego uno de sus posibles movimientos y lo mueve a esa nueva posición, y luego procede a seleccionar a uno de los venezolanos y uno de sus posibles movimientos y también lo mueve a esa nueva posición. El movimiento de un colombiano y un venezolano corresponde a un turno, y luego de cada turno el programa imprime en pantalla las nuevas posiciones de los jugadores. La simulación corresponde a un total de 10 turnos, y luego de estos 10 turnos se hace un conteo total de los colombianos capturados durante el desarrollo de la misma.

Aspectos a tener en cuenta en el desarrollo de la simulación.

  • Ningún jugador colombiano puede moverse a una casilla ocupada por otro jugador, sea colombiano o venezolano.
  • Un jugador venezolano puede moverse a una casilla vacía o a una ocupada por un colombiano, generando la respectiva captura, pero no a una casilla ocupada por un venezolano.
  • Ningún jugador puede salirse del terreno de juego durante el desarrollo de la simulación.
  • Cada uno de los posibles movimientos de un jugador está representado por un número del 1 al 8, y así, cuando un jugador no puede efectuar un movimiento hacia la casilla correspondiente al movimiento seleccionado por el juego, se procede a probar la posición correspondiente al movimiento del siguiente número generado por el aleatorio.
  • Cada uno de los jugadores colombianos está numerado del 1 al 10, y los venezolanos del 1 al 2, y así, cuando determinado jugador no puede efectuar ninguno de los 8 movimientos disponibles,  el juego procede a seleccionar al jugador con el siguiente número al generado por el aleatorio.
  • El juego se ha desarrollado en código C++, utilizando el compilador proporcionado por CodeBlocks, usando comandos básicos de asignación, bifurcación y ciclos.
  • Para esta primera versión se tiene la limitante gráfica, de manera que el programa solo provee los resultados de la simulación pero no permite ver el tablero de la simulación.

Descripción funcional

El programa funciona a base de estructuras y funciones internas y externas que los relacionan, además de nodos que conectan estas mismas estructuras. Además de esto, estas estructuras están conectadas entre sí con el uso de apuntadores.

El mapa de juego corresponde a una estructura compuesta de “microestructuras” llamadas “casillas”, siendo un total de 64.

Los jugadores colombianos corresponden a diez estructuras del tipo “jugador”, que contiene una posición y un nombre.

Los jugadores colombianos corresponden a dos estructuras del tipo “jugador”, que contiene una posición y un nombre.

En el main se agrupan todas las funciones en un determinado orden, de manera que se pueda llevar a cabo el desarrollo del programa adecuadamente.

Interfaz gráfica:

Para facilitar la retroalimentación del programa con el usuario, de tal forma que se logre un proceso claro de intercambio de información, se procedió a usar una interfaz gráfica, de tal forma se logre un entendimiento total del programa, para lo cual se procederá a graficar el tablero de juego, los colombianos y los  venezolanos.

Teniendo en cuenta lo anterior, la representación de los ciudadanos colombianos se hará por medio de las siguientes imágenes:

[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10]

Por medio de las anteriores imágenes, se representara a cada uno de los 10 ciudadanos colombianos, identificados según su número, lo cual permite tener un amplio seguimiento de los movimientos de los colombianos.

Las siguientes imágenes identificaran a los venezolanos:

[pic 11][pic 12]

Por medio de las anteriores imágenes, se representara a los dos  militares venezolanos, identificados según su número, lo cual permite tener un amplio seguimiento de los movimientos de los venezolanos y su proximidad para capturar a un colombiano en especifico.

Funciones

  • bool detectar_captura

Función que detecta si algún colombiano (i) ha sido capturado por algún venezolano (j). Esta función únicamente detecta que se produjo una captura por parte de un venezolano, pero no indica qué colombiano fue capturado. Si esta función determina un valor verdadero activa la función detectar_capturado, y de otro modo la mantiene inactiva.

  • int detectar_capturado

Función que se activa únicamente cuando la función detectar_captura genera un valor verdadero. Se encarga de determinar la componente de un jugador colombiano (i) una vez este ha sido capturado por un venezolano.

  • int llenar_vector

Función que llena con un valor entero todas las componentes de un vector de tamaño n. Es utilizada para asignar el valor de 0 a cada una de las posiciones del vector mapa, con el fin de hacer una posterior diferenciación de las casillas vacías y ocupadas por colombianos o por venezolanos.

  • ostream& escribir_mapa

Función que escribe el vector x, que corresponde al mapa, como una cuadrícula 8 x 8, que representa al tablero del desarrollo del juego

  • ostream& escribir_posiciones_colombianos

Función que escribe las posiciones de los 10 colombianos en forma de lista en la interfaz del juego junto con las posiciones de los 2 venezolanos. Es utilizada en cada una de las reiteraciones de la simulación del turno, además de la distribución inicial del tablero una vez han sido repartidos todos los jugadores.

  • ostream& escribir_posiciones_venezolanos

Función que escribe las posiciones de los 2  venezolanos en forma de lista en la interfaz del juego junto con las posiciones de los 10 colombianos. Es utilizada en cada una de las reiteraciones de la simulación del turno, además de la distribución inicial del tablero una vez han sido repartidos todos los jugadores.

  • int los_movimientos

Función constante que contiene el valor que debe ser añadido o sustraído de la posición de un jugador para realizar determinado movimiento. Cada una de las 8 posiciones tiene su valor propio, y esta función es utilizada cada vez que se va a efectuar un movimiento.

  • int cambio_de_casilla

Función que asigna a cada jugador la nueva posición de acuerdo a la constante del número del movimiento obtenido en su turno. Es utilizada cada vez que un jugador es seleccionado para realizar un movimiento.

  • bool aux_movimiento

Función que determina si un movimiento es posible, teniendo en cuenta que el jugador no puede salirse del tablero y que cada bando tiene sus propias restricciones de movimiento de acuerdo a si puede situarse o no en una casilla que está previamente ocupada por otro jugador. Es utilizada cada vez que un jugador es seleccionado para realizar un movimiento.

...

Descargar como (para miembros actualizados) txt (16 Kb) pdf (422 Kb) docx (335 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com