ntroductionstd::string num_to_string(std::size_t n){// Create a string stream to hold nstd::ostringstream o;// Push the number into the stream and return the string valueo ‘9’) // only valid if digit from 0-9 inclusivethrow std::runtime_error(“Invalid input to char_to_num”);// value is char value minus 0 char valuereturn static_cast(c - ‘0’);}提交时只要提交game.cpp运行结果见截图,具体过程均有注释RequirementPIC 10A Section 1 - Homework #6 (due Wednesday, May 17, by 8 am)You should upload the file to CCLE. Submit this before the due date/time!Your work will otherwise not be considered for grading. Do not submit a zip-ped up folder or any other type of file besides the .cpp file requested of you.Be sure you upload files with the precise names that you used in your editorenvironment otherwise there may be linker and other errors when your home-works are compiled on a different machine. Also be sure your code compilesand runs on Visual Studio 2015.BLACKJACK – KIND OFThis homework is aimed at getting you to use random numbers, vectors, and to readand write functions!This is a one-player game that resembles BlackJack. There are 3 identical roundswhere a player attempts for the value of all cards in their hand to be within a fixed range.Each card of a standard deck of 52 cards has a value associated with it.• The cards numbered 2-10 are worth that many points; for example a 4 of any suithas a value of 4.• All Jacks (J), Queens (Q), and Kings (K) have value 11.• An Ace (A) is has value 12 if it is Spades and otherwise it has value 1.In each round, a number from 17 to 22 inclusive is randomly chosen as a lower boundfor the value of the user’s hand. The player aims for the total value of all cards in theirhand to reach or exceed the given target value, while at the same time ensuring the totalvalue of their hand does not exceed 22!At the start of every round, there is a full deck of 52 cards, represented by astd::vector (see the Card.h and Card.cpp files). Cards are dealt by a cardbeing randomly selected from the deck and removed from it.During a round, the target lower bound should be displayed and the user dealt a cardif they have chosen so (except for the first card that will always be dealt). The total valueof cards in the user’s hand should be displayed along with the cards in their hand. Then,1• if the value of their hand is within the desired range, they earn 1 point and are toldso.• if the value of their hand exceeds 22, they earn -1 points and are told so.• if the value of their hand is less than the target value, the player may choose whetheror not to be dealt another card by choosing ‘y’ for “yes” or ‘n’ for “no”.If they choose to be dealt no more cards, they do not earn or lose any points, theyare told they earned 0 points, and the next round, if there is one, commences. A roundshould end if the user is within range, without them having to choose not to be dealtmore cards!When the game is over, the score should be displayed.The specifics:Download the Card.h and Card.cpp files and include them in your workspace. Donot modify these files in any way. You must use the Card class in this assignent; someof the other functions included may also be of use to you.Write a Game.cpp file to submit on CCLE that implements the game describedabove. The desired input and a sample outputs are provided.In writing this Game.cpp program, you must define and use the following functionsin nontrivial ways in your code:• cardValue, which can be passed a Card as input and returns the card’s value asan int;• dealCard, which accepts an std::vector representing the deck of undealtcards, chooses a card at random and removes it from the deck, and returns thatselected Card;• showHand, which accepts an std::vector representing the player’s handand an int for the total value of cards in their hand, and which displays their handvalue and cards in hand to the console;• exceeds, which accepts two arguments, an int representing the max possible handvalue allowed and an int representing the user’s hand value, returning true only ifthe user’s hand value has exceeded the maximum possible hand value allowed; and2• inRange, which accepts three arguments, an int representing the target lowerbound for a hand value; an int representing the maximum possible hand valueallowed; and an int representing the user’s hand value, returning true only if theuser’s hand value is within the target range.You should declare the functions above int main() and define the functionsbelow int main().The desired format is below:Cards 2-10 are worth their numeric value.J, Q, K have a value of 11.An A has a value of 12 as a spade and 1 for other suits.Over 3 rounds, you will try to reach or exceed a target value, without going over 22!If you go over, you get -1 points; if you are within range, you get +1 points; otherwiseyou get 0 points.FOR EACH OF 3 ROUNDS [UNTIL THE USER WINS OR LOSES OR CHOOSES TO ACCEPT NO MORE CARDS[Target lower bound: [VALUE CHOSEN]Hand value is: [CORRECTLY COMPUTED HAND VALUE]Hand is: [LIST OF CARDS]Deal more? y/n: [USER ENTERS ‘y’ or ‘n’]]]转自:http://ass.3daixie.com/2019042536767033.html
讲解:C HW6_BlackJack_S2017C/C++
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 来源:郑州晚报 6月28日凌晨4时许,高新区一家属院自行车棚发生火灾,15辆电动车被焚烧成铁架。灾后,消防专家在现...