aboutsummaryrefslogtreecommitdiff
path: root/src/level11.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/level11.moon')
-rw-r--r--src/level11.moon83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/level11.moon b/src/level11.moon
new file mode 100644
index 0000000..ebf33b1
--- /dev/null
+++ b/src/level11.moon
@@ -0,0 +1,83 @@
+layer = require "layers"
+game = require "game"
+state = require "global"
+graph = require "graph"
+import Layer from layer
+ui = require "ui"
+
+mod = ...
+
+mod.setup_level = () ->
+ state.current_level = 10
+ --ret = am.group!
+ state.move_out_done = false
+ state.clear_layers!
+ flayer = Layer("fuel","fuel pipe",50,"data/layer_fuel.png")
+ elayer = Layer("electric","electric wire",10,"data/layer_electric.png")
+ hlayer = Layer("high voltage","high volt cabel",30,"data/layer_hv.png")
+ state.add_layer(flayer)
+ state.add_layer(elayer)
+ state.add_layer(hlayer)
+ --state.money = 500
+ state.money = 800
+ state.ship("position").x = 800
+ state.ship\action(coroutine.create(game.ship_move_in_co))
+ state.ship("sprite").source = "data/level_11.png"
+ t1 = elayer\mark_square(20,6,"ion thruster")
+ t2 = elayer\mark_square(20,9,"ion thruster")
+
+ --flayer\mark_square(8,4,"")
+ t3 = hlayer\mark_square(10,8,"high volt source")
+ hlayer\mark_square(10,9,"high volt cabel")
+ hlayer\mark_square(10,10,"high volt cabel")
+ hlayer\mark_square(9,10,"high volt cabel")
+
+ t4 = flayer\mark_square(13,8,"generator")
+ t5 = elayer\mark_square(13,8,"generator")
+
+ t6 = hlayer\mark_square(8,4,"laser beam")
+ t7 = hlayer\mark_square(8,5,"laser beam")
+ t8 = hlayer\mark_square(8,10,"laser beam")
+ t9 = hlayer\mark_square(8,11,"laser beam")
+
+ p1 = flayer\mark_square(7,7,"liquid fuel tank")
+
+
+ elayer.node.hidden = true
+ hlayer.node.hidden = true
+ state.selected_layer = flayer
+ state.update = () ->
+ ftiles = flayer\flat_tiles!
+ etiles = elayer\flat_tiles!
+ --Mege the etiles into the ftiles layer so we can check
+ --that hv cabels are not next to normal cables
+ htiles = hlayer\flat_tiles!
+ for _,t in pairs etiles
+ table.insert(htiles,t)
+ --table.merge(htiles,etiles)
+ --table.merge(htiles,hlayer\flat_tiles!)
+ print("htiles before path finding:",htiles)
+ paths,paths2 = nil,nil
+ pass,err = pcall(() ->
+ paths = layer.check_paths{
+ {t1,t5,etiles},
+ {t2,t5,etiles},
+ {t4,p1,ftiles},
+ }
+ paths2 = layer.check_hv_paths{
+ {t6,t3,htiles},
+ {t7,t3,htiles},
+ {t8,t3,htiles}
+ {t9,t3,htiles}
+ }
+ print("paths:",paths)
+ print("paths2 is",paths2)
+ return (paths and paths2)
+ )
+ print("pass:",pass,"err:",err)
+ if pass and err
+ state.ship\action(coroutine.create(game.ship_move_out_co))
+
+ ui.reload_ui_layers!
+
+mod