viernes, 3 de octubre de 2014

Proyecto No. 5

En este proyecto se para lograra funcionar se tubo un fases de desplazamiento para puediera realizar los movimientos para su desface loe que se hizo, fue que trabajamos en le metodo makemove utilizando las cuantro direcciones basicas derecha, izquierda, arriva, abajo como se menciono anteriormente el objetivo que es que llegar a la meta o a su objetivo con base a los movimientos agregados. Para que pudiera desplazarse lo hicimos como la siguiente parte del codigo elaborado.

public boolean makeMove(){
if(getContents(0,1)==STOP||getContents(-1,0)==STOP||
getContents(1,0) ==STOP || getContents(0,-1) == STOP)return false;
//arriba
if(notWall(-1,0)){
if(getMarks(-1,0)<=getMarks(1,0)&&getMarks(-1,0)<=getMarks(0,1)&&
getMarks(-1,0)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
currentRow--;
return true;
}

}
//izquierda
if(notWall(0,-1)){
if(getMarks(0,-1)<=getMarks(-1,0)&&getMarks(0,-1)<=getMarks(0,1)&&
getMarks(0,-1)<=getMarks(1,0)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
currentCol--;
return true;
}

}
//derecha
if(notWall(0,1)){
if(getMarks(0,1)<=getMarks(-1,0)&&getMarks(0,1)<=getMarks(1,0)&&
getMarks(0,1)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
currentCol++;
return true;
}

}
//Abajo
if(notWall(1,0)){
if(getMarks(1,0)<=getMarks(-1,0)&&getMarks(1,0)<=getMarks(0,1)&&
getMarks(1,0)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
currentRow++;
return true;
}

}

Si dejar de mencionar que tambien agregamos un condicional en este caso in IF con el fin de superar las barrera puesto que en su recorrido llegaria a partes del laberiento sin salida, la funcion del IF es que tenga que retroceder de acuerdo a lo que vaya encontrando para llegar a su destino.

Proyecto 04

Lo que se hizo en el ejercicio 4 dentro del código fue agregar dentro del método  move();
Agregamos uno de los métodos proporcionados, de manera que las coordenadas estaban compuestas por (0,1), (1,0), (-1,0), (0,-1). La manera que se pusieron dependía el camino que tomaban, pero aquí el usuario ingresa la posición donde el robot debe moverse.

Este el codigo que se agrego al programa para poder trabajar como se muestra a continuacion.

System.out.println("The makeMove method was called.");
if(getContents(0,1)==GOAL||getContents(-1,0)==GOAL||
getContents(1,0) ==GOAL || getContents(0,-1) == GOAL)
return false;


if(notWall(1,0)){
if(getMarks(1,0)<=getMarks(-1,0)&&getMarks(1,0)<=getMarks(0,1)&&
getMarks(1,0)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
return true;
}

}

if(notWall(0,1)){
if(getMarks(0,1)<=getMarks(-1,0)&&getMarks(0,1)<=getMarks(1,0)&&
getMarks(0,1)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
return true;
}

}

if(notWall(-1,0)){
if(getMarks(-1,0)<=getMarks(1,0)&&getMarks(-1,0)<=getMarks(0,1)&&
getMarks(-1,0)<=getMarks(0,-1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
return true;
}

}

if(notWall(0,-1)){
if(getMarks(0,-1)<=getMarks(-1,0)&&getMarks(0,-1)<=getMarks(1,0)&&
getMarks(0,-1)<=getMarks(0,1)){
if(cell[currentRow][currentCol]>=0)cell[currentRow][currentCol]++;
return true;
}

}

De esta menera fue como se resolvio el problema para que pudieramos trabajar y la ves este mismo corriera y sea ejecutable.