aboutsummaryrefslogtreecommitdiff
path: root/Week14 Route 66/src/com/camilstaps
diff options
context:
space:
mode:
authorCamil Staps2015-05-28 23:50:19 +0200
committerCamil Staps2015-05-28 23:50:19 +0200
commita8281523e2bbee4a1b4688f175896fe9c6b30c55 (patch)
treef519960e5c48f215edf8a4f1a75917200f329eb4 /Week14 Route 66/src/com/camilstaps
parentStart w14 (diff)
This does seem to work a bit... kindof...
Diffstat (limited to 'Week14 Route 66/src/com/camilstaps')
-rw-r--r--Week14 Route 66/src/com/camilstaps/route66/Driver.java48
1 files changed, 48 insertions, 0 deletions
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);
+ }
+ }
+ }
+
+}