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