diff options
Diffstat (limited to 'src/level12.moon')
| -rw-r--r-- | src/level12.moon | 83 |
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 |
