91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CPT204、代做Java編程設計

時間:2024-05-11  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



CPT204-2**4 Coursework 3 Task Sheet
Overview
Coursework 3 (CW3) is the final coursework component of the course this semester.
It contributes to 40% of your final marks.
You will form a team of two with your friend and apply object-oriented principles and
advanced data structures you have learned throughout the semester to create
intelligent game-playing characters. You will be tasked with writing a report and
creating a video presentation to demonstrate your problem-solving and testing skills,
as well as your understanding of object-oriented concepts.
You are required to submit the following files: Java codes in a ZIP file, a Word and PDF
report, an MP4 video, and a PowerPoint (PPT) presentation used in the video.
Timeline
Week 10, Friday, CW3 is released
May 3, 2024, 13:00 CST (This task sheet, skeleton codes, sample test cases)
Week 13, Sunday, CW3 Java source code files, video files (MP4, PPT),
May 26, 2024, 23:59 CST and report files (Word, PDF) are due
Late Submission Period 5% lateness penalty per-day
Max 5 days (Monday-Friday)
Reading Week, Friday, End of Late Submission Period
May 31, 2024, 23:59 CST No submissions are accepted thereafter
Outline
The remainder of the task sheet will outline the game rules, provide detailed
specifications of the tasks, and specify the deliverables you are required to submit.
Additionally, there is a marking rubric provided to guide you in achieving the best
possible outcome.
2
Coursework 3 – Intelligent Rogue Chars
Intelligent game-playing characters have been used in the game industry to harness
the power of graph algorithms to navigate complex virtual environments, strategically
analyzing interconnected nodes and edges to optimize their movements and decisionmaking processes. By leveraging graph traversal techniques such as breadth-first
search (BFS) and depth-first search (DFS), these characters can efficiently explore vast
game worlds, identify optimal paths, and anticipate opponent movements.
In this coursework, you will use graph algorithms you have learned in Lecture 10 to
develop an effective approach to track and intercept a moving opponent in a
(simplified version of the) 2D Game called Rogue. You will also create a viable plan to
evade interception from said opponent.
Rogue
The game Rogue was created by Michael Toy and Glen Wichman, who, while
experimenting with Ken Arnold's C library named curses in the late 1970s, designed a
graphical adventure game shown below.
In 1984, CMU graduate students developed Rog-o-matic, an automated Rogue player,
which became the highest-rated player. Rog-o-matic's algorithm prioritized avoiding
monster encounters to facilitate health regeneration, posing an intriguing graph
search challenge, which inspired this coursework.
3
Rules of the Game
The game of Rogue is played on an N-by-N grid that represents the dungeon. The two
players are a rogue and a monster. The rogue is represented with the character @.
The monster is represented by an uppercase letter A through Z.
The monster and rogue take turns making moves, with the monster going first. If the
monster intercepts the rogue (i.e., occupies the same site), then the monster kills the
rogue, and the game ends. In each turn, a player either remains stationary or moves
to an adjacent site.
There are three types of sites:
1. Rooms represented by .
2. Corridors represented by +
3. Walls represented by (a space)
The movement rules are:
**3; If a player is in a room site, then they can move to an adjacent room site in one
of the 8 compass directions (N, E, S, W, NW, NE, SW, SE) or a corridor site in
one of the 4 directions (N, E, S, W).
**3; If a player is in a corridor site, then they can move to an adjacent room or
corridor site in one of the 4 directions (N, E, S, W).
**3; The walls are impenetrable.
Consider the following two dungeons.
 + + + + + . . . . . . . . A .
 + + . . . . . . . . . .
 . . . . . . . . + . . . . . . . . . .
 . . . . . @ . . + . . . . . . . . . .
 . . I . . . . . + . . . . @ . . . . .
 . . . . . . . . + . . . . . . . . . .
 . . . . . . . . + . . . . . . . . . .
 + + . . . . . . . . . .
 + + . . . . . . . . . .
 + + + + + . . . . . . . . . .
