Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Victoooor8 en 21 Febrero 2023, 00:55 am



Título: Ayuda processing básico
Publicado por: Victoooor8 en 21 Febrero 2023, 00:55 am
Necesito ayuda con una práctica para informática. Los requisitos son estos:

CONDICIONES:
- Al iniciar el juego se mostrará un mensaje con tu nombre.
- Tu tablero debe tener el mismo número de cuadros que el da la imagen.
- Debes crear dos fichas como las de la imagen y su posición inicial tiene que ser
la mostrada.
- Las fichas deben moverse según las diagonales a cualquiera de las casillas
blancas de su alrededor, de dos en dos casillas, es decir, cuatro movimientos.
- Cuando las fichas se encuentren en el mismo cuadro, el “juego” mostrará un
mensaje de “GAME OVER"

El tablero y las fichas es lo que tengo. Pero tengo problemas con el movimiento... no soy capaz de que se me puedan mover de forma aleatoria por cualquier casilla blanca... me pueden ayudar? Os dejo lo que llevo hecho

int x=0;
int y=0;
int ficha1 = 25;
int ficha2 = 225;
int movimiento1 = 2 ;
int movimiento2 = -2 ;

void setup() {
  size(450,450);
}
 void draw() {
   for(int y = 0; y<9; y ++) {
   for(int x = 0; x<9; x = x + 1 ) {
   if( (x+y) % 2==0){
   fill(255);
}
  else {
  fill(0);
}
   rect( y*50, x*50, 50,50);

}
}



  ficha1 = ficha1 + movimiento1;
  ficha2 = ficha2 + movimiento2;
 
  if ((ficha1 > width-25) || (ficha1 > height-25) || (ficha1 < 25) || (ficha1 < 25)) {
    movimiento1 = - movimiento1;
  }
 
  if ((ficha2 > width-25) || (ficha2 > height-25) || (ficha2 < 25) || (ficha2 < 25)) {
    movimiento2 = - movimiento2;
  }
 
 if(ficha1 == ficha2 ) {
   movimiento1 = 0;
   movimiento2 = 0;
   textSize(70);
   fill(#153764);
   text("GAME OVER",70,70);
 }
   
  stroke(0);
  fill(#52321A);
  ellipse(ficha1,ficha1,30,30);
  fill(#52321A);
  ellipse(ficha2,ficha2,30,30);

}