国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

代寫COMP 3023、C++程序設計代做

時間:2024-06-02  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



COMP 3023 Design Patterns with C++ 
Assignment 1 COMP 3023 
Introduction 
In this individual assignment, you have been tasked by your client to create a command-line based 
simulation game in C++. In the game the player controls a team of devoted robots working for the 
company. Following the orders of the player, the robots have to perform dangerous exploration 
missions in hazardous locations in order to collect scrap. The scrap can then be sold to reach quota 
and unlock items that will increase the robot’s ability to work. Should the robots fail to meet the 
quota in time, they will be shut down. The goal of the player is to manage assets (money, items, 
robots and scrap) to keep the robots running for as long as possible. 
Assignment and submission requirements 
The assignment has the following requirements. Failing to address any of these requirements will 
result in deducted marks. 
1. The assignment must be submitted via CloudCampus. 
2. You must the full source code and be written in C++. 
3. It must build and run from Visual Studio 2022 on Windows. 
4. The code must be compressed using the common ZIP compression. 
5. The functioning executable must run from command line under Windows 10 or higher. 
6. The output needs to be in English 
Game overview 
The game is a single-player asset management game, where the player tries to stay alive for as long 
as possible. To do so, the player must meet a certain quota every 4 game days (also called a cycle). 
Money is made by sending robots to locations where scrap can be collected, and then selling this 
scrap later on. 
Every day, the player chooses a location and orders robots to go on expeditions in an attempt to 
collect scrap. Once the player chooses to leave the location, a new day begins. The player can also 
choose to travel home where the collected scrap can be sold for cash. 
The player does not control robots. Instead, they choose the number of robots they wish to send on 
exploration missions, and a chanced-based simulation determines how much scrap is collected and 
how many robots make it back. 
At the beginning of each day, 4 robots are available. When landed on the location, robots may die 
during expeditions. If all 4 robots are broken, the player is forced to leave the location and a new day 
begins. Robots that broke during the day are repaired at the beginning of the next day so that all 4 
robots are available again. 
The player should also pay attention to the weather of the location they land on. At the beginning of 
each day, the weather of each location is randomized. The weather will directly affect expedition 
simulation parameters such as the amount of scrap that can be collected by robots, and/or the 
survival chance of robots. To achieve all of these actions, the player uses a simple command system. All commands start with a 
word (e.g. “land”, “leave”, etc.) and may be followed by any number of arguments. 
Example session 
1. A typical session would proceed as follows: 
2. The player starts the game. They begin with a cargo value of $0 (no scrap), an initial balance 
of $50, a first quota of $150, and no items. Day 1 starts, and the player at home. 
3. The player uses the “locations” command to see what locations are available and what is 
their current weather conditions. 
4. The player makes a choice and uses the “route” command followed by the name of the 
location they wish to route to select a location. They may use this command as many times 
as they wish. 
5. Once they made up their mind, the player uses the “start” command, which marks the 
beginning of the landed phase. 
6. The player begins the landed phase with 4 robots alive. They use the “send” command, 
followed by the number of robots they wish to send to start an expedition. 
7. A simulation algorithm takes over and determines the number of robots that make it back 
alive as well as how much scrap they bring back based on parameters such as the chosen 
location and items bought. 
8. The player is told about the result of the expedition (e.g. “N robots made it back and brought 
$X worth of scrap”). That scrap is added to the cargo value (and not to the balance). From 
there, the player can re-use the “send” command as long as at least one robot is functioning. 
If, however, all robots breakdown as part of an expedition, all the cargo is lost, and the player 
leaves the location immediately. 
9. When the player feels like they’ve collected enough scrap, they can use the “leave” 
command to go back home. This will bring the current day to an end and start the next one, 
with all 4 robots working again. 
10. At that point, the player would typically repeat operations from step 2, 3, 4 or 5 up to 9. 
11. Alternatively, if they’d like to sell the collected scrap for cash, they can choose to navigate to 
home using the “route home” command. 
12. On the corporation location, the player would use the “sell” command, either on its own to 
sell all of their, or followed by an amount to sell only a fraction of it. This will effectively 
convert to scrap into usable money (in other words, the cargo value is transferred to their 
balance). 
13. When done, the player uses the “leave” command, which would also mark the end of that 
day. 
14. At the end of every 4 days, the player is expected to meet quota (reach the predefined cash 
threshold). Only the balance is considered, which means that the scrap must be sold before 
the end of the 4th day. If they fail to do so, the game displays the number of days they have 
survived before exiting. If they succeed, a new 4-day cycle begins with an increased quota. 
The quota amount is not deducted from the player’s balance. 
 Implementation 
