From a8281523e2bbee4a1b4688f175896fe9c6b30c55 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 28 May 2015 23:50:19 +0200 Subject: This does seem to work a bit... kindof... --- .../src/com/camilstaps/route66/Driver.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Week14 Route 66/src/com/camilstaps/route66/Driver.java (limited to 'Week14 Route 66/src/com') diff --git a/Week14 Route 66/src/com/camilstaps/route66/Driver.java b/Week14 Route 66/src/com/camilstaps/route66/Driver.java new file mode 100644 index 0000000..f10bb3a --- /dev/null +++ b/Week14 Route 66/src/com/camilstaps/route66/Driver.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2015 Camil Staps + */ +package com.camilstaps.route66; + +import OO14route66.Car; +import OO14route66.Model; +import OO14route66.Regelaar; +import java.util.Random; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * + * @author camilstaps + */ +public class Driver implements Runnable { + + private final Car car; + + private final Random r; + + public Driver(Car car) { + this.car = car; + r = new Random(); + } + + @Override + @SuppressWarnings("empty-statement") + public synchronized void run() { + while (true) { + while (!Regelaar.getInstance().isSafeLocation(car, car.getNewLocation())); + + car.step(); + + try { + int bonus = 0; + if (Math.abs((System.currentTimeMillis() / 1000) % Model.NUMBEROFCARS - car.getNumber()) < 2) { + bonus = -30; + } + Thread.sleep(Math.abs(r.nextInt(50) + 5 + bonus)); + } catch (InterruptedException ex) { + Logger.getLogger(Driver.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + +} -- cgit v1.2.3