Current File : /home/jeshor13/11bsouth.com/MidtownGame/sketch.js |
var c_ROWs = []
var p_ROWs = []
var lights = []
var NumOfc_ROWS = 16;
var NumOfp_ROWS = 4;
var startPoints_c = [];
var startPoints_p = [];
var endPoints_cStraight = [];
var endPoints_cTurn = [];
var endPoints_c = [];
var endPoints_p = [];
var turnBias1 = 0
var turnBias2 = 0
var cTurn_point = [];
var cStraight_point = [];
var debug = false;
var cars = [];
var peoples = []
var carTimer = 0
var peopleTimer = 0
var smoothAvg = 1
var timeAvg = 0
var ranval1 = 0
var ranval2 = 0
var loopcount = 0
var cMidPoint = [];
var pMidPoint = [];
var deathCounter = 0
var score = 0
function setup() {
createCanvas(1480, 840);
startPoints_p[0] = createVector(0, 0)
startPoints_p[1] = createVector(0, height)
startPoints_p[2] = createVector(width, height)
startPoints_p[3] = createVector(width, 0)
pMidPoint[0] = createVector(width * 0.175, height * 0.20)
pMidPoint[1] = createVector(width * 0.175, height * 0.80)
pMidPoint[2] = createVector(width * 0.825, height * 0.80)
pMidPoint[3] = createVector(width * 0.825, height * 0.20)
endPoints_p[0] = createVector(0, 0)
endPoints_p[1] = createVector(0, height)
endPoints_p[2] = createVector(width, height)
endPoints_p[3] = createVector(width, 0)
startPoints_c[0] = createVector(0, height * 0.55)
startPoints_c[1] = createVector(0, height * 0.65)
startPoints_c[2] = createVector(width, height * 0.45)
startPoints_c[3] = createVector(width, height * 0.35)
startPoints_c[4] = createVector(width * 0.275, 0)
startPoints_c[5] = createVector(width * 0.425, 0)
startPoints_c[6] = createVector(width * 0.575, height)
startPoints_c[7] = createVector(width * 0.725, height)
startPoints_c[8] = startPoints_c[0]
startPoints_c[9] = startPoints_c[1]
startPoints_c[10] = startPoints_c[2]
startPoints_c[11] = startPoints_c[3]
startPoints_c[12] = startPoints_c[4]
startPoints_c[13] = startPoints_c[5]
startPoints_c[14] = startPoints_c[6]
startPoints_c[15] = startPoints_c[7]
endPoints_c[0] = createVector(width, height * 0.55)
endPoints_c[1] = createVector(width, height * 0.65)
endPoints_c[2] = createVector(0, height * 0.45)
endPoints_c[3] = createVector(0, height * 0.35)
endPoints_c[4] = createVector(width * 0.275, height)
endPoints_c[5] = createVector(width * 0.425, height)
endPoints_c[6] = createVector(width * 0.575, 0)
endPoints_c[7] = createVector(width * 0.725, 0)
endPoints_c[8] = endPoints_c[6]
endPoints_c[9] = endPoints_c[4]
endPoints_c[10] = endPoints_c[5]
endPoints_c[11] = endPoints_c[7]
endPoints_c[12] = endPoints_c[3]
endPoints_c[13] = endPoints_c[0]
endPoints_c[14] = endPoints_c[2]
endPoints_c[15] = endPoints_c[1]
cMidPoint[0] = createVector(width / 2, height * 0.55)
cMidPoint[1] = createVector(width / 2, height * 0.65)
cMidPoint[2] = createVector(width / 2, height * 0.45)
cMidPoint[3] = createVector(width / 2, height * 0.35)
cMidPoint[4] = createVector(width * 0.275, height / 2)
cMidPoint[5] = createVector(width * 0.425, height / 2)
cMidPoint[6] = createVector(width * 0.575, height / 2)
cMidPoint[7] = createVector(width * 0.725, height / 2)
cMidPoint[8] = createVector(width * 0.575, height * 0.55)
cMidPoint[9] = createVector(width * 0.275, height * 0.65)
cMidPoint[10] = createVector(width * 0.425, height * 0.45)
cMidPoint[11] = createVector(width * 0.725, height * 0.35)
cMidPoint[12] = createVector(width * 0.275, height * 0.35)
cMidPoint[13] = createVector(width * 0.425, height * 0.55)
cMidPoint[14] = createVector(width * 0.575, height * 0.45)
cMidPoint[15] = createVector(width * 0.725, height * 0.65)
newC_ROWs(1);
newP_Sidewalks(1)
ranval1 = random(2)
ranval2 = random(16)
}
function draw() {
background(50, 50, 50);
fill(71) // Sidewalks
rect(0, 0, width * 0.20, height * 0.25)
rect(0, height * 0.75, width * 0.20, height * 0.25)
rect(width * 0.80, height * 0.75, width * 0.20, height * 0.25)
rect(width * 0.80, 0, width * 0.20, height * 0.25)
strokeWeight(6)
stroke(255, 255, 255)
line(width * 0.15, height * 0.25, width * 0.15, height * 0.75)
line(width * 0.20, height * 0.25, width * 0.20, height * 0.75)
line(width * 0.85, height * 0.25, width * 0.85, height * 0.75)
line(width * 0.80, height * 0.25, width * 0.80, height * 0.75)
line(width * 0.20, height * 0.25, width * 0.80, height * 0.25)
line(width * 0.20, height * 0.15, width * 0.80, height * 0.15)
line(width * 0.20, height * 0.75, width * 0.80, height * 0.75)
line(width * 0.20, height * 0.85, width * 0.80, height * 0.85)
strokeWeight(4)
stroke(50, 200, 0)
line(0, height * 0.50, width * 0.25, height * 0.50)
line(width * 0.75, height * 0.50, width, height * 0.50)
line(width * 0.50, 0, width * 0.50, height * 0.30)
line(width * 0.50, height * 0.70, width * 0.50, height)
// for (i = 0; i < NumOfp_ROWS; i++) {
// p_ROWs[i].display();
// ellipse(startPoints_c[i % 8].x, startPoints_c[i % 8].y, 20, 20)
// ellipse(endPoints_c[i % 8].x, endPoints_c[i % 8].y, 30, 30)
// }
if (cars.length < 10 && millis() - carTimer > 500) {
rand = constrain(round(18 * noise(millis())), 0, 100)
var dir = 0
if (startPoints_c[rand % 16].x < 1) {
dir = createVector(2, 0)
} else if (startPoints_c[rand % 16].x > width - 1) {
dir = createVector(-2, 0)
} else if (startPoints_c[rand % 16].y < 1) {
dir = createVector(0, 2)
} else {
dir = createVector(0, -2)
}
cars.push(new Vehicle(startPoints_c[rand % 16].copy(), dir, c_ROWs[rand % 16], millis()));
carTimer = millis()
}
if (peoples.length < 15 && millis() - peopleTimer > 400) {
rand = round(loopcount + 1)
var dir = 0
if (startPoints_p[rand % 4].x < 1 && startPoints_p[rand % 4].y < 1) {
dir = createVector(1, 1)
} else if (startPoints_p[rand % 4].x > width - 1 && startPoints_p[rand % 4].y > height - 1) {
dir = createVector(-1, -1)
} else if (startPoints_p[rand % 4].y < 1 && startPoints_p[rand % 4].x > width - 1) {
dir = createVector(-1, 1)
} else {
dir = createVector(1, -1)
}
peoples.push(new Ped(startPoints_p[rand % 4].copy(), dir, p_ROWs[rand % 4], millis()));
peopleTimer = millis()
loopcount++
}
var sum = 0
for (i = 0; i < cars.length; i++) {
//lights[i % 8].display()
cars[i].follow();
cars[i].run();
cars[i].borders();
cars[i].separate();
sum = sum + (millis() - cars[i].birthtime)
if (cars[i].isDead) {
cars.splice(i, 1)
deathCounter++
score++
}
}
for (j = 0; j < peoples.length; j++) {
peoples[j].follow();
peoples[j].run();
peoples[j].borders();
peoples[j].separate();
sum = sum + (millis() - peoples[j].birthtime)
if (peoples[j].isDead) {
peoples.splice(j, 1)
deathCounter++
score++
}
}
timeAvg = sum / (cars.length - 1) + (peoples.length - 1)
text(int(timeAvg / 1000), width * 0.05, height * 0.07)
text(int(score), width * 0.05, height * 0.05)
}
function newC_ROWs(type) {
// lights[0] = new Light(width * 0.15, height * 0.625, width * 0.02, height * 0.125)
// lights[1] = new Light(width / 2, height / 2, 10, 10)
// lights[2] = new Light(width / 2, height / 2, 10, 10)
// lights[3] = new Light(width / 2, height / 2, 10, 10)
// lights[4] = new Light(width / 2, height / 2, 10, 10)
// lights[5] = new Light(width / 2, height / 2, 10, 10)
// lights[6] = new Light(width / 2, height / 2, 10, 10)
// lights[7] = new Light(width / 2, height / 2, 10, 10)
for (i = 0; i < 16; i++) {
c_ROWs[i] = new ROW(i);
c_ROWs[i].addPoint(startPoints_c[i]);
var start = startPoints_c[i].copy()
var mid1 = cMidPoint[i].copy()
var mid = cMidPoint[i].copy()
var end = endPoints_c[i].copy()
if (startPoints_c[i].y == endPoints_c[i].y && startPoints_c[i].x < endPoints_c[i].x) {
c_ROWs[i].addPoint(createVector(end.x / 4, end.y));
}
c_ROWs[i].addPoint(cMidPoint[i]);
c_ROWs[i].addPoint(endPoints_c[i]);
}
}
function newP_Sidewalks(type) {
for (i = 0; i < 4; i++) {
p_ROWs[i] = new Sidewalk(i);
p_ROWs[i].addPoint(startPoints_p[i]);
p_ROWs[i].addPoint(pMidPoint[i]);
p_ROWs[i].addPoint(pMidPoint[(i + 1) % 4]);
p_ROWs[i].addPoint(endPoints_p[(i + 1) % 4]);
}
}