Skip to content

Commit 3130315

Browse files
Use fallSpeed for falling instead of moveSpeed (#19)
* Fix silver egg falling * Remove rubbish * Oh lord
1 parent 90da975 commit 3130315

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

.DS_Store

-6 KB
Binary file not shown.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
.DS_Store
12
.vscode/
23
yarn-error.log
34
/bower_components/
45
/node_modules/
56
/.pulp-cache/
67
/output/
8+
/output?/
79
/generated-docs/
810
/.psc-package/
911
/.psc*

src/logic/Movement.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ incrementPlayerDirection timePassed player = player { coords = newCoords }
7575
where
7676
moveAmount = calcMoveAmount player.playerType.moveSpeed timePassed
7777

78-
newCoords = player.coords <> (createMoveCoord moveAmount newDirection)
78+
fallAmount = calcMoveAmount player.playerType.fallSpeed timePassed
7979

80-
newDirection =
80+
newCoords =
8181
if player.falling then
82-
createCoord 0 1
82+
player.coords <> (createMoveCoord fallAmount (createCoord 0 1))
8383
else
84-
player.direction
84+
player.coords <> (createMoveCoord moveAmount player.direction)
8585

8686
correctPlayerOverflow :: Player -> Player
8787
correctPlayerOverflow player =

test/logic/MovementSpec.purs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,24 @@ tests =
171171
let
172172
{ coords: Coord newCoords } = incrementPlayerDirection 100 player
173173
newCoords.offsetY `shouldEqual` (expectedMoveAmount)
174+
it "Egg with no move speed still falls downwards" do
175+
let
176+
player =
177+
defaultPlayer
178+
{ direction = createCoord 1 0
179+
, coords = createCoord 2 2
180+
, falling = true
181+
, playerType =
182+
defaultPlayer.playerType
183+
{ moveSpeed = 0
184+
, fallSpeed = 20
185+
}
186+
}
187+
let
188+
expectedMoveAmount = calcMoveAmount player.playerType.fallSpeed 100
189+
let
190+
{ coords: Coord newCoords } = incrementPlayerDirection 100 player
191+
newCoords.offsetY `shouldEqual` (expectedMoveAmount)
174192
describe "correctTileOverflow" do
175193
it "Overflow remains the same when within boundary" do
176194
let

0 commit comments

Comments
 (0)