diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2025-08-09 04:45:40 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2025-08-09 04:45:40 +0200 |
| commit | 091e1e639bb09568375c5b77a60b333d2f506c38 (patch) | |
| tree | 6ba275a74ddfd1e3640da2b12bff74fb444b1600 /tests/test.lua | |
| parent | 8fed3ca3744c489e9e1d33fed7cf25a3dca26a21 (diff) | |
| download | bidi-091e1e639bb09568375c5b77a60b333d2f506c38.tar.gz | |
Cleaned up testing files
Diffstat (limited to 'tests/test.lua')
| -rw-r--r-- | tests/test.lua | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/tests/test.lua b/tests/test.lua new file mode 100644 index 0000000..74bf797 --- /dev/null +++ b/tests/test.lua @@ -0,0 +1,148 @@ +math.randomseed(os.time()) + +test_button_square = { x = 400, y = 400 } +test_button_color = color.RED +test_button_speed = 200 + +test_camera_position = { x = 0, y = 0 } +test_camera_speed = 200 + +test_images_asset1 = load_image("tests/icons/icon_1.png") + +open_window(800, 800, "Sample Window") +set_fps(60) + +function test_api() + draw_rect(100, 100, 300, 200, color.YELLOW) + draw_text("Label text", 10, 10, 20, color.VIOLET) + draw_line(400, 10, 500, 100, color.RED) + draw_circle(500, 500, 100, color.BLUE) + draw_ellipse(200, 500, 100, 50, color.BLUE) + draw_triangle(20, 20, 100, 20, 50, 100, color.BLUE) + draw_text(string.format("fps: %d", get_fps()), 10, 30, 20, color.VIOLET) + draw_text(string.format("dt: %.3f", get_dt()), 10, 50, 20, color.VIOLET) +end + +function get_random_color() + local keys = {} + for k in pairs(color) do + table.insert(keys, k) -- Collect all keys + end + local randomKey = keys[math.random(1, #keys)] -- Select a random key + return color[randomKey] -- Return the corresponding color +end + +function test_json() + local file = io.open("tests/test.json", "r") + local content = file:read("*a") + file:close() + + local data = json.decode(content) + + print("name: " .. data.name) + for _, n in pairs(data.numbers) do + print(" - number: " .. n) + end +end + +function test_buttons() + -- Testing button presses. + if button_down(button.PAD_UP) then + draw_text("Pad Up", 10, 10, 20, color.VIOLET) + end + + if button_down(button.PAD_DOWN) then + draw_text("Pad Down", 10, 40, 20, color.VIOLET) + end + + if button_down(button.PAD_LEFT) then + draw_text("Pad Left", 10, 70, 20, color.VIOLET) + end + + if button_down(button.PAD_RIGHT) then + draw_text("Pad Right", 10, 100, 20, color.VIOLET) + end + + if button_down(button.A) then + draw_text("A", 150, 10, 20, color.VIOLET) + end + + if button_down(button.B) then + draw_text("B", 150, 40, 20, color.VIOLET) + end + + if button_down(button.X) then + draw_text("X", 150, 70, 20, color.VIOLET) + end + + if button_down(button.Y) then + draw_text("Y", 150, 100, 20, color.VIOLET) + end + + -- Moving square around. + if button_down(button.PAD_UP) then + test_button_square.y = test_button_square.y - (test_button_speed * get_dt()) + end + + if button_down(button.PAD_DOWN) then + test_button_square.y = test_button_square.y + (test_button_speed * get_dt()) + end + + if button_down(button.PAD_LEFT) then + test_button_square.x = test_button_square.x - (test_button_speed * get_dt()) + end + + if button_down(button.PAD_RIGHT) then + test_button_square.x = test_button_square.x + (test_button_speed * get_dt()) + end + + if button_pressed(button.A) then + test_button_color = get_random_color() + end + + draw_rect(test_button_square.x, test_button_square.y, 50, 50, test_button_color) +end + +function test_camera() + if button_down(button.PAD_UP) then + test_camera_position.y = test_camera_position.y - (test_camera_speed * get_dt()) + end + + if button_down(button.PAD_DOWN) then + test_camera_position.y = test_camera_position.y + (test_camera_speed * get_dt()) + end + + if button_down(button.PAD_LEFT) then + test_camera_position.x = test_camera_position.x - (test_camera_speed * get_dt()) + end + + if button_down(button.PAD_RIGHT) then + test_camera_position.x = test_camera_position.x + (test_camera_speed * get_dt()) + end + + -- Using camera + move_camera(test_camera_position.x, test_camera_position.y) + + draw_rect(100, 100, 300, 200, color.BLUE) + + start_camera() + draw_rect(0, 0, 300, 200, color.YELLOW) + stop_camera() + + draw_text("This text doesn't move!", 10, 10, 20, color.VIOLET) +end + +while window_running() do + start_drawing() + clear_window(color.BLACK) + + -- test_json() + -- test_api() + -- test_buttons() + -- test_camera() + + draw_info() + stop_drawing() +end + +close_window() |
