diff --git a/public/images/Thumbs.db b/public/images/Thumbs.db new file mode 100644 index 0000000..0d2ee5e Binary files /dev/null and b/public/images/Thumbs.db differ diff --git a/src/entities/tile.coffee b/src/entities/tile.coffee index 3985b03..ca69c72 100644 --- a/src/entities/tile.coffee +++ b/src/entities/tile.coffee @@ -15,14 +15,21 @@ class Tile extends BaseEntity @currentLayer = 0 @isActive = false + died: false + click: (button)-> - if button == "left" + if button == "left" and !@died if @layers[@currentLayer].collect() name = app.layerIndexToName(@currentLayer) app.game.resources[name] += 1 else @currentLayer += 1 + if @currentLayer > Object.keys(app.game.resources).length + @died = true + + @currentMiner = null if @currentMiner + tick: -> @currentMiner.tick @ @@ -45,6 +52,10 @@ class Tile extends BaseEntity detachMiner: -> @currentMiner = null + gameTick: -> + if @currentMiner + @layers[@currentLayer].collect() + render: (x, y)-> tileLayer = @layers[@currentLayer] app.layer.drawRegion app.images.layers, tileLayer.sprite, x*8, y*8 @@ -59,9 +70,9 @@ class Tile extends BaseEntity app.layer.drawImage app.images.active, x*8, y*8 # Draw the status indicator. - numPercent = Math.floor((tileLayer.amount*6)/app.game.maxTileAmount) - for i in [0..numPercent] - color = ["#f00", "#a00", "#f60", "#aa0", "#0a0", "#0a0"][numPercent] - color = ["#f00", "#f00", "#f80", "#ff0", "#0f0", "#0f0"][numPercent] if i == numPercent - app.layer.setPixel(color, x*8+1+i, y*8+6) + numPercent = Math.floor((tileLayer.amount*6)/app.game.maxTileAmount) + for i in [0..numPercent] + color = ["#f00", "#a00", "#f60", "#aa0", "#0a0", "#0a0"][numPercent] + color = ["#f00", "#f00", "#f80", "#ff0", "#0f0", "#0f0"][numPercent] if i == numPercent + app.layer.setPixel(color, x*8+1+i, y*8+6) diff --git a/src/game.coffee b/src/game.coffee index 04e5800..f9029b4 100644 --- a/src/game.coffee +++ b/src/game.coffee @@ -6,6 +6,9 @@ app.game = @currentHoveredTile = new Tile @currentSelectedTile = new Tile + # Start the game tick + window.setInterval(@gameTick, 1000) + render: -> for tile, i in @map y = Math.floor(i/20) @@ -41,6 +44,9 @@ app.game = @currentSelectedTile.deselect() if @currentSelectedTile @currentSelectedTile = null + gameTick: -> + tile.gameTick() for tile in @map + createMiner: -> if @currentSelectedTile and @checkRessources 'lubinit', 30, true newMiner = new Miner @@ -71,7 +77,11 @@ app.game = resources: stardust: 0 + dirt: 0 bedrock: 0 - lubinit: 0 oxodum: 0 + lubinit: 0 + darkana: 0 + bio: 0 notch: 0 + lava: 0