From a2dc00704ca741736885401cb0867fd0a9af0516 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Wed, 8 Jan 2025 20:26:53 +0000 Subject: [PATCH] add 'facing' field to player projectiles, so it is known which direction projectile should travel in --- fcore/game-type.sml | 4 ++-- fcore/player.sml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fcore/game-type.sml b/fcore/game-type.sml index 59488e4..190aac8 100644 --- a/fcore/game-type.sml +++ b/fcore/game-type.sml @@ -27,7 +27,7 @@ sig type defeated_enemies = {angle: int} - type player_projectile = {x: int, y: int} + type player_projectile = {x: int, y: int, facing: facing} type player = { yAxis: player_y_axis @@ -106,7 +106,7 @@ struct type defeated_enemies = {angle: int} - type player_projectile = {x: int, y: int} + type player_projectile = {x: int, y: int, facing: facing} type player = { yAxis: player_y_axis diff --git a/fcore/player.sml b/fcore/player.sml index f37958a..db01ba9 100644 --- a/fcore/player.sml +++ b/fcore/player.sml @@ -523,7 +523,7 @@ struct fun degreesToRadians degrees = Real32.fromInt degrees * defeatedPi fun defeatedEnemiesToProjectiles - (pos, defeteadEnemies, player as {x, y, ...}, acc) = + (pos, defeteadEnemies, player as {x, y, facing, ...}, acc) = if pos = Vector.length defeteadEnemies then Vector.fromList acc else @@ -541,7 +541,7 @@ struct val x = Real32.toInt IEEEReal.TO_NEAREST x val y = Real32.toInt IEEEReal.TO_NEAREST y - val acc = {x = x, y = y} :: acc + val acc = {x = x, y = y, facing = facing} :: acc in defeatedEnemiesToProjectiles (pos + 1, defeteadEnemies, player, acc) end