Your assignment must design and implement at least the following classes: 
Game — The Game object drives the game. The Game object: 
• Is responsible for initialising a new game. 
• Is responsible for defining the locations & items available to the game. 
• Is responsible for showing the welcome screen. 
• Is responsible for running the 4-day cycle loop and the day loops. 
• Is responsible for reading, parsing and dispatching commands. 
• Is responsible for handling the following commands: 
o START 
o LEAVE 
o EXIT 
• Is responsible for keeping track of the balance. 
• Is responsible for keeping track of the location currently being orbited or landed on. 
• Is responsible for keeping track of the game phase (orbiting or landing). 
• Is responsible for keeping track of the cargo value. 
• Is responsible for keeping track of alive employees. 
• Holds the item manager, the location manager and the game’s random number generator 
instance. 
Location manager — Manages the locations and handles the related commands. The location 
manager: 
Keeps (a) data structure(s) containing all the locations defined by the Game, keeping the registration 
order (e.g. the order in which locations have been defined). 
Handles the following commands: 
LOCATIONS 
ROUTE 
When implementing the location manager, we suggest having a function that will be called by 
“Game” to register a location: 
void registerLocation(AbstractLocation* location); 
AbstractLocation — Represents the base type of a location in the game. The AbstractLocation class 
should be an abstract class so that differences between the corporation location and other locations 
can be handled properly. A location should: 
• Have a name 
• Contain an description for the weather conditions it is currently experiencing. 
• Handle the following commands: 
o SEND 
o SELL 
• Print a welcome message that will be displayed after reaching the location 
When implementing AbstractLocation, define an enum for weather conditions: (Clear, Flooded, 
Eclisped, Stormy). Add a function that returns its name: 
const std::string& name() const; 
Have a function that will be called by the game when a day begins: 
virtual void onDayBegin(Game& g); 
Have functions that handle the SELL and SEND commands: 
virtual void sellCargo(Game& g, int amount) = 0; 
virtual void sendEmployees(Game& g, int count) = 0; 
Hints and tips 
Random number generation. C++’s random number generation is relatively complex. It features 
different number generators and its syntax is a bit uncanny. To use it, make sure to create a single 
number generator instance that you will re-use everywhere in your code. For that, we will use 
mt19937 (MT19937 is one of many random number generator implementation): 
#include std::mt19937 
myGenerator(std::random_device{}()); 
You can then generate a random int between A and B (both inclusive) using the following code: 
std::uniform_int_distribution intDistribution(A, B); 
int myRandomNumber = intDistribution(myGenerator); 
Similarly, you can generate a random float between 0.0 and 1.0 (1.0 excluded) using the following 
code: 
std::uniform_real_distribution realDistribution; float 
myRandomNumber = realDistribution(myGenerator); 
 
Simulation algorithm 
The following pseudocode calculate and returns the outcome of an expedition: 
numOperators = 4 
robotSurvivalChance = robotsBaseSurvivalChance * 
survivalChanceMultiplier 
deadRobots = 0 
REPEAT numRobots TIMES: 
 revenue = randomIntBetween(minScrapValue * scrapValueMultplier, 
maxScrapValue * 
 scrapValueMultplier) 
 IF randomFloat01() < RobotsurvivalChance: 
 //This robot made it out alive 
 totalRevenue = totalRevenue + revenue 
 ELSE 
 totalRevenue = totalRevenue + revenue * lootRecoveryMultiplier  deadRobots = deadRobots + 1 
 END IF 
END REPEAT 
RETURN deadRobots, totalRevenue 

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp










 

