题意:

完善“Stickman”项目,根据课堂反馈和导师反馈的具体观点来纠正现有的功能,并使用新功能扩展应用程序。

解析:

功能实现: 1.加载不同的级别: - 级别必须从json配置文件中加载,该文件给出了加载和定位不同资产的指令。 - 关卡信息必须包括平台,敌人,终点线位置和第一阶段的云和英雄。 - 需要在报告中对不同层次的输出格式的设计进行合理化和详细说明。 - 不需要在游戏执行过程中进行关卡转换,游戏在启动时加载一个给定的关卡文件,并在关卡完成时结束。 2.英雄必须能够站在平台对象上,并且不能与任何对象相交。 3.关卡将包含伤害英雄的敌方特工 - 如果英雄从它们上面跳过去触碰它们,敌人将会消失。 - 如果英雄以任何其他方式触碰它们,英雄将失去一条命,并重新回到最初配置的位置。 4.英雄能够越过终点线,此时关卡(游戏的这个阶段)将完成 5.游戏必须记录从游戏开始到英雄到达终点线的当前时间 附加功能(要获得满分需要实现一个附加功能): 1.不同的敌人运动个性。 2.不同平台上的不同物理特性(如使英雄滑块)

测试测试: 为代码编写jUnit4测试。这些测试必须涵盖每个类的功能,并且必须使用gradle test(包含在gradle构建中)运行

涉及知识点:

软件设计,设计模式,单元测试

更多可加微信讨论

微信号:tiamo-0620

pdf

Software Design Stage 2 - SOFT2201

Problem Description

