xxxxxxxxxx
105
//MowatK1: Flame Shaker.
//Thanks to The Coding Train (Daniel Shiffman) for amazing tutorials!
//Variables
let difficulty;
let people = [];
let cannons = [];
let runners = [];
let dir;
let sel;
let running;
//Setup
function setup() {
let canvas = createCanvas(1000, 1000);
//Making input
sel = createSelect();
sel.option("");
sel.option("easy");
sel.option("medium");
sel.option("hard");
sel.option("impossible");
sel.selected("");
sel.changed(diff);
//Defining difficulty
difficulty = 2;
//Creating people
people[0] = new person(500, 250, 50);
runners[0] = new runner(500, 750, 50);
for (let i = 0; i < 9; i++) {
cannons[i] = new cannon(random(50, 950), random(500, 750), 50);
}
running = false;
}
function draw() {
if (running) {
background(255, 30, 105);
if (dist(people[0].x, people[0].y, runners[0].x, runners[0].y) <= runners[0].r / 2 + people[0].r / 2) {
console.log("WINNER!!!!!!!!!!!!");
people.splice(0, people.length);
cannons.splice(0, cannons.length);
}
people[0].show();
runners[0].show();
people[0].move(dir);
for(let i = 0; i < cannons.length; i++) {
cannons[i].show();
cannons[i].attack();
for(let j = 0; j < cannons.length; j++) {
let d = dist(cannons[i].x,cannons[i].y,cannons[j].x,cannons[j].y);
let radii_sum = cannons[i].r/2 + cannons[j].r/2;
if (i != j && d < radii_sum) {
let dx = cannons[j].x - cannons[i].x;
let dy = cannons[j].y - cannons[i].y;
let unit_x = dx / d;
let unit_y = dy / d;
cannons[j].x = cannons[i].x + radii_sum * unit_x;
cannons[j].y = cannons[i].y + radii_sum * unit_y;
}
}
if (dist(people[0].x, people[0].y, cannons[i].x, cannons[i].y) <= cannons[i].r / 2 + people[0].r / 2){
console.log("You dead, son!");
people.splice(0, people.length);
cannons.splice(0, cannons.length);
}
}
}
}
function keyPressed() {
if(keyCode === 38 || keyCode === 87) {
dir = "UP";
} else if (keyCode === 83 || keyCode === 40) {
dir = "DOWN";
} else if (keyCode === 65 || keyCode === 37) {
dir = "LEFT";
} else if (keyCode === 68 || keyCode === 39) {
dir = "RIGHT";
}
}
function diff() {
// sel.disable("easy");
// sel.disable("medium");
// sel.disable("hard");
// sel.disable("impossible");
// sel.disable("impossible");
if (sel.value() == "easy") {
difficulty = 1.5;
} else if (sel.value() == "medium") {
difficulty = 2;
} else if (sel.value() == "hard") {
difficulty = 2.5;
} else if (sel.value() == "impossible") {
difficulty = 3;
}
running = true;
}