From e4c4ec67e975b8668112e09be5bcea9cff8f5f89 Mon Sep 17 00:00:00 2001 From: Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> Date: Thu, 20 Mar 2025 21:31:19 +0000 Subject: Make entity move part of entity class --- main.rhm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'main.rhm') diff --git a/main.rhm b/main.rhm index 3ab966f..f3c5188 100644 --- a/main.rhm +++ b/main.rhm @@ -7,9 +7,11 @@ fun test(test_result :: Boolean, test_str :: String): | println("Passed " +& test_str) | println("Failed " +& test_str) -fun reset_entity(entity :: world.Entity): - entity.x := 0 - entity.y := 0 +fun +| reset_entity(entity :: world.Entity): reset_entity(entity, 0, 0) +| reset_entity(entity :: world.Entity, x :: Int, y :: Int): + entity.x := x + entity.y := y let wrld = world.World() let chunk = world.Chunk(64, 64, 0, 0) @@ -19,19 +21,25 @@ wrld.entities.add(entity) reset_entity(entity) -test(wrld.entity_move(0, 1, 0), "move horizontal") +test(entity.move(1, 0), "move horizontal") reset_entity(entity) -test(wrld.entity_move(0, 0, 1), "move vertical") +test(entity.move(0, 1), "move vertical") reset_entity(entity) -test(wrld.entity_move(0, 1, 1), "move diagonal") +test(entity.move(1, 1), "move diagonal") reset_entity(entity) -test(!wrld.entity_move(0, 2, 0), "move diagonal") +test(!entity.move(2, 0), "move diagonal") reset_entity(entity) -test(!wrld.entity_move(0, 0, 0), "starting pos") +test(!entity.move(0, 0), "starting pos") + +let new_chunk = world.Chunk(64, 64, 1, 0) +chunk.add_neighbour(new_chunk, #'east) +reset_entity(entity, 63, 0) +test(entity.move(64, 0), "cross chunk") +test(entity.current_chunk == new_chunk, "changed chunk") //world.entities println(@str{Entity is @(entity.x) @(entity.y)}) -- cgit v1.2.3