code / tomo-lost-signal

Lines522 Tomo498 Markdown11 make10
1 others 3
INI3
(58 lines)
1 #!/bin/env tomo
3 # Lost Signal is a game for a Recurse Center game jam
5 use ./raylib.tm
6 use ./world.tm
7 use ./player.tm
9 DEFAULT_LEVELS := [
10 (./levels/level1.map),
11 (./levels/level2.map),
12 (./levels/level3.map),
13 (./levels/level4.map),
14 (./levels/level5.map),
15 (./levels/level6.map),
17 (./levels/victory.map),
20 func main(levels=DEFAULT_LEVELS)
21 if levels.length == 0
22 exit("No levels provided!")
24 C_code {
25 InitWindow(GetScreenWidth(), GetScreenHeight(), "raylib [core] example - 2d camera");
26 ToggleFullscreen();
29 level_index := 1
30 world := World.from_map(levels[level_index])
32 SetTargetFPS(60)
34 while not WindowShouldClose()
35 dt := GetFrameTime()
36 world.update(dt)
38 if world.won_time and level_index < levels.length
39 if GetTime() > world.won_time! + 3.0
40 level_index += 1
41 world = World.from_map(levels[level_index])
43 if C_code : Bool (IsKeyPressed(KEY_R))
44 world = World.from_map(levels[level_index])
45 else if C_code : Bool (IsKeyPressed(KEY_N)) and level_index < levels.length
46 level_index += 1
47 world = World.from_map(levels[level_index])
48 else if C_code : Bool (IsKeyPressed(KEY_P)) and level_index > 1
49 level_index -= 1
50 world = World.from_map(levels[level_index])
52 BeginDrawing()
53 ClearBackground(Color(0,0,0))
54 world.draw()
55 EndDrawing()
57 CloseWindow()