diff --git a/w9_cars/css/style.css b/w9_cars/css/style.css new file mode 100644 index 0000000..06b82b5 --- /dev/null +++ b/w9_cars/css/style.css @@ -0,0 +1,11 @@ +html, +body { + margin: 0; + /* padding: 5px; */ + align-items: center; + text-align: center; + background-color: beige; +} +canvas { + display: block; +} diff --git a/w9_cars/data/car.jpg b/w9_cars/data/car.jpg new file mode 100644 index 0000000..4025aef Binary files /dev/null and b/w9_cars/data/car.jpg differ diff --git a/w9_cars/data/convertible.jpg b/w9_cars/data/convertible.jpg new file mode 100644 index 0000000..df307d7 Binary files /dev/null and b/w9_cars/data/convertible.jpg differ diff --git a/w9_cars/data/font.vlw b/w9_cars/data/font.vlw new file mode 100644 index 0000000..f621b40 Binary files /dev/null and b/w9_cars/data/font.vlw differ diff --git a/w9_cars/data/sport.jpg b/w9_cars/data/sport.jpg new file mode 100644 index 0000000..b2e93bb Binary files /dev/null and b/w9_cars/data/sport.jpg differ diff --git a/w9_cars/data/truck.jpg b/w9_cars/data/truck.jpg new file mode 100644 index 0000000..823884b Binary files /dev/null and b/w9_cars/data/truck.jpg differ diff --git a/w9_cars/index.html b/w9_cars/index.html new file mode 100644 index 0000000..adf9b34 --- /dev/null +++ b/w9_cars/index.html @@ -0,0 +1,18 @@ + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/w9_cars/sketch.js b/w9_cars/sketch.js new file mode 100644 index 0000000..0e99e03 --- /dev/null +++ b/w9_cars/sketch.js @@ -0,0 +1,43 @@ +const vehicles = []; +const IMG_SIZE = 400; +let message = ''; + +const images = {}; + +function setup() { + createCanvas(4 * IMG_SIZE, 300); + + vehicles.push(new Car(4)); +} + +function draw() { + background(255); + + for (let i = 0; i < vehicles.length; i += 1) { + vehicles[i].draw(i * IMG_SIZE, 0, IMG_SIZE); + } + + fill(0); + textFont('Arial', 20); + textAlign(CENTER); + text(message, width / 2, IMG_SIZE); +} + +function mousePressed() { + const index = floor(mouseX / IMG_SIZE); + message = vehicles[index]?.getDescription() ?? 'None'; // polymorphism! +} + +// CLASSES + +class Car { + constructor(passengers) { + // ... + } + + getDescription() { + // PLACEHOLDER + } + + draw() {} +} diff --git a/w9_cars/test.wsd b/w9_cars/test.wsd new file mode 100644 index 0000000..ad29f21 --- /dev/null +++ b/w9_cars/test.wsd @@ -0,0 +1,38 @@ +@startuml +class Vehicle { + -img: PImage + + {abstract} getDescription(): String + + draw (x: Number, y: Number, size: Number): void +} + +class Car { + - passengers: Number + + constructor (passengers: Number) + + getDescription (): String +} + +class Truck { + - load: Number + + constructor (load: Number) + + getDescription (): String +} + +class SportCar { + - fullOp: Bolean + + constructor (fullOptions: Boolean) + + getDescription (): String + + getTurbo (): String + + getOptions (): String +} + +class Convertible { + + constructor() + + getDescription(): String + + getRooftop(): String +} +Vehicle <|.. Car +Vehicle <|.. Truck +Car <|-- SportCar +SportCar <|-- Convertible + +@enduml \ No newline at end of file