Есть ли способ рандомизировать приращения / убывания между двумя целыми числами в java? - PullRequest
0 голосов
/ 20 февраля 2020

Я учусь Java и мне нужно сделать симулятор транспортного средства.

Транспортное средство может двигаться на один шаг каждый раунд либо вертикально, либо горизонтально.

b) move method increments or decrements either x or y coordinates by 1.

Я не знаю, поможет ли мой незаконченный код, но вот он:


package vehicleSimulator;

public class Vehicle {
    int h; // horizontal coordinate instead of x
    int v; // vertical coordinate instead of y
    boolean isAlive = true; 

    public Vehicle(int h, int v, boolean isAlive) {
        this.h = h;
        this.v = v;
        this.isAlive = isAlive;
    }

    public void moveVehicle() {
        if (isAlive == true) {
            // ++ or -- x or y
        }

    }

Любая помощь или ссылки на сайты, которые могут помочь, высоко ценится.

1 Ответ

1 голос
/ 20 февраля 2020

Вы можете получить случайное целочисленное значение, выполнить операцию мода и соответственно обновить x / y.

Пример может быть:

int random = ThreadLocalRandom.current().nextInt(11111, 99999);

if (random % 7 == 0) { 
    x++;
} else if (random % 6 == 2) {
    y--;
} // and so on...

Использовать другое значение мода для других операций. .

...