Quizas sea mas claro si coloco el código.
En pocas palabras el juego trata de un usuario que le lanza banas a un mono que esta a 100 metros de distancia cuando comienza el juego, por cada lanzamiento fallido el mono se acerca 10 metros al usuario. Si llega donde el usuario, pierde el juego.
El viento se calcula randomicamente y por cada lanzamiento disminuye su intensidad. El valor del viento esta entre -5 y 5.
Este es el codigo (se agradecen los puntos de vista):
Código PHP:
import java.util.Random;
import java.util.Scanner;
import static java.lang.Math.*;
public class MonkeyGame {
public static void main(String args[]) {
double monkeyDistance = 100;
double gravity = 9.81;
double minAccuracy, maxAccuracy, speed, angle, radian, launchDistance, wind;
int points = 0;
int launches = 1;
Scanner input = new Scanner(System.in);
//Obtener un valor randomico para el viento (con dos decimales)
Random randomWind = new Random();
wind = randomWind.nextInt(11)-5;
while (launches <= 5) {
System.out.println("Distancia hasta el mono " + monkeyDistance);
System.out.println("Intento: " + launches);
System.out.println("Viento: " + wind);
minAccuracy = - 1;
maxAccuracy = + 1;
//Pedir informacion al usuario
System.out.print("Velocidad: ");
speed = input.nextDouble();
System.out.print("Angulo: ");
angle = input.nextDouble();
//Convertor los angulos a radianes
radian = toRadians(angle);
//Calular la distancia del lanzamiento
launchDistance = 2 * speed * speed * cos(radian) * sin(radian) / gravity - wind * speed * sin(radian) / gravity;
//Comprobar si el lanzamiento cae dentro de los parametros
if(launchDistance >= minAccuracy && launchDistance <= maxAccuracy) {
System.out.print("Blanco! 1 punto");
points++;
}
// Si falla disminuye la distancia hasta el mono en 10 metros y se actualiza la cantidad de lanzamientos
System.out.println("Fallaste!!");
System.out.println();
monkeyDistance = monkeyDistance - 10;
launches++;
}
//Se suman los puntos
if(points >= 5) {
System.out.println("Ganaste con " + points + " puntos.");
} else {
System.out.println("Te ha comido!!");
}
}
}