-- . air -- 0 solid -- - placeholder tile -- v spike levels = {[[ ---------------------------- -00000000000000000000000000- -0........................0- -0........................0- -0........................0- -0........................0- -0........................0- -0........................0- -0........................0- -0........................00 -0.........................- -0.........................- -0.........................- -0.......................000 -0.......................00- -00000000000000000000000000- ---------------------------- ]], [[ ---------------------------- -00000000000000000000000000- -00000000000000000000000000- -000000000000000000000000000 -00000000000...............- -0000000000................- -0000000000....0000000000000 -0000000000.....00000000000- -00000000..........00000000- 000000.............00000000- -..........-.00000000000000- -..........0000000000000000- -.......0000000000000000000- 000000000000000000000000000- -00000000000000000000000000- -00000000000000000000000000- ---------------------------- ]], } to_write = "" --remove all "\n" from level strings for i, v in ipairs(levels) do v = string.gsub(v, "\n", "") to_write = to_write.." case "..(i-1)..":\n memcpy(level, \""..v.."\", "..#v..");\n break;\n" end --finish and write to_write = [[#include "levels.h" #include void set_level(int level_id, char *level) { switch (level_id) { ]]..to_write.." }\n}\n" io.write(to_write)