Learning outcome assessed
⢠Write programs using a functional program ming language Purpose of assessment The assignment is to implement a maze game late Submission Penalty UoL standard penalty applie.
Â
Important: Please read all of the instructions carefully before starting the assignment Introduction. In this assignment, you will implement a maze game. Before starting, Windows users should download a3windows.zip from the module webpage, while Mac and Linux users should download a3unix.zip. Both files contain the same data:
⢠Main.hs. This is a template file with stub code for each question, and with some helper code from Lecture 25 that you may use in the assignment.
⢠maze2.txt through maze6.txt are small mazes that you can use for testing, ranging from 2 à 2 through 6 à 6 in size.
⢠maze-big-1.txt through maze-big-4.txt are larger mazes that you can use for testing.
The mazes are represented by ASCII art, and can be seen by opening one of the files For The maze is composed of square tiles, and each tile is either a wall or a corridor. The character represents the wall tiles, while the space character represents the corridor tiles. You can assume that the outer edge of the maze is surrounded by walls, as in the example above. You can also assume that all corridors are exactly one tile wide.
The game will allow the player to explore the maze. The player will be represented by the character, and will be able to move around the maze using the keys "wasd", as described in The player can walk through corridors, but not through walls The assignment. In parts A and B you will implement the maze game, as described above. Unlike Assignments 1 and 2, there are no restrictions on the functions you can use. Use whatever techniques you think appropriate.
Parts A and B combined are worth 60% of the marks for the assignment, which is equivalent to a 2:1 mark. Part C should be attempted by ambitious students who want to push for 100%. The task in part C is to write a program that finds and displays the path from the top-left corner of the maze to the bottom-right corner of the maze.
Marking Marks will be awarded for correct function implementations only. No marks will be gained or lost for coding style. If you have a non-working function that you would like to be looked at by a human marker, then include the following comment above the function.
Please make sure that the comment is exactly as shown above including capitalization. Functions that do not include this comment will be marked by the automated marker only. If you have multiple non- working functions that you would like to be looked at, then please include the comment above each one.Do not include the comment above working functions â no extra feedback will be given for those other than what is produced by the automated marker.
Since your functions will be called from the automated marker, please make sure that you follow these guidelines:
⢠Your code should compile and load into ghci without errors. (Warnings are fine).
⢠You should not alter the type signatures in the template file in any way.
⢠You should leave the stub error-message implementation in the template file if you have not answered a question. If you remove this implementation, and then later decide to comment out your code because it does not compile, then please reinstate the original stub implementation.
There will be a 5% penalty for any submission that does not follow these guidelines. You can use the checker file (see the section at the end of this document) to check whether your submission will get this penalty.If you have some code that does not compile, but you would like the marker to see it, then comment out the code, and explain in another comment what the code is supposed to do. Remember that you will need to reinstate the stub implementation after you comment out your code, or the file will still fail to compile.
Academic Integrity. The work that you submit for this assessment must be your own. The University takes plagiarism very seriously, so you should not collude with another student, copy anyone elseâs work, or plagiarise from other sources.The standard university late penalty will be applied: 5% of the total marks available for the assessment shall be deducted from the assessment mark for each 24 hour period after the submission deadline. Late submissions will no longer be accepted after five calendar days have passed.