imageMode(CENTER); textAlign(CENTER); var skier = getImage("avatars/old-spice-man-blue"); var skierX = mouseX; var skierY = 200; var speed = 2; var trailX = []; var trailY = []; var trees = []; //object prototype var tree = function() { this.x = random(0, 400); this.y = random(450, 550); }; trees.push(new tree()); var collision = function(treeX, treeY) { if(dist(skierX, skierY, treeX, treeY) < 20) { speed = 0; } }; var drawTrees = function() { for(var i = 0; i < trees.length; i++) { trees[i].y -= speed*2; fill(181, 115, 34); rect(trees[i].x - 5, trees[i].y, 10, 30); fill(66, 147, 39); triangle(trees[i].x, trees[i].y, trees[i].x - 20, trees[i].y + 20, trees[i].x + 20, trees[i].y +20); triangle(trees[i].x , trees[i].y - 10, trees[i].x - 20, trees[i].y + 10, trees[i].x + 20, trees[i].y + 10); triangle(trees[i].x, trees[i].y - 20, trees[i].x - 20, trees[i].y, trees[i].x + 20, trees[i].y); if(trees[i].y < -50) { trees[i].y = random(450, 850); trees[i].x = random(0, 400); if(random(0, 10) > 7) { trees.push(new tree()); } } collision(trees[i].x, trees[i].y); } }; var drawSkier = function() { noStroke(); fill(165, 100, 70); rect(skierX + 8, skierY - 20, 7, 60, 30); rect(skierX - 16, skierY - 20, 7, 60, 30); image(skier,skierX, skierY, 50, 50); }; var drawTrail = function() { stroke(205, 180); strokeWeight(3); for(var i = 1; i < trailX.length; i++) { trailY[i] -= speed; trailY[i - 1] -= speed; line(trailX[i - 1] + 11, trailY[i - 1], trailX[i] + 11, trailY[i]); line(trailX[i - 1] - 13, trailY[i - 1], trailX[i] - 13, trailY[i]); if(trailY[i] < -10) { trailY.splice(i, 1); trailX.splice(i, 1); } } trailX.push(skierX); trailY.push(skierY); }; var draw = function() { background(255); drawTrail(); drawSkier(); drawTrees(); if(speed !== 0) { skierX = mouseX; } else{ fill(255, 0, 0); text("Ouch!", skierX, skierY - 30); } };