Skip to content
This repository has been archived by the owner on Dec 27, 2018. It is now read-only.

Commit

Permalink
half-baked enemies
Browse files Browse the repository at this point in the history
  • Loading branch information
hughsk committed Aug 25, 2013
1 parent 30b7fa2 commit ef8ddc8
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 5 deletions.
7 changes: 2 additions & 5 deletions game.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,8 @@ Game.prototype.start = function() {
this.player = new (require('./entities/player'))
this.add(this.player)

var Enemy = require('./components/enemy')(2, 2, 0, 0)
for (var _i = 0; _i < 10; _i += 1) {
var en = new Enemy
this.add(en)
}
var Spawner = require('./lib/spawner')
var spawner = new Spawner(this)
}

var framecounter = fps({ every: 1, decay: 0.5 })
Expand Down
34 changes: 34 additions & 0 deletions lib/spawner.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
module.exports = Spawner

function Spawner(game) {
if (!(this instanceof Spawner)) return new Spawner(game)

var Enemy = require('../components/enemy')(2, 2, 0, 0).tag('spawned')
var b2Vec2 = require('box2dweb-commonjs').Box2D.Common.Math.b2Vec2

game.field.grid.on('created', function(chunk) {
var x = chunk.position[0] * chunk.shape[0]
var y = chunk.position[1] * chunk.shape[1]
for (var i = 0; i < 10; i += 1) {
var enemy = new Enemy
game.add(enemy)
enemy.body.SetPosition(new b2Vec2(Math.random() * 30 + x, Math.random() * 30 + y))
}
})
game.field.grid.on('removed', function(chunk) {
var cx = chunk.position[0] * chunk.shape[0]
var cy = chunk.position[1] * chunk.shape[1]
var spawned = game.find('spawned')
var n = 0
for (var i = 0; i < spawned.length; i += 1) {
var b = spawned[i].body
var x = b.m_xf.position.x
var y = b.m_xf.position.y
if (x > cx && y > cy && x < cx+30 && y < cy+30) {
n += 1
spawned[i].flagged = true
}
}
console.log(n, 'removed')
})
}

0 comments on commit ef8ddc8

Please sign in to comment.