//constructor public Culebrita() { cabeza = new Coordenadaz(); cuerpo1 = new Coordenadaz(); cuerpo2 = new Coordenadaz(); cola = new Coordenadaz(); borrador = new Coordenadaz(); NewPos = new Coordenadaz(); }//inicializa los atributos de la culebrita
}//asigna los valores iniciales de la culebrita en relacion al tablero public void Actualizar(ConsoleKey teclaPresionada) { borrador = cola; cola = cuerpo2; cuerpo2 = cuerpo1; cuerpo1 = cabeza; switch (teclaPresionada) { case ConsoleKey.UpArrow: cabeza.y--; break; case ConsoleKey.DownArrow: cabeza.y++; break; case ConsoleKey.LeftArrow: cabeza.x -= 2; break; case ConsoleKey.RightArrow: cabeza.x += 2; break; } }//actualiza las coordenadas de la culebrita con forme a un una tecla flecha
}//actualiza las coordenadas de la culebrita con forme a un una tecla flecha public bool EvaluarCabezaIgualCola(ConsoleKey teclaPresionada) { bool resultado = false; NewPos = cabeza; switch (teclaPresionada) { case ConsoleKey.UpArrow: NewPos.y--; break; case ConsoleKey.DownArrow: NewPos.y++; break; case ConsoleKey.LeftArrow: NewPos.x -= 2; break; case ConsoleKey.RightArrow: NewPos.x += 2; break; } if (NewPos == cola) resultado = true; return resultado; }//evalua si la posicion que tomara la cabeza de la culebrita es igual a la de la cola
}//evalua si la posicion que tomara la cabeza de la culebrita es igual a la del primer segmento de cuerpo public bool EvaluarCabezaMargen(ConsoleKey teclaPresionada, Tablero tab) { bool resultado = false; NewPos = cabeza; switch (teclaPresionada) { case ConsoleKey.UpArrow: NewPos.y--; break; case ConsoleKey.DownArrow: NewPos.y++; break; case ConsoleKey.LeftArrow: NewPos.x -= 2; break; case ConsoleKey.RightArrow: NewPos.x += 2; break; } if (NewPos.x == tab.MargenAncho * 2 - 1 || NewPos.y == tab.MargenAlto - 1 || NewPos.x == 1 || NewPos.y == 0) resultado = true; return resultado; }//evalua si la posicion que tomara la cabeza de la culebrita coincide con un margen del tablero