td game

by 兵兵 王

HTML

<canvas id="stage">
    不支持canvas
</canvas>

CSS

*{
	margin: 0;
	padding: 0;
}

body {
	background: #ddd;
}

#stage {
	display: block;
	margin: 0 auto;
	background: #fff;
}

#whee {
	position: absolute;
}

JavaScript

/*game.js start*/
var ZxGame = {};
ZxGame.config = {
	w: 900,
	h: 600,
	defaultFontStyle : "15px 微软雅黑",
	defaultTextColor : "#123456",
	defaultFPS: 50,
	showHPBar: true,
	gridColNum: 20,
	gridRowNum: 15,
	gridW: 35,
	startCoord: [0, 0],
	targetCoord: [19, 14]
}
ZxGame.config.monstersData = [[{
	fillColor: '#523',
	strokeColor: '#7c1',
	r: 5
}, {
	_HP: 100,
	maxHP: 100,
	speed: 2,
	money: 5,
	point: 5,
	damage: 1
}],[{
	fillColor: '#993',
	strokeColor: '#187',
	r: 7
}, {
	_HP: 200,
	maxHP: 200,
	speed: 1.5,
	money: 10,
	point: 10,
	damage: 2
}],[{
	fillColor: '#c83',
	strokeColor: '#0cc',
	r: 4
}, {
	_HP: 80,
	maxHP: 80,
	speed: 3,
	money: 10,
	point: 10,
	damage: 1
}],[{
	fillColor: '#14a',
	strokeColor: '#ca7',
	r: 10
}, {
	_HP: 1000,
	maxHP: 1000,
	speed: 1,
	money: 1000,
	point: 500,
	damage: 5
}]]
ZxGame.config.waveArr = [[0,100,0,100,0,100,0,100,0,100,0,100,1,100,1,100,1,100,1,100,3],[0,100,0,100,0,100,0,100,1,100,1,100,2,10,2,10,2,10,2,10,3],[0,100,0,100,0,100,0,100,0,100,0,100,1,10,1,10,1,10,1,10,3]];
// init
ZxGame.init = function () {
	var canvas = document.getElementById('stage');
	var stage = new createjs.Stage(canvas);
	canvas.width = ZxGame.config.w;
	canvas.height = ZxGame.config.h;
	ZxGame.canvas = canvas;
	ZxGame.stage = stage;
	stage.enableMouseOver(10);
	stage.mouseMoveOutside = true;
	ZxGame.reset();
}

// reset
ZxGame.reset = function () {
	var startBtn = new ZxGame.Button(200, 50, "开始", "24px 微软雅黑", "#ccc", "#655");
	ZxGame.stage.addChild(startBtn);
	startBtn.x = (ZxGame.canvas.width-200)/2;
	startBtn.y = 200;
	startBtn.addEventListener("click", function() {
		ZxGame.stage.removeChild(startBtn);
		ZxGame.start();
	})

	var ticker = new ZxGame.Ticker();
	ZxGame.update = {};
	ZxGame.update.stageUpdate = function() {
		ZxGame.stage.update();
	}
	ticker.addChild(ZxGame.update.stageUpdate);
	ZxGame.ticker = ticker;
	createjs.Ticker.setInterval(1000/ZxGame.config.defaultFPS);
	ZxGame.tick = function ()...