In the first dungeon above, the rogue can avoid the monster I indefinitely by moving
N and running around the corridor.
In the second dungeon, the monster A can use the diagonal moves to trap the rogue
in a corner.
4
Monster's Strategy
The monster is tenacious and its sole mission is to chase and intercept the rogue. A
natural strategy for the monster is to always take one step toward the rogue. In terms
of the underlying graph, this means that the monster should compute a shortest path
between itself and the rogue, and take one step along such a path. This strategy is not
necessarily optimal, since there may be ties, and taking a step along one shortest path
may be better than taking a step along another shortest path.
Consider the following two dungeons.
In the first dungeon above, monster B's only optimal strategy is to take a step in the
NE direction. Moving N or E would enable the rogue to make a mad dash for the
opposite corridor entrance.
In the second dungeon, the monster C can guarantee to intercept the rogue by first
moving E.
Your first task is to implement an effective strategy for the monster. To implement
the monster's strategy, you may want to consider using BFS.
5
Rogue's Strategy
The rogue's goal is to avoid the monster for as long as possible. A naive strategy is to
move to an adjacent site that is as far as possible from the monster's current location.
That strategy is not necessarily optimal.
Consider the following two dungeons.
It is easy to see that that strategy may lead to a quick and unnecessary death, as in
the second dungeon above where the rogue can avoid the monster J by moving SE.
Another potentially deadly strategy would be to go to the nearest corridor. To avoid
the monster F in the first dungeon, the rogue must move towards a northern corridor
instead.
A more effective strategy is to identify a sequence of adjacent corridor and room sites
which the rogue can run around in circles forever, thereby avoiding the monster
indefinitely. This involves identifying and following certain cycles in the underlying
graph. Of course, such cycles may not always exist, in which case your goal is to survive
for as long as possible. To implement the rogue's strategy, you may want to use both
BFS and DFS.
6
Implementation and Specification
In this section, you will discover the expected details regarding the implementation
and specifications of the Rogue game, which you are required to adhere to.
Dungeon File Input Format
The input dungeon consists of an integer N, followed by N rows of 2N characters
each. For example:
A room is a contiguous rectangular block of room sites. Rooms may not connect
directly with each other. That is, any path from one room to another will use at least
one corridor site.
There will be exactly one monster and one rogue, and each will start in some room
site.
You will be given 18 dungeon files to test your code with.
You may create your own dungeon files (explain the novelty in your report/video!).
In the rubric subsection below, you are required to show the correctness and the
performance of your rogue and monster on at least 5 non-trivial dungeons in total.
Game of Rogue Specification
We will provide some files that are already completed as the game infrastructure.
There are two files to complete: Monster.java and Rogue.java, for which some
skeleton code is provided.
The given files are only for a quick start: you should modify the files so your program
exhibits more object-oriented programming principles!
7
The following is the interface of Monster.java :
public Monster(Game g) // create a new monster playing game g
public Site move() // return adjacent site to which it moves
And the analogous program Rogue.java:
public Rogue(Game g) // create a new rogue playing a game g
public Site move() // return adjacent site to which it moves
The move() method should implement the move of the monster/rogue as specified
by the strategy that you have created.
Game.java reads in the dungeon from standard input and does the game playing and
refereeing. It has three primary interface functions that will be needed by
Rogue.java and Monster.java.
public Site getMonsterSite() // return site occupied by monster
public Site getRogueSite() // return site occupied by rogue
public Dungeon getDungeon() // return the dungeon
Dungeon.java represents an N-by-N dungeon.
public boolean isLegalMove(Site v, Site w) // is moving from site v
 to w legal?
public boolean isCorridor(Site v) // is site v a corridor site?
public boolean isRoom(Site v) // is site v a room site?
public int size() // return N = dim of dungeon
In.java is a library from Algorithms optional textbook to read in data from various
sources. You will have to create your own input library for your CW3 program.
Site.java is a data type that represents a location site in the N-by-N dungeon.
public Site(int i, int j) // create new Site for location (i, j)
public int i() // get i coordinate
public int j() // get j coordinate
public int manhattan(Site w) // return Manhattan distance
 from invoking site to w
