Commit Graph

214 Commits

Author SHA1 Message Date
6812f61dcc add function to search leftwards 2025-01-18 19:55:52 +00:00
c99999c0c9 fix calculated distance for helpGetRightwardsPath (reused same distance calculate as in helpGetUpwardsPath before) 2025-01-18 13:52:21 +00:00
d59b6eab82 code functioln to get rightwards path 2025-01-18 13:29:56 +00:00
00a9f22151 keep track of visited nodes to prevent infinite recursion 2025-01-18 10:09:08 +00:00
f796f2f858 have functiokn to get upwards path semi-working 2025-01-18 00:25:27 +00:00
560ef3f99a add function to get ID of first item found at location in quad tree (returns ~1 instead of NONE if no item is found) 2025-01-17 21:48:18 +00:00
cbddc03a88 progress towards implementing follow slime (slime only tries jumping when platform is reachable now) 2025-01-17 13:18:02 +00:00
20e34ca0d5 add function that returns true if we can jump on platform 2025-01-17 12:29:07 +00:00
c7bd95e5d7 distinguish between standing on wall vs standing on platform (platform can be jumped on but wall cannot) 2025-01-17 11:49:34 +00:00
67a4ad5664 start implementing patches to follow player (basic; shouldn't use path finding like Dijkstra's algorithm) 2025-01-17 11:43:49 +00:00
a05f211428 pass player record as argument for enemy filtering functiokns, so enemy can react to player state (position, etc.) 2025-01-16 08:15:29 +00:00
0c01b224d0 slight refactoring to help with extensibility of adding enemy variants later 2025-01-14 11:50:27 +00:00
90c29ebe24 make enemy's speed slightly slower than player's speed 2025-01-13 12:53:50 +00:00
2c643a1500 change speed that projectile moves at (should be faster than player) 2025-01-13 12:46:10 +00:00
2a940a9392 done with patroll function, successfully making enemy switch directions while patrolling 2025-01-13 12:40:23 +00:00
ee5f3c628d progress towards having enemy patrol area when on wall/platform 2025-01-13 11:28:49 +00:00
690bfe75da make plan for writing how enemy should patrol on wall/platform 2025-01-13 11:02:34 +00:00
50238b8dac done getting physics + environment to work on enemy as well, in addition to player 2025-01-13 09:52:25 +00:00
4484eb0ef0 functorise environment collision patches 2025-01-13 09:42:32 +00:00
7290d9865d have enemy physics working and applied to enemy 2025-01-12 23:58:21 +00:00
ce7520ce81 derive EnemyPhysics module from functor 2025-01-12 23:33:20 +00:00
27fbe1c12e create enemy patch structure 2025-01-12 23:28:03 +00:00
ca6b0b2160 done refactoring player-specific logic, and also enemy-specific logic, from player-enemy.sml (which now just calls different functions from the player.sml and enemy.sml modules, to help player-enemy.sml maintain a high level overview) 2025-01-12 22:14:36 +00:00
3dddd096f7 a bit of additional refactoring 2025-01-12 22:10:58 +00:00
8052ad53f7 a bit of refactoring and clearer naming 2025-01-12 21:59:33 +00:00
442c489af7 remove unused 'enemyTree' value returned from player-enemy.sml function 2025-01-12 19:31:29 +00:00
8906d244eb extract player patch types and functions to its own module 2025-01-12 19:25:05 +00:00
e280274ed0 add xAxis and yAxis fields to enemy type 2025-01-12 13:07:32 +00:00
c4989711df refactor constants out of enemy.sml 2025-01-12 12:53:41 +00:00
9280a12911 functorise physics for player 2025-01-12 12:36:26 +00:00
ec44dd9966 refactor constants out from player.sml 2025-01-12 11:46:32 +00:00
a7c2e2ef01 progress moving constant values into own module 2025-01-12 07:18:44 +00:00
49282887e3 remove enemyTree (quad tree holding enemies) from game type as this is not static geometry and, since enemies are moving every frame, this should also be regenerated on every frame 2025-01-11 22:06:08 +00:00
8498eacde2 a little bit of refactoring 2025-01-11 21:58:34 +00:00
75e28b892e done getting player's projectiles to collide with enemies successfully, and tested (although the code of the enemy reacting to the player is not the best) 2025-01-11 21:35:55 +00:00
0367b3a23c progress detecting collision between enemy and player's projectile, and decrementing enemy's health once detected 2025-01-11 13:45:29 +00:00
df0926195d decide on a different structure/module for each collision 2025-01-10 10:12:59 +00:00
f9f56e3b38 make sure projectiles are shot from the same x/y coordinates they are spinning at from the player 2025-01-09 15:00:56 +00:00
06bc691c7f done drawing player projectiles 2025-01-09 12:11:41 +00:00
2433797caf progress drawing projectiles 2025-01-09 11:52:39 +00:00
011fadb9f1 move projectiles in every frame 2025-01-09 11:08:15 +00:00
941d90b6be ensure that we do not draw field over player when player is throwing 2025-01-09 10:38:34 +00:00
a2dc00704c add 'facing' field to player projectiles, so it is known which direction projectile should travel in 2025-01-08 20:26:53 +00:00
bd946bf635 require attack button to be pressed twice in order to trigger throwing of defeated enemies 2025-01-08 13:18:35 +00:00
f7ee3e9e29 when attack is pressed and more than one enemy has been defeated, place defeated enemies into projectiles vector, and make the vector of defeated enemies an empty vector 2025-01-08 12:49:29 +00:00
29de4ea4b6 progress shooting off enemies as projectiles 2025-01-07 13:31:17 +00:00
c080398dd5 multiply defeatedSize by ratio to ensure that pellets change size along with other objects when window is resized 2025-01-07 13:03:17 +00:00
f54fa1bf02 move projectile type into player type 2025-01-07 12:57:15 +00:00
8d81a4f354 remove player projectile tree from game type 2025-01-07 11:23:22 +00:00
60c93f54cc add player projectiles to game type 2025-01-07 11:05:53 +00:00