联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codehelp

您当前位置:首页 >> 数据库数据库

日期:2020-03-16 09:22

C-Programming Assignment –
Graphics Game
Introduction to Programming
You are asked to write code to design and develop an engaging graphics game running
in real-time for a space exploration company. The game Program must be written and
produced entirely in the C Programming language and contributes 50% of the credit for
the module. You must also produce a written Report that documents your work,
contributing the other 50% of module credit. This document provides the background
and requirements for the Program and the Report – note that these have different
submission deadlines.
https://regmedia.co.uk/2014/08/11/3d_graphics.jpg?x=198&y=131&crop=1
http://cdanews.com/wp-content/uploads/2016/03
/Google-Play-to-Allow-Gamers-to-Livestream-Games.jpg
2019/20
Arnold Chau
University of York
5
rd Jan 2020
ELE00029C
C- PROGRAMMING ASSIGNMENT –
GRAPHICS GAME
SCENARIO
A commercial space exploration company has
commissioned you to write a graphical game
to engage potential customers with an
imaginative scenario of an Earth to Mars
rocket launch. The game involves the player
launching a rocket across a graphical space, at
a selected force and angle, while
incorporating into the rocket’s path physical
factors, specifically the influence of the moon
in altering the rocket’s trajectory due to its
gravitational attraction.
The game you design will eventually be ported over to a number of different platforms, and
additional features may be added to it (such as advertising on the company’s mobile app).
Therefore, as well as creating the game and making it playable, your task is to produce a
written Report that will make the hand-over of your work to a new team of software
engineers as effective as possible.
Your assignment has two parts, to be submitted on separate dates (see Cover Sheet for
details): a coded Program and a written Report, as described below.
THE PROGRAM
A Program written in C implementing a playable, graphical game that has the player launch
a rocket, with a selectable initial velocity and angle, from a source (“Earth”) at one end of
the screen towards a destination (“Mars”) at the other end. As it traverses the screen, the
rocket’s trajectory may fall under the influence of the gravitational force of the moon,
placed for each trial at a different game-assigned position between source and destination.
The moon’s gravitational pull may therefore deviate the rocket’s trajectory from proceeding
in a straight line, as governed by a radius of influence that is increasingly stronger as the
rocket gets closer to it, i.e. the force is inversely proportional to the distance between the
rocket and the moon. There will need to be a scoring system, which would be inversely
proportional to total distance travelled before landing on Mars. The diagram shown above
is provided as guidance, but you are free to make different design choices (e.g. different
moon sizes) while still maintaining the central scenario.
ELE00029C
In addition to the basic game described above, you will need to apply at least one extended
feature, such as introducing sound effects associated with game events, creating a musical
soundtrack as the game plays, adding animation or applying additional game mechanics. An
alternative option for an extended feature is to port over some of the Python code that you
had previously created into C code for the ‘Start/Game Over Menu task’; if you had not
completed it, you may instead choose to write new code in both Python and C, or apply a
different extended feature. You should describe whichever extended feature(s) you
implement in the written Report (see below) and include the source code and output to
demonstrate that it is working in Appendix B.
Important Note - It is your responsibility to prepare, document and retain any information
relating to the Program (such as technical specs, source code, test results, etc.) that may
be needed for writing the Report at a later stage, particularly as you may no longer have
access to your Program prior to Report submission.
THE REPORT
A 10-page written Report and an Appendix of the source code. As explained below, a
second Appendix may optionally be included. The Report (except for the abstract, see
below) should be written as though directed at professional software engineers who have a
similar level of knowledge to your own. You may add an additional title page, which along
with Appendices, will not count as one of the 10 pages.
REPORT STRUCTURE
The Report must contain the following main numbered sections with the specific content
described below.
1-Abstract – a short, top-level summary of the contents of the Report (max 300 words);
unlike the rest of the Report this should be written at a level that a general audience will be
able to understand (e.g. your space exploration executive client).
2-Problem Descriptions and Analysis – describes the problem, including a description of the
game, the general approach to creating it, the physical laws and models applied, and any
limitations or special conditions in the design and implementation.
3-Technical Specification – describes Program design, algorithms and methods used,
including libraries, user inputs and outputs, and prescribed features as well as the extended
feature(s) you have added to the game. You should also include a plan for testing your
code, including user testing, and the criteria for evaluating successful completion (e.g.
positive user feedback, customer satisfaction).
ELE00029C
4-Evaluation of Implementation– review and analysis of Program design, code,
performance and overall quality, any limitations, unsolved problems (e.g. bugs), conclusions
on your evaluation criteria, and suggestions for improvements or further work.
APPENDIX A – contains the C source code of the Program, including comments, header
files, assets (e.g. images), and any special conditions or notations. Please do not include
your name however, as the submission is anonymous.
APPENDIX B (optional) – contains the Python source code, the C source code for the
‘Start/Game Over Menu task,’ and the output for the C Program, as described above - if this
option is chosen as an extended feature. If the option is not chosen you do not need to have
a second appendix.
HAND-IN
Your individual work components, the Program and the Report, should be submitted
separately by the corresponding submission deadlines, as stated on the cover page. Work
should be anonymised (using your exam number instead of your name when referring to
yourself). The Program should be uploaded to the module's VLE submission point as a
SINGLE ZIP file (maximum size 30MB), while the Report should be submitted as a single
document, with the following contents:
? The Program submission should contain: The Code:Blocks project folder, including
source files (.c), header files (.h), the Code:Blocks project file (.cbp) and any
resources needed to run the project on Departmental computers.
? The Report submission should contain: A single written document (.doc, .docx or
.pdf).
YOUR SOFTWARE
Your code should be well-commented, and well-structured, making good use of variables,
functions, arrays, pointers and structures, according to the scenario, analysis, criteria and
specifications as set out in the Report.
ELE00029C
MARKING SCHEME
You will be marked by a panel according to the following scheme:
C programming quality (50%)
o Use of C Language:
? required features included
? correct use in Program
? use of libraries
o Clarity of Code:
? comments
? formatting
? structure
? variable naming
o Use of at least one extended feature, e.g.…
? The Start/Game Over Menu task from the Python “2048” game
assignment ported to C, demonstrated in the Report as working (see
description for Appendix B)
? Additional sound and/or music effects
? Additional design and/or graphics effects
? Additional game mechanics
Report quality (50%)
o Completeness – contains required sections with appropriate and accurate
content
o Readability – well-written, nicely formatted and easy to understand by the
intended audience
Fitness for purpose – professional quality, well-documented for further extension or handover
of project
The Program and Report components for this assignment together contribute 100% to the
assessment credit for the module Introduction to Programming.
ACADEMIC INTEGRITY
This assignment must be your own
individual work, and all writing must
be your own unless you explicitly
reference other people’s code and
work.

版权所有:留学生编程辅导网 2021,All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。