Commit graph

57 commits

Author SHA1 Message Date
Corentin Jabot
d3e7ed1f46 Pressing A switches from the player to the AI. 2021-10-05 14:31:21 +02:00
Corentin Jabot
c6d13a046a Add some AI tests 2021-10-05 13:43:08 +02:00
Corentin Jabot
d5379872ce Cleanup AI code 2021-10-05 12:11:29 +02:00
Patricia Aas
88f81cd0ae Move Clyde to the solution folder for day 1 ghost exercise 2021-10-05 09:46:29 +02:00
Ólafur Waage
3a02ae2316 Adding board unit tests. 2021-09-28 14:34:48 +02:00
Ólafur Waage
1c05f500b0 Refactoring ghost's target and update to no longer require *this. They each have their own target function which sets a target variable within Ghost. 2021-09-23 14:57:53 +02:00
Ólafur Waage
a951c19a05 Changes after code review. 2021-09-22 14:15:33 +02:00
Ólafur Waage
260adb54db Fixes for clang-tidy. 2021-09-22 14:06:17 +02:00
Ólafur Waage
db0756ca21 Different AI implementation. Now searches for nearest pellet. No ghost checks yet. 2021-09-20 15:17:07 +02:00
Ólafur Waage
9031609348 Work on the AI project. Not sure if this is good as an exercise. 2021-09-17 16:44:16 +02:00
Ólafur Waage
0712db77bb Initial helper functions for PacMan AI. Not complete. 2021-09-16 16:36:57 +02:00
Ólafur Waage
cd86d91310 Adding unit tests for fruits. Also some minor cleanup. 2021-09-15 14:40:07 +02:00
Ólafur Waage
ed6466a306 Fixing forward decl issue and conversion error. 2021-09-15 13:39:42 +02:00
Corentin Jabot
c495dd9c37 Basic fruits support
Of course, there is no support for levels yet!
2021-09-13 14:48:59 +02:00
Corentin Jabot
bc83fa77c3 Fix conversions warnings 2021-09-10 15:04:43 +02:00
Corentin Jabot
25394c4cdd Right the wrongs 2021-09-10 14:02:09 +02:00
Patricia Aas
0f7ad08ae9 Add missing include 2021-09-10 11:41:00 +02:00
Corentin Jabot
453dd17d7c Use size_t again 2021-09-10 11:04:27 +02:00
Ólafur Waage
613831f1c0 Fixes for ghost movement where they would occationally exit the stage when cornered. Closes #25 2021-09-09 10:56:29 +02:00
Ólafur Waage
60b3cdeb40 Formatting and const fixes. Also check for extra canGo calls. 2021-09-08 14:49:43 +02:00
Ólafur Waage
55fbb53591 Refactoring Game and GameState. Moving game state update logic into that class. Game is now only event loop. 2021-09-07 16:00:19 +02:00
Ólafur Waage
d0bd69aee1 Removing unnecessary forward decl. 2021-09-06 16:27:29 +02:00
Ólafur Waage
00bfd15074 Adding epsilon test for Position. Also adding tests for GridPosition and Position. 2021-09-06 16:24:30 +02:00
Ólafur Waage
fe32b18d0c Isolating SFML to the Canvas class. 2021-09-06 15:38:40 +02:00
Patricia Aas
eaf61585ea Fix Clang-Tidy warnings 2021-08-02 16:43:18 +02:00
Corentin Jabot
76c931656f Remove nodiscard 2021-08-02 15:31:32 +02:00
Patricia Aas
d3cc1d90c7 Fix warnings 2021-08-02 15:28:07 +02:00
Patricia Aas
ab9664d07f Name changes and typos 2021-08-02 14:09:03 +02:00
Corentin Jabot
17ac48f713 Implement ghost movements 2021-07-29 11:16:08 +02:00
Patricia Aas
43ccaae3ef Rename variable 2021-07-28 19:06:35 +02:00
Patricia Aas
99cf57956c Init pos 2021-07-28 17:01:22 +02:00
Patricia Aas
4d53ccce18 Introduce scatterTarget function and inline things that should be in the ghost 2021-07-28 16:39:27 +02:00
Corentin Jabot
f31d238bd4 Rename speedy, remove starting position 2021-07-28 16:20:19 +02:00
Patricia Aas
71cb40ad18 Remove unused parameter 2021-07-28 15:30:53 +02:00
Patricia Aas
5b2b0d8e73 Make files for ghosts 2021-07-28 15:28:36 +02:00
Corentin Jabot
fe04e7d03a Cleanup PacManAnimation a bit 2021-07-19 12:06:27 +02:00
Corentin Jabot
d6a046ff47 Use the correct ghost names 2021-07-16 09:35:32 +02:00
Corentin Jabot
691aac978e Get rid of tuple 2021-07-15 09:14:25 +02:00
Patricia Aas
522362152d Refactor 2021-07-13 14:26:57 +02:00
Corentin Jabot
43cfecc077 Get rid of unused comparison operator 2021-07-09 10:24:24 +02:00
Patricia Aas
ee3c7c61db Simplify 2021-07-08 18:12:03 +02:00
Patricia Aas
890d061a92 Move teleport to Board 2021-07-08 18:00:39 +02:00
Corentin Jabot
370a57f454 Get rid of board class 2021-07-08 17:42:24 +02:00
Patricia Aas
e5e46a0e65 Create GameState 2021-07-08 16:57:18 +02:00
Corentin Jabot
cbd19df739 Implement scaling.
We render pack man at twice the size that we want on screen,
which is the native resolution of the asset file.
The maze is upscaled.
We then project everything onto a view which is applies
the scale factor.

This patches also dectect the appropriate scale on OSX.
This required a bit of objective C (scaling.mm),
but students should not look at this file and there
is a comment in that direction.
Scalling.cpp provides the default implementation
for other platforms.
2021-07-07 21:32:22 +02:00
Patricia Aas
3c638c057e No need to pass Board around 2021-07-07 11:39:09 +02:00
Patricia Aas
705ea717e1 Introduce a scale function and clean up 2021-07-07 11:25:13 +02:00
Patricia Aas
ce7dd70332 Very rough stab at scaling 2021-07-07 11:25:13 +02:00
Patricia Aas
e9fb5dac77 Fix some warnings and clang tidy 2021-07-07 11:24:12 +02:00
Patricia Aas
ab1e68a266 Add missing include 2021-07-06 12:55:58 +02:00