掃一掃在手機打開當前頁
  • 上一篇:代寫159.234 OBJECT-ORIENTED程序
  • 下一篇:菲律賓達沃島旅游(達沃有機場嗎)
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業(yè)
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁版入口 wps 目錄網(wǎng) 排行網(wǎng)

    關于我們 | 打賞支持 | 廣告服務 | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产精品香蕉国产| 国产超碰91| 国产成人一二三区| 精品国产三级a∨在线| 天天干天天色天天爽| 国产欧美精品日韩精品| 国产精品丝袜高跟| 热门国产精品亚洲第一区在线 | 久久夜色精品国产亚洲aⅴ| 欧美诱惑福利视频| 久久另类ts人妖一区二区 | 91免费在线观看网站| 欧美激情喷水视频| 国产日韩欧美另类| 精品国产免费久久久久久尖叫| 国产精品久久久久久久久久新婚 | 不卡av电影在线观看| 免费高清在线观看免费| 国产精品久久久久久久久久久久冷 | 国产精品一区二区三区免费| 精品免费久久久久久久| 国产偷人视频免费| 国产精品夫妻激情| 国产区日韩欧美| 中国丰满熟妇xxxx性| 成人精品一区二区三区电影黑人| 一本久道中文无码字幕av| 91麻豆蜜桃| 性色av一区二区咪爱| 久久频这里精品99香蕉| 日本久久亚洲电影| 国产成人精品自拍| 精品网站在线看| 欧美激情视频网站| 97免费在线视频| 日本公妇乱淫免费视频一区三区| 久久久久久久久久久久久久久久av| 欧美一区2区三区4区公司二百| 久久成人免费观看| 国模无码视频一区二区三区| 欧美激情第6页| 国产盗摄视频在线观看| 欧美精品一区二区性色a+v| 国产精品高潮视频| 成人国产一区二区三区| 色狠狠久久av五月综合| 中文字幕日韩精品久久| 国产成人精品久久久| 欧美日韩一区二区三区在线观看免| 国产精品对白刺激久久久| 成人精品水蜜桃| av电影一区二区三区| 天天综合狠狠精品| 国产精品入口尤物| av动漫在线免费观看| 欧美影院在线播放| 最新av在线免费观看| 日韩在线精品一区| 国产精品一区二区女厕厕| 日本在线视频不卡| 欧美精品在线播放| 国产成人自拍视频在线观看| 蜜臀av.com| 无码人妻丰满熟妇区96| 国产精品青青草| 91精品国产综合久久久久久蜜臀| 欧美一级电影久久| 伊人久久大香线蕉成人综合网| 久久久久天天天天| 国产日韩专区在线| 日韩欧美视频一区二区三区四区| 美女视频久久黄| www.国产一区| 91精品久久久久久久久久久久久 | 91精品国产自产在线| 欧美亚洲免费在线| 一本一道久久久a久久久精品91| 日韩中文字幕免费视频| 99国内精品久久久久久久软件| 黄页网站在线观看视频| 日本伊人精品一区二区三区介绍| 国产精品久久久久久久久久三级| 久久久影视精品| 国产免费一区二区三区在线观看| 欧洲熟妇精品视频| 亚洲一区二区三区久久| 国产精品果冻传媒潘| 久久艹中文字幕| 91九色国产视频| 国产麻豆乱码精品一区二区三区| 欧美连裤袜在线视频| 午夜精品久久久久久久白皮肤| 国产精品高潮呻吟久久av无限| 久久99精品久久久久久久久久 | 成人国产精品av| 国产一区二区三区播放| 欧美日韩国产综合在线| 日韩中文字幕av在线| 亚洲伊人久久综合| 色综合久综合久久综合久鬼88 | 不卡视频一区二区| 国产日韩欧美在线| 男人的天堂狠狠干| 青青久久av北条麻妃黑人| 亚洲不卡中文字幕| 亚洲一二三区在线| 九九九久久国产免费| 国产精品精品久久久久久| 久久精品视频一| 色噜噜国产精品视频一区二区| 久久久亚洲精品视频| av在线免费观看国产| 国产伦精品一区二区三区四区免费| 黄色网络在线观看| 欧美日韩三区四区| 欧日韩免费视频| 欧洲成人在线视频| 欧美中文娱乐网| 欧美亚洲第一区| 日韩一级免费看| 日本免费成人网| 人妻熟女一二三区夜夜爱| 日韩欧美视频一区二区三区四区| 日本亚洲导航| 日韩免费在线免费观看| 欧美在线一区二区三区四区| 全黄性性激高免费视频| 日韩理论片在线观看| 日韩精品资源| 免费在线国产精品| 国产日韩专区在线| 成人一区二区av| 91精品国产高清久久久久久91| 久久久天堂国产精品女人| 久久久婷婷一区二区三区不卡| 久久久国产精品一区二区三区| 久久精品丝袜高跟鞋| 日韩在线播放av| 国产精品沙发午睡系列| 久久福利视频导航| 中文字幕一区二区三区有限公司 | 国产成人短视频| 精品国产欧美一区二区五十路| 久久久国产91| 国产精品久久久久久久久久尿 | 亚洲精品偷拍视频| 日本一区二区三区精品视频 | 久久综合中文色婷婷| 色青青草原桃花久久综合 | 国产aⅴ夜夜欢一区二区三区| 亚洲人成网站在线观看播放| 日日摸日日碰夜夜爽av| 欧美精品欧美精品系列c| 国模精品系列视频| 国产精品亚洲视频在线观看| 久久久在线免费观看| www.99久久热国产日韩欧美.com| 久久伊人精品一区二区三区| 亚洲伊人第一页| 青青在线视频免费观看| 国产欧美日韩精品专区| 国产激情一区二区三区在线观看| 国产精品视频精品| 亚洲精品中文字幕无码蜜桃| 欧美尤物一区| 成人国产精品久久久| 久久久久久久久久久久久久久久久久av | 91九色国产社区在线观看| 日韩一区在线视频| 精品久久中出| 日本一区二区高清视频| 国内精品久久久久影院优| 97精品久久久中文字幕免费| 色老头一区二区三区| 在线观看一区二区三区三州| 日本精品免费一区二区三区| 国产主播在线一区| 国产成人精品久久二区二区91| 精品免费日产一区一区三区免费| 日本一区二区三区四区视频| 国产日产欧美一区二区| 久久观看最新视频| 真实国产乱子伦对白视频| 欧美自拍大量在线观看| 99久久99| 国产精品第七十二页| 日韩少妇中文字幕| 97久久精品视频| 另类美女黄大片| 欧美一级成年大片在线观看| 91精品国产综合久久香蕉的用户体验| 国产精品日韩欧美一区二区 | 国产毛片久久久久久国产毛片| 日韩在线www| 亚洲第一综合网站| 国产亚洲综合视频| 国产精品视频永久免费播放| 日韩在线xxx| 99视频免费观看| 国产aⅴ精品一区二区三区黄|