CSC8501程序讲解、C++编程语言调试、辅导program编程 辅导R语言编程|解析Haskell程序
- 首页 >> Java编程 CSC8501 Coursework 1 – 2020 Maze Generation
Specification (what you need to do): You will build a computer program in
C++ to generate mazes using ASCII characters exemplified in the above diagram.
The rules governing the maze
●An exit from the maze is always on the edge and is denoted by “E”
●The maze has a centre which is considered the starting point denoted by “S”
●The centre space must be at least 3 squares by 3 squares
●The maze walls are constructed from “X”
●There should be routes between the starting point and all exits
The requirements of your programme
●The program should run from the command line
●The program should display the maze, and interact with the user, from the command line
●Create a program that allows a user to generate a maze of varying sizes
○The user should be able to dictate what size the maze should be
●Allow the user to dictate the number of exits that exist (the “E” at the edges of the maze)
○There should only ever be one starting (“S”) point in the middle
●Show on the maze the shortest paths from the middle to all exits
○Use the “o” ASCII character to show all paths to exits from the starting point
●Allow the user to save mazes to file using a filename of their choice
●Allow the user to load previously saved mazes
●Mazes should be stored in text files exactly how they appear on screen
○You should be able to load up your colleagues’ mazes as well as your own
Learning Outcomes (what we expect you to demonstrate in a general way)
●Be capable of designing and creating programs
●Realise inappropriate/appropriate usage of programming languages
●Understand how to manage memory
●To be able to create and use data structures
●To be able to use condition statements, loops and functions
Deliverables (what we want to see submitted):
●C++ source code authored by the student (Visual Studio Project is fine)
●Executable file containing solution (make sure you say where binary is)
●One or more saved mazes
●A link to online source versioning of project (e.g., github/gitlab)
●You may compress these into a single zip file for submission
●Submissions are via NESS (ness.ncl.ac.uk)
Marks Available (50):
●20 Marks for achieving output - Total =
○2 Marks for displaying a maze, irrelevant of correctness; 2 Marks for displaying a maze with correct layout (room in middle); 2 Marks for displaying a maze that is structurally correct (room in middle, start and exit with viable route) ; 4 Marks for displaying route characters(“o”) that originate from starting position; 4 Marks for displaying route characters (“o”) that join the starting position (“S”) with an ending position (“E”); 6 Marks for displaying route characters that successfully show all exit routes out of the maze.
●10 Marks for appropriate file input and output - Total =
○2 Marks for opening a file; 2 Marks for closing a file; 2 Marks for saving a maze; 2 Marks for loading a maze; 2 Marks for displaying a loaded maze
●10 Marks for user interface design - Total =
○2 Marks for prompting user input; 2 Marks for allowing user input; 2 Marks for allowing program to execute again (from the interface); 4 Marks for validating user input
●5 Marks for general solution - Total =
○2 Marks for only showing shortest routes out of the maze; 3 Marks for allowing user to generate as many exits as they wish
●5 Marks for adhering to the rules of programming - Total =
○1 Mark for use of functions; 1 Mark for use of appropriate variable identifiers; 1 Mark for clarity of code (indentation and concise nature); 1 Mark for clean code (no commented out solutions and no couts apart from user interface and outputs of values); 1 Mark for optimisation (quality of solution)
Specification (what you need to do): You will build a computer program in
C++ to generate mazes using ASCII characters exemplified in the above diagram.
The rules governing the maze
●An exit from the maze is always on the edge and is denoted by “E”
●The maze has a centre which is considered the starting point denoted by “S”
●The centre space must be at least 3 squares by 3 squares
●The maze walls are constructed from “X”
●There should be routes between the starting point and all exits
The requirements of your programme
●The program should run from the command line
●The program should display the maze, and interact with the user, from the command line
●Create a program that allows a user to generate a maze of varying sizes
○The user should be able to dictate what size the maze should be
●Allow the user to dictate the number of exits that exist (the “E” at the edges of the maze)
○There should only ever be one starting (“S”) point in the middle
●Show on the maze the shortest paths from the middle to all exits
○Use the “o” ASCII character to show all paths to exits from the starting point
●Allow the user to save mazes to file using a filename of their choice
●Allow the user to load previously saved mazes
●Mazes should be stored in text files exactly how they appear on screen
○You should be able to load up your colleagues’ mazes as well as your own
Learning Outcomes (what we expect you to demonstrate in a general way)
●Be capable of designing and creating programs
●Realise inappropriate/appropriate usage of programming languages
●Understand how to manage memory
●To be able to create and use data structures
●To be able to use condition statements, loops and functions
Deliverables (what we want to see submitted):
●C++ source code authored by the student (Visual Studio Project is fine)
●Executable file containing solution (make sure you say where binary is)
●One or more saved mazes
●A link to online source versioning of project (e.g., github/gitlab)
●You may compress these into a single zip file for submission
●Submissions are via NESS (ness.ncl.ac.uk)
Marks Available (50):
●20 Marks for achieving output - Total =
○2 Marks for displaying a maze, irrelevant of correctness; 2 Marks for displaying a maze with correct layout (room in middle); 2 Marks for displaying a maze that is structurally correct (room in middle, start and exit with viable route) ; 4 Marks for displaying route characters(“o”) that originate from starting position; 4 Marks for displaying route characters (“o”) that join the starting position (“S”) with an ending position (“E”); 6 Marks for displaying route characters that successfully show all exit routes out of the maze.
●10 Marks for appropriate file input and output - Total =
○2 Marks for opening a file; 2 Marks for closing a file; 2 Marks for saving a maze; 2 Marks for loading a maze; 2 Marks for displaying a loaded maze
●10 Marks for user interface design - Total =
○2 Marks for prompting user input; 2 Marks for allowing user input; 2 Marks for allowing program to execute again (from the interface); 4 Marks for validating user input
●5 Marks for general solution - Total =
○2 Marks for only showing shortest routes out of the maze; 3 Marks for allowing user to generate as many exits as they wish
●5 Marks for adhering to the rules of programming - Total =
○1 Mark for use of functions; 1 Mark for use of appropriate variable identifiers; 1 Mark for clarity of code (indentation and concise nature); 1 Mark for clean code (no commented out solutions and no couts apart from user interface and outputs of values); 1 Mark for optimisation (quality of solution)