Using the feedback from your first submission, you will need to implement a new set of features, refactor your
application, and improve your application’s design through the use of design patterns.
Implementation Details
You will continue to work on your ‘Stickman’ project, both to correct the existing features based on general
class feedback and specific points from your tutor’s feedback, and to extend the application with new
features. You will now be required to improve and extend the view package to render the hero and other
domain objects. Feel free to discuss your feedback with your tutor.
Features to implement:
Loading different levels
Levels must be loaded from a json configuration file which gives instructions for a different
assets to be loaded and positioned
Level information must include platforms (that do not move), enemies (that might), a finish line
position, as well as the clouds and hero of the first stage
You will need to rationalise and elaborate on the design of your input format for different levels in
your report
Note: you do not need to have level transitions during execution of the game - the game loads a
single given level file on startup and ends when that level is complete
The hero must be able to stand on platform objects and must not be able to intersect with any object
Levels will contain enemy agents which will harm the hero
if the hero touches them by jumping on top of them, the enemy will disappear
If the hero touches them in any other way, the hero will lose a life and start back at the
originally configured location
The hero is able to cross a finish line, at which time the level (and at this stage the game) will finish
The game must record the current time elapsed since the start of the game until thehero has reached
the finish line
To achieve full marks, you will need to implement an additional feature. You can implement a suggested
feature or you can implement your own, however, please discuss with your tutor about your own feature idea.
Additional Feature ideas:
Different enemy movement personalities
Different physics on different platforms (eg Ice blocks that make thehero slide)
In Stage 2 you are responsible for the design of the entire application code - now including the view package.
You are allowed to use as much or as little of the existing code as you choose, however you should note that
the provided code was not given to you as an example of good design.
You may source images however you wish or draw them yourself (ensure you acknowledge any sources in
your readme file)
Design Patterns
In order to gain marks for your design and report you must use the design patterns you have been taught so
far wherever you notice a need for them. Please note using the design patterns incorrectly or in places where
they do not provide a benefit will not lead to marks.
Tests
You are required to write jUnit4 tests for your code. These tests must cover the functionality of each of your
classes and must be runnable using gradle test (included in gradle build )
Report
Your report for this stage must be a maximum of 1000 words, and concisely cover the following:
A brief description of your changes within stage 1 to fix any outstanding issues
A discussion of how your design for stage 1 helped or hindered your extensions made in this stage
Your level configuration design discussion
A report on each design pattern you have used covering
Which design pattern you chose
Where you used it (be explicit as to what classes are involved and in what roles)
What this pattern does for your code in terms of SOLID/GRASP/etc
What overall benefits this provides (be specific to your code, not the pattern in general)
What drawbacks this causes (be specific to your code, not the pattern in general)
A UML class diagram showing your submitted code’s design
Submission Details
You are required submit code and tests first, and then later the report - see the due dates in Canvas. You are
encouraged to submit multiple times, but only your last submission will be marked.
You should include a readme file covering any quirks to running your application, a description of your level
configuration file, and any acknowledgements required.
Marking Criteria (15%)
7 Marks for the implementation of the application using the Java programming language. You will be
assessed on the implementation of the requirements and 1 additional feature.
Ensure your application can compile and run on the university’s lab machines.
Ensure your application implements the logic described in implementation details
Ensure your application is able to load a configuration file and change the game’s settings.
Ensure your application does repeat large sections of logic, try to minimise repetition.
Ensure your application code exhibits good OO principles
1 Mark for the implementation of your additional feature and that you ensure it works correctly.
6 Marks for the final report, providing instances of design pattern usage, updated UML class diagram
and addressing issues outlined from tutor feedback.
Document design patterns and the rationale for their usage.
UML Class Diagram should describe the full system including updated code and design patterns.
Reflection of your application design, highlighting any outstanding issues and improvements that
can be made.
2 Marks for test cases of core features, ensure that the logic of your application is correct and handles
test cases. Aim for code coverage, common and corner cases.
Ensure your test cases cover over 90% of execution paths.
Ensure your test cases cover common cases.
Ensure your test cases cover edge cases.
Warning: Any attempts to deceive or disrupt the marking system will result in an immediate zero for the entire
assignment. Negative marks can be assigned if you do not properly follow the assignment specification, or
your code is unnecessarily or deliberately obfuscated.
Academic Declaration
By submitting this assignment you declare the following:
I declare that I have read and understood the University of Sydney Student Plagiarism: Coursework Policy and
Procedure, and except where specifically acknowledged, the work contained in this assignment/project is my
own work, and has not been copied from other sources or been previously submitted for award or
assessment.
I understand that failure to comply with the Student Plagiarism: Coursework Policy and Procedure can lead to
severe penalties as outlined under Chapter 8 of the University of Sydney By-Law 1999 (as amended). These
penalties may be imposed in cases where any significant portion of my submitted work has been copied
without proper acknowledgement from other sources, including published works, the Internet, existing
programs, the work of other students, or work previously submitted for other awards or assessments.
I realise that I may be asked to identify those portions of the work contributed by me and required to
demonstrate my knowledge of the relevant material by answering oral questions or by undertaking
supplementary work, either written or in the laboratory, in order to arrive at the final assessment mark.
I acknowledge that the School of Computer Science, in assessing this assignment, may reproduce it entirely,
may provide a copy to another member of faculty, and/or communicate a copy of this assignment to a
plagiarism checking service or in-house computer program, and that a copy of the assignment may be
maintained by the service or the School of Computer Science for the purpose of future plagiarism checking.

