CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley Lam8-Puzzle gameOVERVIEWIn this assignment, you are going to design and develop an interactive 8-puzzle game. It has a squareframedboard consisting of 8 numbered square tiles initially placed in random order. The board has anempty space where an adjacent tile can be slid to. The objective of the game is to re-arrange the tiles insequential order by repeatedly making sliding moves. INITIAL FINAL CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamSCOPE1. At the start of the game, generate a randomized, SOLVABLE 8-puzzle, then have it displayed onthe screen using simple ASCII characters.2. Prompt player the sliding direction (left, right, up or down)3. Display the updated 8-puzzle resulting from the move above, and prompt further direction ifneeded4. Inform user when the puzzle is solved (i.e. the numbered tiles are in sequential order); thenprompt user to continue or end the program.5. Track total number of moves for each game and have it displayed as the puzzle is solved.NOTE: Keep your entire source code in ONE SINGLE file. Use only standard python modules In your design stick ONLY to functions, in other words, no class objects of your own.STARTUP OPTIONSNot applicableSKILLSIn this assignment, you will be trained on the use of the followings: Use input() to prompt user for information Use standard objects (strings, numbers & lists) Control statements to interact with users Variable Scope String formatting (method style) Functions for program structure and decomposition CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamDELIVERABLES1. Design documentation (A1_School_StudentID_Design.doc/pdf)2. Program source code (A1_School_StudentID_Source.py)where School is SSE, SME, HSS, or FE and StudentID is your 9-digit student ID.Zip all files above in a single file (A1_School_StudentID.zip) and submit the zip file by due date to thecorresponding assignment folder under “Assignment (submission)”For instances, a SME student with student ID “119010001”: A1_SME_119010001.zip:o A1_SME_119010001_Design.doc/pdfo A1_SME_119010001_Source.py5% will be deducted if any files are incorrectly named!!!For the design document kindly refer to section “Design Documentation” for details.CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamDESIGN DOCUMENTATIONFor the design document provide write-up for the following sections:1. Program structure and flowa. Describe the main process in turns of the overall program flow, that is, your solution tothe problem presented by this assignment.2. Python objects (global variables)a. Usage of core python objects (purposes)3. Functionsa. Describe usage of all your newly defined functions, including details of parameter(s)4. Outputa. Show samples of output from your programTIPS & HINTS Beware of variable scope as you might keep a few variables as global such as puzzle Refer to python website for program styles and naming convention (PEP 8) Validate all inputs - if incorrect input is detected then display a friendly response and promptthe input again. CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamSAMPLE OUTPUTWelcome to 8-puzzle game, ………Press any key to begin > 1 3 4 2 5 7 8 6Input sliding direction (left, up) > l 1 3 4 2 5 7 8 6Input sliding direction (left, right, up) > u 1 2 3 4 5 7 8 6Input sliding direction (left, right, up, down) > l 1 2 3 4 5 7 8 6Input sliding direction (right, up, down) > u 1 2 3 4 5 6 7 8Congratulations! You solved the puzzle in 4 moves!Do you want to start a new game (Y/N)? Y 8 1 3 4 2 7 6 5Input sliding direction (left, right, up, down) > ... CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamMARKING CRITERIA Coding Styles – layout, comments, white spaces, naming convention, variables, indentation. Documentation Program Correctness – logic, program structure, functions with appropriate parameters User Interaction – how informative and accurate information is exchanged between yourprogram and the player. Readability counts – programs that are well structured and easy-to-follow using functions tobreakdown complex problems into smaller cleaner generalized functions are preferred over afunction embracing a complex logic with nested conditions and sub-functions! In other words, adesign with clean architecture with high readability is the predilection for the course objectivesover efficiency. KISS approach – Keep It Simple and Straightforward. Balance approach – you are not required to come up a very optimized solution. However, take abalance between readability and efficiency with good use of program constructs.CHALLENGE 1 (NOT REQUIRED)DO NOT INCLUDE THIS SOLUTION IN YOUR CURRENT ASSIGNMENT, HAVE IT CODED SEPERATELY ANDPRESENTED TO ME IN PERSON!!!Implement a solution to “programmatically” solve the puzzle. In this case, your program no longerprompts user for anything; instead it will display the initial randomized puzzle and then sequentiallydisplay the updated puzzle for each sliding move your program decided to make, and finally the solvedpuzzle.No additional mark will be credited to your assignment, this is solely for your self-interest purposes.CHALLENGE 2 (NOT REQUIRED)DO NOT INCLUDE THIS SOLUTION IN YOUR CURRENT ASSIGNMENT, HAVE IT CODED SEPERATELY ANDPRESENTED TO ME IN PERSON!!!Another challenge is to determine if a puzzle is invariant, that is, not solvable. In this case, your programmust generate a 8-puzzle for this purpose.No additional mark will be credited to your assignment, this is solely for your self-interest purposes. CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamCHALLENGE 3 (NOT REQUIRED)DO NOT INCLUDE THIS SOLUTION IN YOUR CURRENT ASSIGNMENT, HAVE IT CODED SEPERATELY ANDPRESENTED TO ME IN PERSON!!!Generalize your solution to solve for larger puzzle such as 15-puzzle and 24-puzzle, or even larger ones.No additional mark will be credited to your assignment, this is solely for your self-interest purposes. CSC1002 – Computational LaboratoryCSC1002 – 2019 Term 2 By Kinley LamDUE DATEMarch 10th, 2019, 11:59:59PM本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com 微信:codehelp
网友评论