99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

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

代寫(xiě)COMP 3023、C++程序設(shè)計(jì)代做

時(shí)間:2024-06-02  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



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 

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp










 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:代寫(xiě)159.234 OBJECT-ORIENTED程序
  • 下一篇:菲律賓達(dá)沃島旅游(達(dá)沃有機(jī)場(chǎng)嗎)
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評(píng)軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)/客戶要求/設(shè)計(jì)優(yōu)化
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    出評(píng) 開(kāi)團(tuán)工具
    出評(píng) 開(kāi)團(tuán)工具
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
  • 短信驗(yàn)證碼 trae 豆包網(wǎng)頁(yè)版入口 目錄網(wǎng) 排行網(wǎng)

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

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

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                亚洲一区在线免费观看| 日本韩国精品一区二区在线观看| 亚洲欧美日韩一区二区 | 欧美国产精品久久| 国产精品资源在线看| 国产精品久久久久久久久搜平片| 国产精品一卡二卡| 一区二区三区在线观看国产| 欧美日韩国产免费一区二区| 免费在线观看不卡| 国产欧美日韩在线观看| 99热精品国产| 国产精品美女一区二区| 久久日韩粉嫩一区二区三区| 白白色 亚洲乱淫| 午夜精品成人在线| 欧美精品一区在线观看| 色婷婷国产精品综合在线观看| 蜜桃av一区二区在线观看| 国产精品毛片久久久久久| 欧美日韩国产一级片| 成人av网站在线| 理论电影国产精品| 亚洲特黄一级片| 精品成人一区二区| 欧美视频一区二区三区| 成人综合在线网站| 中文字幕一区在线观看视频| 91原创在线视频| 国产成人在线视频网站| 偷拍日韩校园综合在线| 中文在线一区二区| 精品福利在线导航| 日韩一区二区三区在线观看| 色乱码一区二区三区88| 国产精品一色哟哟哟| 秋霞午夜av一区二区三区| 亚洲欧美怡红院| 国产丝袜欧美中文另类| 日韩女优视频免费观看| 欧美日韩国产欧美日美国产精品| 色婷婷亚洲精品| 成人激情校园春色| 风流少妇一区二区| 久久成人18免费观看| 日韩1区2区3区| 亚洲成人一区在线| 亚洲18女电影在线观看| 亚洲精品午夜久久久| 国产精品成人在线观看| 欧美韩国日本一区| 中文字幕精品综合| 国产亚洲综合色| 欧美变态口味重另类| 日韩欧美综合在线| 91精品国产丝袜白色高跟鞋| 欧美精品在线观看一区二区| 欧美日韩中文精品| 欧美图片一区二区三区| 在线电影一区二区三区| 日韩欧美精品在线视频| 欧美zozozo| 中文字幕第一区| 自拍偷在线精品自拍偷无码专区| 中文字幕亚洲精品在线观看| 亚洲品质自拍视频| 亚洲福利国产精品| 九九**精品视频免费播放| 国产精品中文欧美| 色综合天天视频在线观看| 日本二三区不卡| 9191久久久久久久久久久| 精品国产麻豆免费人成网站| 国产精品久久久久久久久免费丝袜| 亚洲三级理论片| 五月天国产精品| 国产精品自拍av| 欧美优质美女网站| 日韩精品一区二区三区在线播放| 2023国产精品视频| 亚洲蜜桃精久久久久久久| 亚洲aaa精品| 高清成人免费视频| 欧美视频一二三区| 欧美国产精品一区二区| 日韩国产欧美在线播放| 成人av先锋影音| 欧美一级理论性理论a| 亚洲国产成人一区二区三区| 亚洲精选视频在线| 国产一区欧美日韩| 欧美日韩小视频| 亚洲国产精品99久久久久久久久| 亚洲午夜av在线| 一区二区三区高清在线| 国产主播一区二区三区| 国产自产高清不卡| 欧美日本一道本在线视频| 中文字幕久久午夜不卡| 另类中文字幕网| 欧美怡红院视频| 国产精品国产精品国产专区不蜜 | 色先锋aa成人| 欧美一区午夜精品| 一区二区视频在线看| 国产精品 日产精品 欧美精品| 在线播放/欧美激情| 一区二区不卡在线播放| av网站免费线看精品| 欧美精品一区二区三区在线| 亚洲第一福利一区| 欧美综合一区二区| 亚洲男人电影天堂| 成人精品电影在线观看| 国产亚洲精品aa午夜观看| 蜜桃久久av一区| 欧美一级免费大片| 日本成人超碰在线观看| 欧美美女一区二区三区| 亚洲mv大片欧洲mv大片精品| 欧美三级欧美一级| 亚洲午夜久久久久久久久电影院 | 久久国产精品99久久人人澡| 在线电影院国产精品| 亚洲国产cao| 欧美视频在线不卡| 亚洲成人激情综合网| 欧美性受xxxx黑人xyx性爽| 亚洲激情在线播放| 91黄色激情网站| 一区二区三区在线视频观看58| 在线亚洲欧美专区二区| 亚洲午夜私人影院| 日韩一区二区免费电影| 美国一区二区三区在线播放| 精品国产一区二区三区不卡 | 中文字幕av一区二区三区| 国产福利电影一区二区三区| 久久久国产精品麻豆| 成人永久aaa| 一区二区三区中文字幕电影| 欧美精选在线播放| 久久成人麻豆午夜电影| 中文字幕的久久| 在线视频中文字幕一区二区| 视频一区二区中文字幕| 欧美大片在线观看一区| 国产99久久久久久免费看农村| 中文字幕一区免费在线观看 | 国产欧美精品一区二区色综合朱莉| 懂色av一区二区三区蜜臀| 亚洲免费毛片网站| 欧美日韩国产乱码电影| 国产自产2019最新不卡| 亚洲视频在线观看一区| 日韩情涩欧美日韩视频| av网站免费线看精品| 日本不卡不码高清免费观看| 久久久www成人免费毛片麻豆| 91丝袜美腿高跟国产极品老师| 美日韩黄色大片| 亚洲色大成网站www久久九九| 欧美性猛交xxxx黑人交| 国产又黄又大久久| 一区二区三区影院| 久久综合色播五月| 欧美午夜精品一区二区蜜桃| 国产福利一区二区三区在线视频| 亚洲一区二区在线观看视频 | 中文字幕一区二区三区不卡| 欧美日韩国产免费一区二区| 国产麻豆精品95视频| 午夜精品久久久久久久99樱桃| 国产日韩欧美综合一区| 欧美日韩免费观看一区二区三区| 国产精品一区专区| 日韩av电影免费观看高清完整版在线观看| 中文字幕五月欧美| 久久日韩粉嫩一区二区三区| 91精品国产一区二区| 在线观看中文字幕不卡| 国产成人在线免费| 韩国av一区二区三区四区| 视频一区国产视频| 亚洲综合在线观看视频| 中文字幕精品综合| 国产午夜精品一区二区三区嫩草| 日韩一区二区三区观看| 欧美日韩视频专区在线播放| 91丨九色丨蝌蚪富婆spa| 成人午夜av在线| 国产麻豆成人精品| 极品美女销魂一区二区三区 | 国产日韩欧美a| 日韩欧美区一区二| 91精品国产综合久久久久| 欧美日韩一区二区在线观看视频 | 成人精品视频一区| 高清在线不卡av| 成人av在线播放网址|