Tower Defense Proto
try it out
by Kyle Bezio
HTML
<canvas id="myCanvas" width="500" height="500" style="border:1px solid #000000;"></canvas>
<p id="p">hey</p>
CSS
#myCanvas {
cursor:auto;
}
JavaScript
/*************************************************
instance fields
*************************************************/
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
//towers
var placing = true;
var numTowers = 4;
var towers = [];
//bullets
var bullets = [];
var bulletFireRate = 500;
var maxRange = 200;
var maxBulletDistance = 100;
//baddies
var baddies = [];
var numBaddies = 10;
var baddieSize = 16;
//path and waypoints
var waypoints = [];
var pathColor = "#555555";
//track mouse for tower placement
var mouseX = 0;
var mouseY = 0;
//tower image
var towerImg = new Image();
towerImg.src = "http://s8.postimg.org/j9ibmfna9/bilbo.jpg";
var backgroundImg = new Image();
backgroundImg.src = "http://s14.postimg.org/lxwkyy5b5/Untitled_2.png";
//tread
var thread;
var level;
var baddies = [];
var lives;
//http://s12.postimg.org/3s8n5fiu5/Untitled_2.png
/******
initialize the awesome
******/
function init() {
//clear everything
clearInterval(thread);
level = 1;
lives = 10;
buildLevel();
thread = setInterval(draw, 30);
}
function buildLevel() {
//clear the arrays
//baddies = [];
waypoints = [];
bullets = [];
towers = [];
//populate the arrays
//add baddies
// if (level == 1) {
for (i = 0; i < numBaddies; i++) {
new Man(-1 * i * baddieSize * 2, canvas.height / 2, level);
}
//add waypoints--x pos, y pos, x dir, y dir
new Waypoint(0, canvas.height/2, 1, 0);
new Waypoint(100, canvas.height / 2, 0, 1);
new Waypoint(100, 300, 1, 0);
new Waypoint(400, 300, 0, -1);
new Waypoint(400, 100, 1, 0);
new Waypoint(canvas.width, 100, 1, 0);
level++;
}
function UpdateMap() {
//alert("hey");
numTowers++;
for (i = 0; i < numBaddies + level; i++) {
new Man(-1 * i * baddieSize * 2, canvas.height / 2, level);
}
level++;
}
/**
run game and draw stuff
**/
function draw() {
//clear the canvas
context.fillStyle =...