Вы находитесь на странице: 1из 4

Algoritmos y Programacion I (75.

40)
Trabajo Practico No4
Primer cuatrimestre 2014

1.

Introducci
on

Durantes incontables a
nos se ha librado una epica guerra entre el dictador
megalomano Alan y la benevolente emperatriz Barbara, conflicto que sigue
sin resolverse aun hasta el da de hoy. Ambas facciones, ya cansadas de buscar
soluciones, decidieron encomendar su destino en mano de sus seguidores: los
Alanos y los Barbaros.
Para no incurrir en da
nos materiales, se decidio que la batalla final se
librara en el mundo digital: se jugara un campeonato simulado de TEG utilizando el mapa clasico con 50 pases.
Cada faccion estara dividida en grupos, y cada grupo implementara una
inteligencia artificial que se capaz de tomar decisiones tacticas y estrategicas
para destruir a sus adversarios en el campo de batalla. El grupo que logre
aplastar al resto y conquistar el mundo, recibira fama eterna y gratitud de
sus aliados1 .

Y con suerte una jugosa recompensa.

2.

Consigna

Se dispone de una implementacion completa del TEG, que consiste en los


siguientes archivos:
Modulos que no deben ser modificados:
constantes.py
dados.py
interfaz_texto.py
interfaz_tk.py
jugador.py
jugador_ejemplo.py
mazo.py
paises.py
tablero.py
teg.py
Modulos que deben ser modificados:
jugador_inteligente.py
partida.py
La implementacion es muy similar a la realizada en el TP3, con las siguientes diferencias importantes:
La ejecucion de la partida es completamente automatica, y en ning
un
momento se pide la interaccion del usuario.
Se dispone de dos opciones para la interfaz implementadas en los modulos interfaz_tk y interfaz_texto.
La interfaz grafica (Tk) se utiliza por defecto, y es la misma que utilizamos en el TP3. Para lanzar la interfaz grafica, ejecutar python teg.py.
La interfaz de texto muestra informacion exclusivamente en la consola,
y tiene la ventaja de que la ejecucion de la simulacion es mucho mas
rapida que con la interfaz grafica. Para lanzar la interfaz de texto,
ejecutar python teg.py -t.
Cada vez que se ejecuta una simulacion, el programa informa la semilla
utilizada para la generacion de n
umeros aleatorios. Es posible repetir partidas con la misma secuencia de n
umeros aleatorios ejecutando
python teg.py -s <semilla>.
2

La clase Jugador, que es la encargada de implementar la inteligencia de


cada uno de los jugadores, tiene mas metodos y recibe mas informacion
que en el TP3. Esto permite que el jugador pueda definir su estrategia
en base al estado del juego.
Hay un modulo nuevo llamado partida que permite configurar los jugadores que juegan la partida.
Como parte del material se incluye dos clases de ejemplo, JugadorSuicida
y JugadorOfensivo que heredan de Jugador, y que implementan dos estrategias simples de juego.
El objetivo del TP es implementar una clase JugadorInteligente que
herede de Jugador, y que sea lo suficientemente inteligente como para vencer
a JugadorSuicida y a JugadorOfensivo.
Una vez entregados todos los trabajos practicos, se organizara un torneo
entre las implementaciones de JugadorInteligente de todos los grupos.

3.

Criterios de aprobaci
on

A continuacion describimos criterios y lineamientos que deben respetarse


en el desarrollo del trabajo:

3.1.

Informe

El informe debera consistir en una descripcion del dise


no del programa.
Recordar que la etapa de dise
no es anterior a la implementaci
on,
por lo tanto lo que debe estar explicado en esta seccion, utilizando texto
y/o diagramas, es como se va a estructurar el codigo para cumplir con las
especificaciones de la consigna.
Algunas preguntas que deberan responderse:
Como se define la estrategia del jugador?
Que algoritmos y estructuras de datos se usan?

3.2.

Programa

Ademas de satisfacer la especificacion de la consigna, el programa debe


cumplir con los siguientes requerimientos:
Debe estar adecuadamente estructurado y modularizado, utilizando
funciones definidas en forma lo mas generica posible.
3

El codigo debe ser claro y legible.


Todas las funciones deben estar adecuadamente documentadas, y donde
sea necesario el codigo debe estar acompa
nado de comentarios.

4.

Entrega
La entrega del trabajo consiste en:
El informe y codigo fuente impresos. Para el codigo fuente utilizar una
tipografa monoespaciada.2
El informe digital, en formato .pdf
Una version digital de todos archivos de codigo fuente, separados del
informe. En el caso de ser mas de un archivo, comprimidos en un .zip.

El informe impreso debe entregarse en clase. Los dos u


ltimos (PDF y codigo fuente) deben enviarse a la direccion electronica tps.7540rw@gmail.com
con el asunto TP4 - <Padron1> <Padron2>.
Este trabajo practico se desarrolla en forma grupal. El plazo de entrega
vence el jueves 26 de junio de 2014.

En este caso solamente es necesario imprimir el codigo fuente de la clase


JugadorInteligente.

Вам также может понравиться