12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | #!/bin/env tomo
# Lost Signal is a game for a Recurse Center game jam
use ./raylib.tm
use ./world.tm
use ./player.tm
DEFAULT_LEVELS := [
(./levels/level1.map),
(./levels/level2.map),
(./levels/level3.map),
(./levels/level4.map),
(./levels/level5.map),
(./levels/level6.map),
(./levels/victory.map),
]
func main(levels=DEFAULT_LEVELS)
if levels.length == 0
exit("No levels provided!")
C_code {
InitWindow(GetScreenWidth(), GetScreenHeight(), "raylib [core] example - 2d camera");
ToggleFullscreen();
}
level_index := 1
world := World.from_map(levels[level_index])
SetTargetFPS(60)
while not WindowShouldClose()
dt := GetFrameTime()
world.update(dt)
if world.won_time and level_index < levels.length
if GetTime() > world.won_time! + 3.0
level_index += 1
world = World.from_map(levels[level_index])
if C_code : Bool (IsKeyPressed(KEY_R))
world = World.from_map(levels[level_index])
else if C_code : Bool (IsKeyPressed(KEY_N)) and level_index < levels.length
level_index += 1
world = World.from_map(levels[level_index])
else if C_code : Bool (IsKeyPressed(KEY_P)) and level_index > 1
level_index -= 1
world = World.from_map(levels[level_index])
BeginDrawing()
ClearBackground(Color(0,0,0))
world.draw()
EndDrawing()
CloseWindow()
|