public boolean equals(Site w) // is invoking site equal to w?
If you have two sites located at coordinates (i1, j1) and (i2, j2), then the Manhattan
distance between the two sites is |i1 - i2| + |j1 - j2|. This represents the length you
have to travel, assuming you can only move horizontally and vertically.
You should modify the files or create other Java files, so your final program exhibits
more object-oriented programming principles. Finally, you must only use libraries
that are covered in CPT204 (including in Liang textbook). Violating this by using
libraries that are not covered in CPT204 will result in an automatic total mark of 0.
8
Deliverables
In this section, you will find the details regarding the files that you are required to
submit, and the report and video specifications.
Submission Requirements
You are required to submit:
1) The Rogue.java and Monster.java source code Java files, as well as any other
auxiliary Java files and the dungeon filesthat you selected/created in your project,
altogether combined in a ZIP file.
2) Your report, in both Word and PDF format (2 separate files).
3) The PPT of your video presentation.
4) The video recording of your presentation in a MP4 file.
The submission deadline is Sunday, May 26, 2024, at 23:59 CST.
You may submit late, with a maximum grace period of 5 days, during which a 5%
lateness penalty will be applied for each late day. Therefore, after Friday, May 31,
2024, at 23:59 CST, no submissions will be accepted.
Report Requirements
Write a report satisfying the following criteria:
1. The purpose of your report is to explain your code, algorithms, algorithm
analysis, and OOP elements in well-detailed manner.
2. Your report must consist of exactly 6 Chapters:
Chapter 1 – Object-oriented Principles
 (you may add subchapters here)
Chapter 2 – Monster Algorithm
Chapter 3 – Rogue Algorithm
Chapter 4 – Monster Algorithm Analysis
Chapter 5 – Rogue Algorithm Analysis
Chapter 6 – My Java Code
For more details on the contents of each section, you should refer to the
Rubric on page 11.
9
3. You must include all your code in Chapter 6 as a text, copy paste each source
file content into the report.
You must not use screenshots in Chapter 6.
Using screenshot in Chapter 6 will result in an automatic total marks of 0.
(you may use screenshot in other chapters)
4. Write your report using Word with the following setting:
Font Calibri, Font Size 12, Line Spacing 1.5, Normal Margins.
The page limit is a maximum of 20 pages, not including Chapter 6.
5. Consider using images and diagrams to improve the readability of your
report. Please refer to the rubric in the following subsection.
6. Save your Word document as a PDF.
Submit to Learning Mall Assignment Box both the Word document file and
the PDF file.
Video Requirements
Create a PPT presentation and video explanation using the PPT satisfying the following
requirements:
1. The purpose of your video presentation is to explain your code, algorithms,
and OOP design in a succinct manner.
2. You can use any template for your PPT, not limited to the XJLTU standard
theme.
3. The length of the video must be less than or equal to 8 minutes.
Violating the video length requirements will result in a total marks of 0 for
your coursework mark.
4. Your video must display your face and include your audio for the purpose of
authenticity verification.
Do not use English audio translation software to narrate your video.
Violating the requirement to show your face and use your voice will result in
a total marks of 0 for your coursework.
5. The clarity of the presentation will be graded. Please refer to the rubric in the
next subsection.
10
6. Submit to Learning Mall Assignment Box both:
a. The video file in MP4 format,
b. The PPT file you used to create a video.
Equal Contribution Requirements
In adherence to academic integrity and fairness, it is imperative that both team
members contribute equally to the completion of the coursework:
1. Each member should actively participate in the development process,
ensuring a balanced distribution of workload and responsibilities.
For example, one team member may mostly undertake the coding of the
rogue character while the other focuses on the monster character, and they
may divide tasks such as testing, documentation, report writing, and
presentation preparation equitably.
2. Both team members must show their faces in the video, one at a time.
3. Should there be any concerns regarding unequal contributions, team
members are encouraged to notify the module leader promptly to facilitate
appropriate assessment and marking decisions, to ensure transparency and
accountability.
11
Rubric
Criteria Description Marks
Object-Oriented
Principles
Evaluation of the effective use of object-oriented
principles (encapsulation, inheritance, polymorphism,
abstraction) in the overall Java program solution.
25
Code Clarity and
Readability
Assessment of code clarity, organization, and readability.
Includes appropriate variable naming, comments,
documentation, and code structure.
5
Monster and Rogue
Demo
Evaluation of the correctness and optimality/suboptimality of your Monster and Rogue algorithms. Write
in report, and show demo and argue in video on at least 5
non-trivial dungeon files in total for both Monster and
Rogue characters. Justify your strategies, explaining their
strengths and also weaknesses.
20
Monster Algorithm
Analysis
Examination of how graphs algorithms are implemented
in your Monster Algorithm, and their efficiency analysis.
15
Rogue Algorithm
Analysis
Examination of how graphs algorithms are implemented
in your Rogue Algorithm, and their efficiency analysis.
15
Report Clarity,
Structure and
Presentation
Assessment of the report's clarity, structure, organization,
visual elements, and overall quality of writing. Includes
language use and presentation of data structure usages.
10
Video & PPT Clarity,
Delivery and
Engagement
Assessment of the video presentation's delivery, clarity
and engagement. Includes speaking clarity, engagement
with the audience, and visual elements in demonstrating
the execution of the software.
10
Total Marks 100
Show that you satisfy all the rubric components in both your report and video!
Please note again that using libraries not covered in CPT204; using screenshots or not
including all your codes in Chapter 6 of the report; or submitting a video of length longer
than 8 minutes or without your face/voice will result in an automatic total marks of 0.
12
Acknowledgement
This coursework is adopted from an assignment from the Algorithms (an optional
Textbook of this course) with thanks to Robert Sedgewick, Kevin Wayne, and Andrew
Appel.
Academic Integrity
1. Plagiarism, e.g. copying materials from other sources without proper
acknowledgement, copying, or collusion are serious academic offences.
Plagiarism, copying, collusion, using or consulting unauthorized materials
(including code sharing forum, and generative AI tools including, but not limited
to, ChatGPT) will not be tolerated and will be dealt with in accordance with the
University Code of Practice on Academic Integrity.
2. In some cases, individual students may be invited to explain parts of their code
in person, and if they fail to demonstrate an understanding of the code, no
credit will be given for that part.
3. In more severe cases, the suspected violation will be directly reported to the
Exam Officer for further investigation and, if confirmed, will be permanently
recorded in the offender student's official academic transcript.
Please read: https://academicpolicy.xjtlu.edu.cn/article.php?id=98
Question Forum
If you have questions regarding Coursework 3, please post your questions in CW3
Forum: https://core.xjtlu.edu.cn/mod/forum/view.php?id=13**39
This is the end of CPT204-2**4 CW3 Task Sheet.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp
















 

