aboutsummaryrefslogtreecommitdiff
path: root/src/level12.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/level12.moon')
-rw-r--r--src/level12.moon83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/level12.moon b/src/level12.moon
new file mode 100644
index 0000000..a1cf1e5
--- /dev/null
+++ b/src/level12.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 = 1460
+ state.ship("position").x = 800
+ state.ship\action(coroutine.create(game.ship_move_in_co))
+ state.ship("sprite").source = "data/level_12.png"
+ t1 = flayer\mark_square(9,12,"liquid fuel tank")
+
+ t2 = flayer\mark_square(24,6,"generator")
+ t3 = elayer\mark_square(24,6,"generator")
+
+ t4 = flayer\mark_square(26,6,"liquid fuel thruster")
+ t5 = flayer\mark_square(26,8,"liquid fuel thruster")
+ t6 = flayer\mark_square(26,10,"liquid fuel thruster")
+
+ t7 = elayer\mark_square(24,4,"ion thruster")
+ t8 = elayer\mark_square(20,3,"ion thruster")
+ t9 = elayer\mark_square(15,3,"ion thruster")
+ t10 = elayer\mark_square(19,9,"ion thruster")
+ t11 = elayer\mark_square(19,12,"battery")
+
+ t12 = hlayer\mark_square(16,8,"high volt source")
+ t13 = hlayer\mark_square(8,5,"laser beam")
+
+ 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{
+ {t10,t11,etiles},
+ {t7,t3,etiles},
+ {t8,t3,etiles},
+ {t9,t3,etiles},
+ {t2,t1,ftiles},
+ {t4,t1,ftiles},
+ {t5,t1,ftiles},
+ {t6,t1,ftiles},
+ }
+ paths2 = layer.check_hv_paths{
+ {t12,t13,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