Ver Mensaje Individual
  #58 (permalink)  
Antiguo 21/12/2013, 12:19
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Propuesta para desafíos javascript 2014

Podeis seguir haciendo retos anteriores, pero para que no se quede muerta la cosa, añado otro:

RETO NUEVO
Primera aproximación a las inteligencias artificiales. TRON

Video: http://www.youtube.com/watch?v=-3ODe9mqoDE
Código disponible:http://jsfiddle.net/7ZQcT/1/

Ésta es una burda imitación del juego de las motos de TRON. El juego consiste en varias motos que se mueven por un mapa, con el objetivo de sobrevivir el máximo de tiempo posible. Las motos van dejando una estela por donde pasan, y si otra moto se topa con una estela, o contra una pared, muere. Por supuesto, las motos no pueden detenerse, siempre avanzan a la misma velocidad, si no, no tendría gracia.

En este primer intento no hay enemigos: La moto correrá sola en el mapa. El reto consiste en hacer los máximos puntos posibles. Y cada punto se gana moviéndose a otra casilla sin morir.

Vuestro trabajo consiste en modificar el método TRON.prototype.ia=function(){ //codigo maravilloso }
Las reglas son:
-No podéis modificar ningún atributo ni método del objeto TRON. Excepto éste "ia" que estais programando.
-Podeis ver el valor de dos atributos de la clase TRON: this.jugador, que es un array con la coordenada (Y, X) del jugador, y this.mapa, que es un array bidimensional del escenario.
Una casilla a cero en this.mapa significa que es una casilla libre a la que os podeis mover. Una casilla a 1 significa que es una pared, y una casilla a 2 significa que es una estela que tu moto ya ha dejado, y que no puedes atravesar.
-Podeis crear vuestra propia clase y o funciones auxiliares FUERA DEL OBJETO TRON que os ayuden a realizar cálculos adicionales, si los necesitais.
-El método ia SIEMPRE debe devolver una dirección, representada en el objeto "DIRECCION".
-Para las pruebas, el jugador se colocará inicialmente en alguna coordenada aleatoria.
-El tamaño del mapa puede cambiar en anchura o en altura, pero de momento no meteré obstáculos dentro del mapa. Sólo tendran las paredes negras envolviendo a todo el mapa.

Código Javascript:
Ver original
  1. TRON.prototype.ia=function()
  2. {  
  3.     return DIRECCION.derecha;
  4. };

Ahora mismo, siempre se devuelve DIRECCION.derecha. De vosotros depende que retorne mejores movimientos a partir de la posición del jugador y del estado del mapa.

Así que venga, a currar.


Música de ambientación: http://www.youtube.com/watch?v=zTDeEJyCmNA

Resumen de retos completados:

+Reto, buscar tercer elemento mas pequeño de un array
Envío de Lynxcraft - Correcto
Envío de Panino5001 - Casi correcto
Envío de pantalaimon - Correcto
Envío de aijona - Correcto
Envío de IsabelM - Correcto


+Reto codificación morse
Envío de IsabelM - Lo importante es participar
Envío de lynxcraft - correcto
Mi envío - Super-hyper-mega correctísimo. Sin trato de favor.
Envío de Pantalaimon - Correcto


+Reto de ajedrez jaque al rey
Envío de jonni09lo - Correcto
Envío de Pantalaimon - Correcto
Mi envío - Fascinantemente perfecto.

+Reto de pixelar imágenes
Envío de Panino5001 - Correcto
Mi envío - La referencia a seguir.
Envío de Pantalaimon - Correcto

Última edición por marlanga; 21/12/2013 a las 12:31