La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Don Cangrejo EI Taller de Proyecto 2011 Semestre Otoño Grupo 5

Presentaciones similares


Presentación del tema: "Don Cangrejo EI Taller de Proyecto 2011 Semestre Otoño Grupo 5"— Transcripción de la presentación:

1 Don Cangrejo EI2001-9 Taller de Proyecto 2011 Semestre Otoño Grupo 5
Natalia Hernández Gustavo Moreno Felipe Quintanilla

2 Objetivo Robot de lego que juega “Four in a line” contra una persona.
Analiza jugadas y posiciona en el casillero más conveniente del tablero su ficha

3 Descripción Don Cangrejo juega el clásico juego “Connect 4” que consiste en colocar 4 fichas juntas en una columna, fila o diagonal para poder ganar. Utiliza motores para posicionar fichas y sensor de color para detectar las jugadas del oponente. Capaz de posicionar su jugada en un casillero adecuado. Sensor de choque para asignar turnos.

4 Robot Tablero

5 Riel

6 Coche Superior

7 Brazo

8 Programa Clases: Casilla: cada una indica su posición y estado
Tablero: arreglo de 6x7 con todas las casillas del tablero. Linea: arreglo de 4 casillas Lista: lista enlazada con líneas ganadoras. Jugadas: lista enlazada con las 7 casillas donde puede realizar su jugada.

9 Métodos: casilla Tablero.leer(): revisa el tablero para detectar la jugada del oponente void Jugadas.actualizar(): actualiza la lista enlazada para tener siempre las casillas disponibles void Tablero.jugar(casilla): mueve al robot para jugar en la casilla señalada void casilla.cambiarEstado(int)

10 int linea.puntaje(casilla)
le asigna un puntaje dependiendo de cómo esta llenada la línea y de si la casilla c está en la línea -1--> la casilla no está en la línea, el main la ignorará -2--> hay fichas de los dos jugadores -3--> 4 fichas del robot, se acabó el juego el robot gana -4--> 4 fichas del oponente, se acabó el juego el robot pierde >0--> puntaje obtenido

11 Exceptions: RobotGana RobotPierde

12 Programa try{ while(true){ Casilla r=Tablero.leer()
r.cambiarEstado(2); jugadas.actualizar(); for(nodoB aux=jug.primero;aux!=null;aux=aux.sig){aux.p=0;} //resetea los puntajes de las casillas a cero; for(nodoB aux=jug.primero;aux!=null;aux=aux.sig){ for(nodoA bux=lis.primero;bux!=null;bux=bux.sig){ q=bux.valor.puntaje(aux.cas); if(q==-2) {bux.ant.sig=bux.sig;bux.sig.ant=bux.ant;} //elimina la linea de la lista else if(q>=0)aux.p+=q;//suma el puntaje obtenido else if(q==-3)throw new RobotGana(); else if(q==-4)throw new RobotPierde(); }

13 //una vez que se revisan todas las casillas y se asignan los puntajes se elige la mejor
Casilla mejor;int m=0; for(nodoB aux=jug.primero;aux!=null;aux=aux.sig){ if(m<aux.p){mejor=aux.cas;m=aux.p;} Tablero.jugar(mejor); mejor.cambiarEstado(1) jugadas.actualizar(); } }

14 Cosas que faltan : Fichas
Calibrarlo para que pueda moverse correctamente Probar la efectividad del algoritmo

15 Una Pequeña demostración…


Descargar ppt "Don Cangrejo EI Taller de Proyecto 2011 Semestre Otoño Grupo 5"

Presentaciones similares


Anuncios Google