From 6134c645147a4717b38e13649374a8db54d0ed21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20M=C3=BCller?= Date: Sat, 6 Dec 2014 20:51:21 +0100 Subject: [PATCH 1/3] Working on tiles --- src/entities/tile.coffee | 7 ++++++- src/game.coffee | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/entities/tile.coffee b/src/entities/tile.coffee index 3985b03..3b50069 100644 --- a/src/entities/tile.coffee +++ b/src/entities/tile.coffee @@ -15,14 +15,19 @@ 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 > app.game.resources.length + @died = true + tick: -> @currentMiner.tick @ diff --git a/src/game.coffee b/src/game.coffee index 04e5800..504a191 100644 --- a/src/game.coffee +++ b/src/game.coffee @@ -71,7 +71,11 @@ app.game = resources: stardust: 0 + dirt: 0 bedrock: 0 - lubinit: 0 oxodum: 0 + lubinit: 0 + darkana: 0 + bio: 0 notch: 0 + lava: 0 From c7b600a15a9da9995f30d09f0f28ffaefe422cf9 Mon Sep 17 00:00:00 2001 From: Aaron Mueller Date: Sat, 6 Dec 2014 20:52:56 +0100 Subject: [PATCH 2/3] Add game tick --- src/entities/tile.coffee | 14 +++++++++----- src/game.coffee | 6 ++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/entities/tile.coffee b/src/entities/tile.coffee index 3985b03..49cd777 100644 --- a/src/entities/tile.coffee +++ b/src/entities/tile.coffee @@ -45,6 +45,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 +63,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..32fbce7 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 From 7056bbc622c1b795a94248f7ef8687bb531b2866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20M=C3=BCller?= Date: Sat, 6 Dec 2014 21:08:46 +0100 Subject: [PATCH 3/3] Fix --- public/images/layers.png | Bin 3327 -> 3455 bytes src/entities/tile.coffee | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/public/images/layers.png b/public/images/layers.png index eddf642bf86b2cff1adf269ab13eb8b092e2f7ea..54933be32d2ae8314d1fb79068bd064a5e9dcb4e 100644 GIT binary patch delta 3382 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 M07*qoM6N<$f=Z;KXaE2J delta 3253 zcmV;m3`+C=8vhxPLI(~OF3zj)Fp)_te|1SjK~#9!-J5MtRM#2Df4eNZ%YrPrEU+st z#TQT_3L2ECR7p(Kh)Kt!X(w@zV3E&}cJ$au0Jc_a0^rEu4@l2Q6WimB@nU&p$qLyxVa!x^^w>#u z|KX3s(hSlE0dyqz>gpQStSOZNpEEl}tP{Ws&!<2A4}QO&b?eqfy>QO#l&CrH-Mhz$ zlb=w&zKrIUo3yue5G2SCo~|I)f2J3JyYIMh-*I#4Vm$yKe{@>xv}R2y)zvlp`OQ6S zt=J?3UtL`TKw)9Q1hCbmWM^k_Ji{VZR;jM@tq>2r;a=H^!PdOZUJ19-gy0HmjeXwa{B?RA)zvjJ`S1k=SwRMnSe=*~_bBEmAiR_(` zkxq4W4IQ^SMK8{q_dVi`@eB+MVl)~to6P_;UB5v`=PkB9^ORx^czDHfnIa086foE6 zz-Tnm+;Wo}H(JQ!i$z&f1{>zJ(cl* z=qSm_$rA~lAF&0s@a6&71I!|rwpi$hyiLtPbx#cQ$Iop|ns5@G#?GZdA` zgR=g@82|>x69AZ{A9~0q;g*xF5V6!`T?8)b`*&QTw_C`%q zwyKm_`Vp*p6OT9_nvi$#TDp4f(C6{e=kb#F&?@>oUW!(4e~^tYE#FLO`DW~nOze(K zv@(O#<5JHH=DF*_W_K`t{TuZ83jwecEyDu1UAJXQu-TosU0q!3z7ZzP8A_@qBYk~+ zY}xiaN8bG>0RMjb@0g77WM$5!w0tvN?JeADy}|f+0J|fT((=vJoH-HubAZ&#g~e+r zEM7}PU6ptVe`Z;>EHt3G4YS!In?&%q-|fa`chW!Zqo|}Dx2p?)zP>&HjvsjklgY%h z+kYw>-`v>1$nX$>fS<%!$s|}3HB*2-vO)kYRe@k;vxS7Eg%I|>&F%o;T-R42IoWI& zhDNa2onmfisH?)~^NDj*JiDEvhu#itbD0y{-26qMe|bkohDA~|BS4V-WZ->QLm&eI zKf{+Vi{Jr@O3Fo#8*Db*t}fO;@f-j~T^t5OJX^LskI(1h@PU8e^Z9sk>vIHyLHzyz zx%o?IZfqbf&OmTHNKaRXNQfrq04ZQKB7zHY8NPfOef~o9`3q(7KU{yAp1=?`yAyjx z7M&e8e{j3H#PQvC?{e<5lbB2<0G{3cGtPhZAuCpubNS*~YCk(ECPJ+|AGHli0ZU_F zy6vURw&S_$B4xH+Opt=q1*Xu=319WwDiNuYJj9{@?qP&0Q$`#dTyWLK2Z!f`MkU4Ya$j%O$5MZ@hMei#q zBDDPl2m}J*Uxpcsj7*&QO(qk;V31%ih|Olh=ktjfe<~#iWC-*3_4VQR`?Wm?NhL1@ z9T^HfpN~KwfZOesNi-=biIkMkx4zrAe{bV-I!Q`OQhZ^g5&(2M9S(f%WUxt17{0G~)4i7#kbI zYPB*vJS?g$=I4OVKmR(U+_F;Uj2B*deP#|qQt)SLuCwo870&b&e*UyIDh%Y{fAcw0b6s)H z#L)%}fj$wmVC|i~IP8gBYigstvzOziYFSm3tEj}75Fm|twfMIr7}2KW>g{9{B2; zZVK{p$ewH0<{VJrVA81r-_n0+C9naD;#rTOr#51L4eX1NBf54z0mRaR>kqVhH0+f=W6hO8mL_|gS?;)4&MlXI>V`#im9;oXN z5m(^=_t#-n{u@xuvCfMhIx{bZHX;^XAQ$0T#+F zEzJ)c{3DO7p0sVU_LvYL1uHcr;7W^=E?RBzLLV)`-PiX3e<@h05~kz1bLYNLEKk)} zY5sHPzR+F)N*3vTVQ~V0sTQf!K3(urk@&y~i1fZ1cr|cJ(pCeZ76y~eAM;%xGTSSW z5Vhgfkg{KasM|nu_EZ^xd1*Hz!JpA%scHqYEX75uGsN8w6N zuvY?B3cM2ezp(v{P3X|6cvwEq^p$ZU90uAEe{N7)ycC2IAf202I@KL*f z6p&y>-e3AqvChaFvT app.game.resources.length + if @currentLayer > Object.keys(app.game.resources).length @died = true + @currentMiner = null if @currentMiner + tick: -> @currentMiner.tick @