|
|
|
@ -4,9 +4,9 @@ app.game =
|
|
|
|
|
@map[i] = new Tile
|
|
|
|
|
|
|
|
|
|
@miners = []
|
|
|
|
|
@miners.push = new Miner
|
|
|
|
|
|
|
|
|
|
@currentHoveredTile = new Tile
|
|
|
|
|
@currentSelectedTile = new Tile
|
|
|
|
|
|
|
|
|
|
render: ->
|
|
|
|
|
app.layer.save().scale(5, 5)
|
|
|
|
@ -23,7 +23,12 @@ app.game =
|
|
|
|
|
step: ->
|
|
|
|
|
|
|
|
|
|
mousedown: (event)->
|
|
|
|
|
@posToTile(event.x, event.y).click(event.button)
|
|
|
|
|
tile = @posToTile(event.x, event.y)
|
|
|
|
|
tile.click(event.button)
|
|
|
|
|
|
|
|
|
|
@currentSelectedTile.deselect() if @currentSelectedTile
|
|
|
|
|
tile.select()
|
|
|
|
|
@currentSelectedTile = tile
|
|
|
|
|
|
|
|
|
|
mousemove: (event)->
|
|
|
|
|
tile = @posToTile(event.x, event.y)
|
|
|
|
@ -34,6 +39,19 @@ app.game =
|
|
|
|
|
@currentHoveredTile.moveOut()
|
|
|
|
|
@currentHoveredTile = tile
|
|
|
|
|
|
|
|
|
|
keyup: (event) ->
|
|
|
|
|
switch event.key
|
|
|
|
|
when "m" then @createMiner()
|
|
|
|
|
when "space"
|
|
|
|
|
@currentSelectedTile.deselect() if @currentSelectedTile
|
|
|
|
|
@currentSelectedTile = null
|
|
|
|
|
|
|
|
|
|
createMiner: ->
|
|
|
|
|
if @currentSelectedTile
|
|
|
|
|
newMiner = new Miner
|
|
|
|
|
@miners.push = newMiner
|
|
|
|
|
@currentSelectedTile.attachMiner newMiner
|
|
|
|
|
|
|
|
|
|
posToTile: (x, y)->
|
|
|
|
|
pos = (Math.floor(y/8/5)*20) + Math.floor(x/8/5)
|
|
|
|
|
@map[pos]
|
|
|
|
|