Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- // Kelas untuk merepresentasikan mobil
- class Car {
- private String name;
- private int position;
- public Car(String name) {
- this.name = name;
- this.position = 0;
- }
- // Menggerakkan mobil maju secara acak
- public void move() {
- Random rand = new Random();
- int distance = rand.nextInt(10) + 1; // Gerakkan antara 1 dan 10 langkah
- position += distance;
- System.out.println(name + " bergerak " + distance + " langkah.");
- }
- public int getPosition() {
- return position;
- }
- public String getName() {
- return name;
- }
- }
- // Kelas untuk mengatur perlombaan
- public class Race {
- private Car[] cars;
- private int trackLength;
- private boolean raceOver;
- public Race(int numberOfCars, int trackLength) {
- cars = new Car[numberOfCars];
- for (int i = 0; i < numberOfCars; i++) {
- cars[i] = new Car("Mobil " + (i + 1));
- }
- this.trackLength = trackLength;
- raceOver = false;
- }
- // Memulai perlombaan
- public void startRace() {
- System.out.println("Perlombaan dimulai!");
- while (!raceOver) {
- for (Car car : cars) {
- car.move();
- if (car.getPosition() >= trackLength) {
- System.out.println(car.getName() + " telah mencapai garis finish dan memenangkan perlombaan!");
- raceOver = true;
- break;
- }
- }
- System.out.println("--------------------------");
- try {
- Thread.sleep(1000); // Jeda 1 detik setiap iterasi
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- public static void main(String[] args) {
- Race race = new Race(3, 100); // 3 mobil berlomba di trek sepanjang 100 langkah
- race.startRace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement