-
Notifications
You must be signed in to change notification settings - Fork 1
/
game.js
41 lines (32 loc) · 1.01 KB
/
game.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"use strict";
var EventEmitter = require( 'events' ).EventEmitter,
game = new EventEmitter(),
mapHandler = require( './map.js' ),
playerHandler = require( './player.js' ),
enemyHandler = require( './enemy.js' );
game.start = function( ctx ) {
this.ctx = ctx;
// Get the first level map
var map = mapHandler( this );
// And create it
this.level = this.level++ || 1;
map.create( this.level );
// Spawn a new player
var player = playerHandler( this );
// And get him on the map
player.enter();
// Spawn enemies
var enemies = [];
for ( var i = 0; i < map.enemiesNumber; i++ ) {
enemies.push( enemyHandler( this ) );
}
// The algorithm to add the new enemies to the map is simple:
// - Have a long timeout, and add an enemy at each timeout
// - Then decrease the timeout every time
//
// This way, enemies come in quicker and quicker.
function buildEnemy() {
enemies.pop().enter();
}
};
module.exports = game;