Commit Graph

74 Commits

Author SHA1 Message Date
982e4ea5ad More sounds! Closes #4 2020-01-07 14:11:46 +04:00
c7f352ea0c Add central Sound class
Stop sounds when last pellet is eaten.
2020-01-06 17:02:55 +04:00
02a4c7d5ed Refactor 2020-01-05 23:48:39 +04:00
13d1948d48 Let ghosts already returning continue when another ghost is caught
Only catch one ghost per frame
Fix new game shortcut
2020-01-05 23:28:23 +04:00
2bc78baa74 Simplify rendering logic, no longer calculating offset in many places 2020-01-05 14:47:23 +04:00
b770c2e40d Don't reverse ghosts immediately, wait until they've reached the next tile
Also fix index out of bounds in retrieving next scatterChaseTimer value,
and retrieving an offset-by-1 value (due to increasing
scatterChaseTransition after retrieving the next timer value).

Closes #9
2020-01-05 14:08:34 +04:00
fb3e26da35 Fix lives being removed on new round 2020-01-05 12:47:39 +04:00
31a2657c13 Implement round progression mechanics and Elroy speeds
Closes #3
Closes #6
2020-01-05 12:44:52 +04:00
37944fccd9 Cleaner update routine by extracting logic into new methods 2020-01-05 10:42:45 +04:00
ab94395eac A little more refactoring
Declare methods before calling for easier following
2020-01-05 10:31:24 +04:00
389533d394 Significant amount of refactoring:
- Removed several mode timer variables and implemented a GameMode enum w/
associated timer.
- Removed individual chase/scatter timer, replace with single timer
- Hopefully made level/round initializing methods more coherent
2020-01-05 02:35:54 +04:00
ecaf86a57a Cache assets 2020-01-02 20:51:50 +04:00
d21a4b8c1d Add round clear flashing, closes #5 2020-01-02 02:30:39 +04:00
6bfe740416 Allow WASD 2019-12-29 12:25:13 +04:00
bf0d5e041b Functional menu 2019-12-29 12:24:51 +04:00
30962673d5 Version 0.1.0 2019-12-29 00:33:16 +04:00
0501917756 Set speed based on current state before each update. Fixes #2
Ghosts now slow down in side tunnels
All speeds now ratios of PlayState.FULL_SPEED
2019-12-29 00:27:13 +04:00
20719621e2 Removed unused imports 2019-12-28 23:37:28 +04:00
9b06b294f4 Removed ghost == null checks that are no longer necessary 2019-12-28 23:35:29 +04:00
3fe14e6e5d Implement ghost house exiting logic (wtf, pacman designers?)
- Fixed bug in Clyde's chase behaviour (was using Inky's instead of
his own position)
- Create a subclass of Ghost for each ghost's unique house leaving logic
- Now spawn ghosts only once
2019-12-28 23:26:58 +04:00
dd9bdac33d Add chase/scatter alternation 2019-12-28 16:51:09 +04:00
0d42aac28d Fixed ghost in-house behaviour
Speed up ghost cape animation
2019-12-28 14:04:20 +04:00
906ef93a11 Initialize all state vars in intializeField before new game
Fixed ghosts remaining frightened at the start of a new round
Fixed ghosts staying slow after being frightened
Reduce wait time after death to 2 seconds
2019-12-28 13:32:23 +04:00
c32451a597 Add debug rendering of an entity's current tile 2019-12-28 12:55:58 +04:00
f6fbad0e6d Shorter turning code using vector math 2019-12-28 12:50:41 +04:00
8a0298b2db Shorter movement code making use of vector math 2019-12-28 12:21:28 +04:00
ac347dc6d8 Give + render points for capturing ghost
Slow frightened ghosts down
2019-12-28 01:19:36 +04:00
d33435bf42 Minor change
Always return when the gameOverTimer or newGameTmer is > 0
Move variables
2019-12-28 00:53:38 +04:00
a8e4d2526e Fix (again) and simplify ghost capture logic
Spawn ghosts inside their house
Start a new game by pressing 'n'
2019-12-28 00:47:18 +04:00
e38c7a2dea Implement PInky, Inky, and Clyde's chase behaviours 2019-12-27 17:58:12 +04:00
933f696fe8 Add fix for ghosts getting stuck, Fixes #1 2019-12-27 16:57:04 +04:00
8f13d9295c Remove redundant checks 2019-12-27 16:11:46 +04:00
5eef40f767 Do the flashy thing 2019-12-27 15:45:34 +04:00
cd2b968631 Ghosts can get inside their house now
Add Path object for defining  apath an entity should take at a given speed.

Fix some issues with ghost capturing logic
2019-12-27 14:35:47 +04:00
2a65084363 Rudimentary ghost capturing 2019-12-27 00:51:41 +04:00
0bd4d7f042 Implement BinkyScatterBehaviour 2019-12-26 16:26:37 +04:00
afad1017a5 Implement FrightBehaviour
This took way too long.
2019-12-26 16:13:29 +04:00
75d0c41bb5 Ghosts can chase!
Refactor position to be a Vector2 for convenience sake.
2019-12-26 03:38:14 +04:00
d10148ace1 Refactor N/E/S/W to U/D/L/R 2019-12-26 01:54:58 +04:00
0177090ea3 Paccy should start off to the left 2019-12-26 01:52:34 +04:00
1153205ddd There's a ghost! And death. And a game over sequence. 2019-12-26 01:50:26 +04:00
6073c6c84a Ready! 2019-12-25 20:27:20 +04:00
e2f601c8be Refactor MovableEntity.Direction outside of MovableEntity 2019-12-25 19:35:41 +04:00
f43840979b Now the tunnel works
Also don't allow setting next direction to the current direction.
2019-12-25 19:22:56 +04:00
f5ba40255a Pacman null check since he might arrive at a null tile 2019-12-25 19:12:26 +04:00
347f8f5dba Bounds check on getTile 2019-12-25 19:11:33 +04:00
7bece08683 Implement pause 2019-12-25 17:50:52 +04:00
437ae39a9e Remove ghost's eyes, move eye sprites to ghosts sprites 2019-12-25 16:55:28 +04:00
1a74c9aae3 Load in the rest of the sound assets. 2019-12-25 16:26:25 +04:00
fbd7715b5a Reset on win, play the alternate music. 2019-12-25 01:56:05 +04:00