首页 > 其他分享 >CMP-7000A - Applications Programming

CMP-7000A - Applications Programming

时间:2024-07-19 15:09:01浏览次数:11  
标签:code Programming will Applications game 7000A gamer your must

ModuleCMP-7000A - Applications Programming

Assignment: R002-Game Coding and Testing Presentation

Learning outcomes

•     You will demonstrate competence in using Python programming skills by creating and coding your own personal game application.

•     You will demonstrate your understanding of the need for software testing

using existing techniques, to ensure your coded application is usable and works effectively.

•     You will professionally demonstrate the knowledge you have gained through presentations and demonstrations, based on standard industry requirements for software development applications.

Specification

Overview

Individually, you are required to manually code and test a small command line game using the Python programming language. This game must be coded to

resemble a Multi-user (not multi-player) adventure Dungeon (MUD) game. This

R002 reassessment game must be a different scenario to the one you coded in assignment 002, during the Autumn 2022-2023 semester, and you must not

reuse any code from your original submission.

To evidence the learning objectives, you must produce working Python game code

(entirely coded by yourself with no content from the internet, other sources, a

previous course, or your 002 assignment). You also need to deliver a recorded

maximum 10-minute MP4 (max 720P) video to evidence your game working from both a gamer and code perspective You will need to evidence system unit testing and think aloud user testing, by showing and discussing completed test plans and code.

Description

Individually, you should code a new R002 unique command-line MUD game, using Python coding techniques. You must not use any code found on the internet

(including GitHub, YouTube, ChatGPT, etc.), or any other external sources,

including any previous courses you have taken, or from assignment 002; you

must code this new unique game entirely by yourself for this R002 reassessment.

If you are not sure if your game is fully compliant with MUD game specification

requirements, please email the MO Debbie Taylor on [email protected] check.

The game should resemble a Multi-User adventure Dungeon game (also known as MUD game). This needs to be a multi-user game, not multi-player, so you should    enable a single person play the game and collect information as they move

throughout the game. You should then evidence that several different single gamers have played, by producing a leader board at the end.

There are multiple examples of these types of games available on the internet,

however Figure 1 below shows a basic example of one process a gamer should see within a MUD game:

Figure 1 - Example MUD Game, showing a gamer starting a game

Tasks

The following shows the tasks you need to code for this R002 reassessment, as well as ideas for extra processes:

Input and output:

You will need to code input and output of textual information within your game, via the terminal console – there must not be any graphical user interface created as this is outside the scope of the module.

The input and output information will require you to give options to the gamer to choose from, and then receive input choices from them in return.

Consider consistency of output and input, potential reuse of classes and functions, and what data/questions etc. You need to pass to and from the gamer.

Character creation:

Whenever a new game begins the gamer should be prompted for a series of character creation options. This will require you to manually code a class or function  that allows the gamer to customise the character at the start, with multiple options for the gamer to choose from.

You will need to be able to access these option choices throughout the game. For example, if a gamer chooses a name at the start of the game you must code the game to use this multiple times throughout the game, not just at the start.

Interaction:

Manually code classes and functions that allow the gamer to interact with your uniquely created game world. This could be moving around the game world itself, accessing and receiving information about locations, weapons, items found, health points gained or lost, etc.

For example, if a gamer enters a location, they must be able to receive output information about that location and any potential items available to pick up. They should then be given options on how to pick up the item(s) if they choose to do so.

Saving/loading progress:

Manually code classes or functions that allow you to save and load progress during the game. The progress information must be saved to a text file, CSV or JSON file.

As your game progresses you should store the players location, items collected and general progress. This will enable the gamer to exit the game at any point and reload later at the saved point.

You will also need to save the gamer’s score at the end of the game (win or lose) and output this information to a saved leader board, with the highest score at the top, and lowest at the bottom. The leader board should be available to view on both the console terminal and via a text file, CSV or JSON file.

Testing:

You are expected to perform. and discuss white box system unit testing using Python unittest, along with think aloud user testing.

Ensure both are recorded on a valid test plans. Blank test plans are available in the week 10 Software Testing folder on Blackboard.

These test plans should then be included and discussed during the video demonstration.

Project File Structure

You need to store scripts, resources and tests in separate folders. You should also store your saved text pictures in separate classes or txt. files and use functions to load them, not just save them in the main program. See below example:

Additional areas to consider for your game coding:

Extra marks are available for coding additional functionality specific to your game. A few example ideas given below should prompt you to think about areas to develop, so that you produce a unique piece of work. You will need to justify these decisions  during your video.

Visualisations:

Consider creating textual pictures and then loading the pictures at relevant points within the game world. For example, if the gamer sees a castle appear before them, you could call the picture class or function and output a visual textual picture of the castle to the console terminal.

You also might want to consider different colours for input and output text.

Equipment:

You might want to consider customising what your character is wearing or using at different points within the game. What equipment can be found within the game and where? How can specific equipment collection impact the potential ability to add or deduct health points, etc.?

Inventory:

Do you want to allow users to collect specific items or objects that can increase health or power scores, etc.? You might want to design a system to   store these items so that players can see what items they have collected and   interact with them. You may wish to only deal with unique items; however, you may want to consider how to handle multiples of the same item.

Help option:

What happens if a gamer gets stuck and doesn’t know what to input or what options are available for them to select?

To evidence the above R002 reassessment code and testing processes, you must record a maximum 10-minute MP4 (max 720P) working video. This must show the code working from both a gamer user perspective, the code itself, testing (both unit and user think aloud) as well as the test plans. The working video will need to be uploaded to oneDrive and a link sent to the MO Debbie Taylor

([email protected]). The code and test plans must be uploaded, via a zipped folder, to Blackboard.