悉尼大学SOFT2201课业解析相关推荐

  1. 新南威尔士大学COMP1531Iteration1课业解析

    新南威尔士大学COMP1531Iteration1课业解析 题意: 通过测试.开发和维护python后端服务器写几个开发文档 解析: 1.在协议接口中为所有的功能创建测试 2.写一个pdf,记录你当前 ...

  2. 墨尔本大学COMP10001课业解析

    墨尔本大学COMP10001课业解析 题意: 编程实现电子投票自动计数功能,对不同的投票方案有良好的支持性 解析: 背景: 大会选举,每位选民只能支持自己最喜欢的候选人,一人一票,获得最多选票的候选人 ...

  3. 悉尼大学陶大程:遗传对抗生成网络有效解决GAN两大痛点

    来源:新智元 本文共7372字,建议阅读10分钟. 本文为你整理了9月20日的AI WORLD 2018 世界人工智能峰会上陶大程教授的演讲内容. [ 导读 ]悉尼大学教授.澳大利亚科学院院士.优必选 ...

  4. 悉尼大学计算机研究生学制,悉尼大学研究生学制

    澳大利亚悉尼大学具有丰富的研究生专业课程,学制安排一般在1-2年时间. 悉尼大学硕士申请要求 要求非211大学申请者,暂不需清华认证 (毕业证.学位证.成绩单) 入学要求: 工程类专业(Enginee ...

  5. 视觉+Transformer最新论文出炉,华为联合北大、悉尼大学发表

    作者 | CV君 来源 | 我爱计算机视觉 Transformer 技术最开始起源于自然语言处理领域,但今年5月份Facebook 的一篇文章将其应用于计算机视觉中的目标检测(DETR算法,目前已有7 ...

  6. 澳大利亚悉尼大学徐畅教授招收深度学习方向全奖博士生

    来源:AI求职 悉尼大学 悉尼大学(The University of Sydney),坐落于澳大利亚新南威尔士州首府悉尼,是研究型大学.悉尼大学注重理论与实践相结合,教育.法学.医学.会计与金融 . ...

  7. 悉尼大学计算机工程专业世界排名,2019QS澳洲计算机专业排名,7所大学进入世界百强!...

    原标题:2019QS澳洲计算机专业排名,7所大学进入世界百强! 说起计算机专业,很多学生会联想到好就业薪水丰厚,不仅是国内,在全球来看,计算机专业人才都非常受欢迎,所以这几年出国留学就读计算机专业学生 ...

  8. 博后招募 | 澳大利亚悉尼大学徐畅老师招收深度学习方向博士后/全奖博士

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 悉尼大学 悉尼大学(The University of Sydney),坐 ...

  9. python字符串去头尾_悉尼大学某蒟蒻的Python学习笔记

    About me 本蒟蒻是悉尼大学计算机科学大一的学生,这篇博客记录了学习INFO1110这门课的一些心得,希望能对大家有帮助. To start with 因为计算机只能识别机器语言,所以我们需要编 ...

  10. 华为联合北大、悉尼大学对 Visual Transformer 的最新综述

    Transformer 技术最开始起源于自然语言处理领域,但今年5月份Facebook 的一篇文章将其应用于计算机视觉中的目标检测(DETR算法,目前已有78次引用)使其大放异彩,并迅速得到CV研究社 ...

最新文章

  1. python基础代码事例-零基础学习Python开发练习100题实例(2)
  2. 想和产品大咖一对一沟通吗?
  3. 算法练习day17——190405
  4. python upper_Python 3中的模块级string.upper函数在哪里?
  5. js获取数组前n项的和
  6. Vue的过滤器,生命周期的钩子函数和使用Vue-router
  7. 女人要的安全感到的是什么?
  8. kaggle房价预测特征意思_Kaggle初探--房价预测案例之数据分析
  9. houghlinesp找到多条直线_拿什么拯救焦虑的你,一个有勇气的人终将找到他的路...
  10. python网络编程第三版网盘_Python网络编程(socketserver、TFTP云盘、HTTPServer服务器模型)...
  11. SpringMVC中实现文件上传
  12. FTTP/FTTH理想解决方案(组图)
  13. 前端汉字encode_js编码转码中文
  14. 转载:关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解..
  15. webservice 框架比较
  16. 常见JAVA IO/NIO模型
  17. matlab实现手写数字识别案例,Matlab手写数字识别
  18. 油管上如何带中文字幕看Peoplesoft最新视频
  19. 表白生成器PHP源码,带自动生成的php表白程序 v1.0
  20. 性能测试第七课--用户定义变量用户参数

热门文章

  1. 创建可引导的 macOS High Sierra 安装 U 盘
  2. windows启动修复_如何使用Windows启动修复工具修复启动问题
  3. 搭档之家:牛市来了!阿里云“临牛受命”,接到多家券商扩容需求
  4. Win11修改Hosts文件无法保存怎么解决?
  5. 入行数据分析要知道什么是概括性度量
  6. 图像加密-安全性分析
  7. 动环监控系统的服务器配置,动环监控系统服务器维护
  8. 二项式系数表--杨辉三角形
  9. MacOS获取辅助功能权限控制鼠标点击事件
  10. keras+卷积神经网络HWDB手写汉字识别