掃一掃在手機打開當前頁
  • 上一篇:代寫COMPSCI369、代做Python編程設計
  • 下一篇:CSE 332S代寫、代做c/c++設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    精品理论电影在线| 99视频精品在线| 中文字幕一区二区三区av| 欧美一区国产二区| 91精品久久久久久蜜臀| 欧美久久一区二区| 欧美人牲a欧美精品| 在线精品视频免费观看| 91黄视频在线观看| 欧洲一区二区av| 欧美视频一区二区三区在线观看| 91久久精品一区二区三| 欧美综合视频在线观看| 欧美在线观看视频一区二区| 欧美影片第一页| 欧美精品在线视频| 欧美一卡二卡在线| 久久久亚洲精品石原莉奈| 久久精品夜色噜噜亚洲a∨| 日韩在线一区二区| 日韩高清不卡一区二区三区| 午夜精品视频在线观看| 久久精品久久精品| 国产九色精品成人porny | 成人一区二区三区| 欧美在线精品一区| 亚洲成人直播| 色综合久久久久综合| 免费久久久一本精品久久区 | 欧美无乱码久久久免费午夜一区| 欧美视频第二页| 欧美成人精品1314www| 日本一区二区综合亚洲| 亚洲制服欧美中文字幕中文字幕| 日韩高清欧美激情| www.一区二区| 中文亚洲字幕| 欧美日韩精品一区视频| 久久久久久免费毛片精品| 亚洲九九爱视频| 韩国v欧美v亚洲v日本v| 国产综合亚洲精品一区二| 免费久久99精品国产自| 日韩欧美在线网站| 亚洲三级小视频| 国产一区二区调教| 国产精品国产精品| 欧美情侣在线播放| 国产精品久久久久一区二区三区共| 亚洲国产精品久久久久婷婷884 | 欧美日韩一区二区欧美激情| 久久久无码精品亚洲日韩按摩| 在线免费观看欧美| 2019国产精品| av电影在线观看一区| 一区二区三区.www| 亚洲第一在线综合网站| aaa亚洲精品一二三区| 噜噜噜躁狠狠躁狠狠精品视频| 91精品国产91久久久久久最新毛片| 亚洲欧洲日产国码二区| 韩国精品久久久| 国产精品一区毛片| 日韩欧美成人一区| 视频一区二区不卡| 亚洲小说欧美另类婷婷| 91精品国产品国语在线不卡| 亚洲精品免费电影| 99re热这里只有精品免费视频| 色婷婷综合视频在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 26uuu国产日韩综合| 麻豆中文一区二区| 在线一区亚洲| 国产精品三级久久久久三级| 国产一区二区视频在线| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久毛片a| 另类av一区二区| 国产清纯美女被跳蛋高潮一区二区久久w| 麻豆精品在线观看| 亚洲在线国产日韩欧美| 国产欧美精品一区二区三区四区 | 高清日韩电视剧大全免费| 日本韩国欧美三级| 亚洲午夜激情av| 亚洲激情黄色| 国产精品久久综合| 91偷拍与自偷拍精品| 欧美一区二区高清| 久久精品国产免费看久久精品| 国产精品夜夜夜| 亚洲欧美在线视频| 国产自产精品| 国产精品乱人伦| 欧美日韩一区二区三| 337p粉嫩大胆噜噜噜噜噜91av| 激情五月婷婷综合网| 欧美中文字幕一区二区三区| 亚洲v中文字幕| 久久国产免费| 偷窥少妇高潮呻吟av久久免费| 亚洲少妇在线| 亚洲国产成人va在线观看天堂| 一区二区av| 亚洲国产成人精品视频| 麻豆精品视频| 日韩成人午夜电影| 欧美亚洲高清一区二区三区不卡| 午夜欧美视频在线观看| 色综合久久久久综合体桃花网| 日韩精品成人一区二区在线| 色伊人久久综合中文字幕| 日韩中文字幕亚洲一区二区va在线 | 亚洲高清免费观看| 久久成人国产| 91日韩在线专区| 日韩一区欧美二区| 亚洲成av人片一区二区三区| 99热这里只有精品8| 亚洲国产精品一区二区久久恐怖片| 久久国产精品一区二区三区四区| 秋霞电影一区二区| 欧美一级欧美一级在线播放| www.日韩在线| 亚洲色图一区二区| 一本大道久久精品懂色aⅴ| 美女视频一区二区三区| 日韩网站在线看片你懂的| 91视频一区二区三区| 亚洲欧洲在线观看av| 久久久综合香蕉尹人综合网| 精品亚洲porn| 国产无遮挡一区二区三区毛片日本| 在线日韩av| 精品一区二区三区香蕉蜜桃| 精品处破学生在线二十三| 亚洲图片欧洲图片日韩av| 天天色 色综合| 亚洲精品一区二区三区蜜桃下载 | 久久久精品免费网站| 亚洲视频1区| 国产欧美高清| 国内精品久久久久影院一蜜桃| 国产午夜三级一区二区三| 国产亚洲一区在线播放| 国产精品亚洲第一区在线暖暖韩国 | 久久天天做天天爱综合色| 国产精品区二区三区日本| 国产一区二区三区电影在线观看| 久久久精品综合| 麻豆av福利av久久av| 国产精品成人免费在线| 免费国产自线拍一欧美视频| 极品少妇一区二区| 欧美猛男男办公室激情| 99久久综合国产精品| 亚洲人成精品久久久久| 欧洲一区二区三区在线| 伊人久久久大香线蕉综合直播| 亚洲第一综合色| 欧美va亚洲va| 91久久精品国产91久久性色tv | 欧美成人性战久久| 国产在线精品二区| 亚洲狼人国产精品| 国产亚洲一本大道中文在线| 国产欧美精品| 成人av网址在线| 中文字幕欧美国产| 欧美一区二区日韩一区二区| 黑人中文字幕一区二区三区 | 99精品黄色片免费大全| 日韩精品福利网| 国产免费观看久久| 欧美怡红院视频| 好吊一区二区三区| 91亚洲国产成人精品一区二区三| 夜夜嗨av一区二区三区四季av| 欧美精品v日韩精品v韩国精品v| aa级大片欧美| 国产suv精品一区二区6| 亚洲男人的天堂一区二区| 欧美精品18+| 含羞草久久爱69一区| 成人av网站在线观看| 麻豆成人久久精品二区三区小说| 久久精品一级爱片| 老鸭窝亚洲一区二区三区| 永久久久久久| 99久久国产综合色|国产精品| 亚洲成人免费视频| 精品成人免费观看| 欧美性色黄大片手机版| 伊人久久成人| thepron国产精品| a亚洲天堂av| 精东粉嫩av免费一区二区三区| 日韩毛片精品高清免费| 中文字幕在线一区二区三区|