If the video exceeds 10 minutes any information discussed after this time will not be   marked. You must not alter the playback speed of the video to remain under the 10-minute limit.

You must not use any code found on the internet (including GitHub, YouTube, ChatGPT, etc.), from a previous course you have taken, or your 002 assignment; you must code this game entirely by yourself specifically for this R002 reassessment, to achieve the learning objectives.

Relationship to formative assessment

The skills needed to complete this assignment relate to the lectures and labs from week 3 onwards. You can also use the feedback provided for assignment 002.

Deliverables

You must upload a .zip file to the R002 submission point on Blackboard, containing  all the source files for your python code and copies of your unit and user think aloud test plans.

The maximum 10-minute single MP4 video (max 720P) file must be uploaded to OneDrive and a link must be emailed to the MO Debbie Taylor

([email protected]).

If the video exceeds 10 minutes any information after this will not be marked. You

must not alter the playback speed of the video to remain under the 10-minute limit.   The zip file must use the following naming format of studentID.zip e.g.10000000.zip.

Please ensure you upload a working video, as you will not be asked to provide another copy if the uploaded version does not play when being marked.

Resources

Lecture slides and lab sessions from week 3 onwards, are highly relevant to this work. You can also use the feedback provided for assignment 002.

You can use any video editing software you choose but the upload must include a single video file for the entire presentation from start to finish, not a recording per

slide. You can show awatermark across the video, but only if this does not stop the markers being able to view your working system and code.

If you have questions, please email the MO Debbie Taylor on [email protected].

 

标签:code,Programming,will,Applications,game,7000A,gamer,your,must
From: https://www.cnblogs.com/qq-99515681/p/18310056

相关文章

  • COMP9021 Principles of Programming
    COMP9021PrinciplesofProgrammingTerm2,2024Assignment2Worth13marksanddueWeek11Monday@10amGeneralMatters1.1AimThepurposeofthisassignmentisto:Developyourproblem-solvingskills.Designandimplementthesolutiontoapr......
  • COMP9021 Principles of Programming Coding Quiz 5
     COMP9021PrinciplesofProgrammingTerm2,2024CodingQuiz5Worth4marksanddueWeek8Thursday@9pmDescriptionYouareprovidedwithastubinwhichyouneedtoinsertyourcodewhereindicatedwithoutdoinganychangestotheexistingcode......
  • The 2022 ICPC Polish Collegiate Programming Contest (AMPPZ 2022)
    Preface今天由于是我们队搬毒瘤场,因此下午就不用集中训练索性继续VPUCup这场题很有外国场的风格,代码量和科技含量都不大,只要动动脑筋就行了,最后也是刚好打到了10题下班A.Aliases不难发现假设\(a=b=0\),则\(c\le\log_{10}n\le7\),因此只要考虑\(a+b+c\le7\)的情况,......
  • Toyota Programming Contest 2024#7(AtCoder Beginner Contest 362)
    ⚪题和板题大赛/jk好像能切的样子,但是太菜了,唐了8罚。A-BuyaPen输出除去某个颜色以外,其他颜色代表的最大值。点击查看代码#include<bits/stdc++.h>usingnamespacestd;inta,b,c;strings;signedmain(){cin>>a>>b>>c;cin>>s;if(s[0]=='R')a=103......
  • 2023 Henan Provincial Collegiate Programming Contest
    和零时加的队友打了一下,计算几何摆了,最优化摆了,adhoc摆了。A.小水獭游河南枚举前缀,是\(O(|\Sigma|)\)的,然后判断一下是不是回文串即可。B.ArtforRest昨天才做过这个套路的加强版。显然只用判断类似\(\max(a,b)<\min(b+1,c)\)的条件。暴力枚举是调和级数的。C.Toxel......
  • Toyota Programming Contest 2024#7(AtCoder Beginner Contest 362)
    这场比赛还是比较水的A,B,C跳过D题dij把点权和边权都转换为边权即可E题DP可以用\(map\)存一下等差数列的差先说\(O(n^4)\),\(f_{len,i,j,t}\)分别表示长度,现在在\(i\),上一个在\(j\)显然动态转移方程就有了\(f_{len,i,j,k}=\sum_{k=1}^{k=j-1}f_{len-1,j,k,t}\)点击查看......
  • 使用Java9 Flow API进行Reactive Programming
    importjava.util.concurrent.Flow;importjava.util.concurrent.Flow.Publisher;importjava.util.concurrent.Flow.Subscriber;publicclassReactiveExample{publicstaticvoidmain(String[]args){//创建一个发布者,发布一系列的数字Publisher......
  • Warnings for C programming
    WarningsforCprogramming"Undetectablenullbugs"fromdeadbytes:Thefollowingcodeshowsanexampleofavariabledeclaredbutnotsettoavalue.Insteadofreturningthefamiliar"null",itreturnswhatwasleftinthememoryu......
  • Denso Create Programming Contest 2024(AtCoder Beginner Contest 361)E-F
    E求一条树上的路径,使得走遍整棵树花费最小。我们容易发现树上的某条简单路径只需走一次,除此之外所有的路径都需要走两次,那么显而易见,我们需要求树的直径,之后将剩余的路径权值和乘二加上直径权值就可以。F数学题,对于数学题而言,个人感觉时间复杂度的计算对于题目的求解非常重......
  • 《Programming from the Ground Up》阅读笔记:p19-p48
    《ProgrammingfromtheGroundUp》学习第2天,p19-p48总结,总计30页。一、技术总结1.objectfilep20,Anobjectfileiscodethatisinthemachine'slanguage,buthasnotbeencompletelyputtogether。之前在很多地方都看到objectfile这个概念,但都没有看到起定义,这次......