You should start from the code published in the "assignments" branch of the
workshops repository. We encourage you to make a fresh clone of this branch (in
a separate folder on your computer) rather than trying to integrate it with your
other work.
Play Video
The starting point for assignment three has a couple of problems:
• The whole game freezes whenever the Mole decides to move.
• There seems to be a problem with the pathfinding.
Your job is to:
• fix these problems
• describe your solution to each problem
Once that is done, you are asked to check if your solution works as the game
scales. A solution works as the game scales if the game remains responsive as the
grid size grows and character locations move further apart, no character may have
to wait for another to finish calculating their path before calculating theirs. If
not, you must come up with a new solution that does. Your solution should not
rely on faster path-finding - it must be purely based on safe multi-threading.
Note: Fixing the problem is very easy if you know where to look, thus we have
allocated a significant proportion of the marks to your explanations. Note also
that you will need very clear and correct explanations for full marks.
Marking
• (30 marks) BUGS.md which contains your explanations of what causes the
mole bug (10 marks) and the pathfinding bug (20 marks)
• (10 marks) A fix for the mole bug
• (25 marks) A fix for the pathfinding bug
• (5 marks) SOLUTION_ONE.md which contains a description of your
solution to the mole bug
• (30 marks) SOLUTION_TWO.md which contains a description of
your solution to the pathfinding bug - the solution that will scale.
Submission
You must submit a zipped VSCode project. Your maker will download your zip
file, open it in VSCode and run it from there. Please don't submit unnecessary
temporary files (such as class files) in your zip file.
A VSCode project that contains solutions to the mole bug (15 marks) and the
pathfinding bug (30 marks)