| @@ -14,6 +14,29 @@ var victims = | |||||
| "Overpass": 0 | "Overpass": 0 | ||||
| } | } | ||||
| function getOnePrey(area) | |||||
| { | |||||
| var potential = ["Person", "Car", "Bus", "House", "Train", "Parking Garage"]; | |||||
| var potAreas = [] | |||||
| potential.forEach(function (x) { | |||||
| potAreas.push([x,areas[x]]); | |||||
| }); | |||||
| potAreas = potAreas.sort(function (x,y) { | |||||
| return x[1] < y[1]; | |||||
| }); | |||||
| for (var i=0; i<potAreas.length; i++) { | |||||
| x = potAreas[i]; | |||||
| if (x[1] < area) { | |||||
| return new things[x[0]](1); | |||||
| } | |||||
| }; | |||||
| return new Person(1); | |||||
| } | |||||
| function getPrey(region, area) | function getPrey(region, area) | ||||
| { | { | ||||
| switch(region) | switch(region) | ||||
| @@ -50,19 +73,17 @@ function feed() | |||||
| var log = document.getElementById("log"); | var log = document.getElementById("log"); | ||||
| var line = document.createElement('div'); | var line = document.createElement('div'); | ||||
| var prey = getPrey("suburb", 2*scale*scale); | |||||
| var prey = getPrey("suburb", 0.5*scale*scale); | |||||
| updateVictims(prey); | updateVictims(prey); | ||||
| line.innerHTML = prey.eat(); | line.innerHTML = prey.eat(); | ||||
| log.appendChild(line); | log.appendChild(line); | ||||
| var preyMass = prey.sum_property("mass") * 3; | |||||
| var preyMass = prey.sum_property("mass"); | |||||
| scale = scaleAddMass(scale, baseMass, preyMass); | scale = scaleAddMass(scale, baseMass, preyMass); | ||||
| update(); | update(); | ||||
| setTimeout(feed, 2000); | |||||
| } | } | ||||
| function stomp() | function stomp() | ||||
| @@ -70,7 +91,7 @@ function stomp() | |||||
| var log = document.getElementById("log"); | var log = document.getElementById("log"); | ||||
| var line = document.createElement('div'); | var line = document.createElement('div'); | ||||
| var prey = getPrey("suburb", 2*scale*scale); | |||||
| var prey = getPrey("suburb", 1.5*scale*scale); | |||||
| updateVictims(prey); | updateVictims(prey); | ||||
| line.innerHTML = prey.stomp(); | line.innerHTML = prey.stomp(); | ||||
| @@ -81,8 +102,6 @@ function stomp() | |||||
| scale = scaleAddMass(scale, baseMass, preyMass); | scale = scaleAddMass(scale, baseMass, preyMass); | ||||
| update(); | update(); | ||||
| setTimeout(stomp, 1250); | |||||
| } | } | ||||
| function anal_vore() | function anal_vore() | ||||
| @@ -90,21 +109,17 @@ function anal_vore() | |||||
| var log = document.getElementById("log"); | var log = document.getElementById("log"); | ||||
| var line = document.createElement('div'); | var line = document.createElement('div'); | ||||
| var prey = getPrey("suburb", 4*scale*scale); | |||||
| if (prey.name == "Person" && prey.count == 1 && scale*scale > 4) | |||||
| prey = new Car(1); | |||||
| var prey = getOnePrey(scale*scale*2) | |||||
| updateVictims(prey); | updateVictims(prey); | ||||
| line.innerHTML = prey.anal_vore(); | line.innerHTML = prey.anal_vore(); | ||||
| log.appendChild(line); | log.appendChild(line); | ||||
| var preyMass = prey.sum_property("mass") * 5; | |||||
| var preyMass = prey.sum_property("mass"); | |||||
| scale = scaleAddMass(scale, baseMass, preyMass); | scale = scaleAddMass(scale, baseMass, preyMass); | ||||
| update(); | update(); | ||||
| setTimeout(anal_vore, 4500); | |||||
| } | } | ||||
| function update() | function update() | ||||
| @@ -126,10 +141,24 @@ function update() | |||||
| } | } | ||||
| } | } | ||||
| function pick_move() | |||||
| { | |||||
| var choice = Math.random(); | |||||
| if (choice < 0.2) { | |||||
| anal_vore(); | |||||
| setTimeout(pick_move, 4000); | |||||
| } else if (choice < 0.6) { | |||||
| stomp(); | |||||
| setTimeout(pick_move, 1500); | |||||
| } else { | |||||
| feed(); | |||||
| setTimeout(pick_move, 2000); | |||||
| } | |||||
| } | |||||
| window.addEventListener('load', function(event) { | window.addEventListener('load', function(event) { | ||||
| setTimeout(feed, 2000); | |||||
| setTimeout(stomp, 1250); | |||||
| setTimeout(anal_vore, 4500); | |||||
| setTimeout(pick_move, 2000); | |||||
| update(); | update(); | ||||
| }); | }); | ||||