CSE240–作业4分50介绍本作业的目的是让您使用C/C++结构创建一个简单的链接结构数据结构。目标使用链接节点构建一个抓包数据结构构建一个具有一些基本链接的链接节点结构-liststylefunctionality使用这个Grab-Bag创建和玩Hi-Low-Guess游戏创建一个或多个结构使用和管理多个指针结果:关联数据数据结构创建和应用用户交互创建和使用结构指针使用、管理和操作描述:赢得纸牌游戏的关键之一是了解概率。算牌在BlackJack玩家中是一项备受吹捧的技能,赌场一直在注意防止这种技能使赔率偏向玩家。此作业将创建一个非常基本的游戏来展示算牌的工作原理。我们将制作一个Hi-Lo-Guess游戏。玩家将收到一张卡片并猜测是否下一张牌会更高或更低。玩家每次猜对都会得到一分。每一轮游戏都会计算下一张牌更高或更低的概率以及抽到任何特定数字的概率。这将通过用Grab模拟一副牌来实现-Bag数据结构。GrabBagGrab-Bag是一个简单的数据结构,可以使用数组或链接结构创建(我们将选择链接结构)。GrabBagh有两个主要功能:将东西添加到包中从包中随机删除东西SpecificationsBag(65%规范)你要用C/C++实现一个Grab-Bag数据结构。您可以选择使用任何一种语言作为您的代码库。您将创建几个结构来实现这一点:链接-l正在接近。头指针和尾指针是个好主意。您还将实现几个函数来创建包的功能:getCurrentSize():int–包的项目数isEmpty():bool/int–包是空的还是没有添加(- )–将项目添加到bago提示–想想你想从linkedlisto中使用哪个添加函数提示–记住我们随机删除......所以......我们需要任何花哨的插入吗?grab():Card——从包里拿出一张卡片!o记住这是随机提示——任意删除提示——不要忘记你的情况inthebagempty()–清空袋子fillWithCards()–用一副新的52副牌装满袋子!我没有完美地概述您可能需要或编写的每个函数。不过,上述功能是必需的。您可以实现任何需要的功能来帮助或执行其他任务。另请注意,我没有完美地布置参数为你。你必须四处传递指针以使这些函数工作。如果你使用的是C–记住你没有传递引用,所以确保你返回那个Head指针或以其他方式处理这个问题。如果你正在使用C++-记住你确实有传递引用,利用它来发挥你的优势。高低猜游戏你的目标是创建一个简单的“高低猜”游戏供玩家玩。计算机将充当发牌者,玩家将有3个选择:下一张牌会更高,下一张牌会更低,猜下一张牌。如果玩家猜对了,他们会得到一分。如果他们猜出一张特定的牌,他们将获得5分!如果牌面相同,则玩家既不赢也不输,并获得0分并被提示再次猜测。每次玩家被提供一个猜测时,他们应该显示:所有的到目前为止抽到的牌你猜对的最后抽到的牌概率下一张牌会更高下一张牌的概率会更低抽到特定值的概率保留最后一张抽出的牌请确保您告诉玩家牌组已重新填充将A计数为低(值1)注意:袋子是牌组。因为你从包里随机挑选东西,所以你不必洗牌你应该使用H、D、S和C来表示红心、方块、黑桃和梅花你应该使用数值1–13来表示卡片值制作一个printCard函数为你“漂亮地打印”你的卡片虽然高低游戏有明确要求的功能-你应该编写适当的功能玩家只要继续猜对就可以玩。抽取34张牌后,别忘了重新装满袋子。不要忘记告诉你的用户你正在这样做。样本输出:抽出的牌:[K-H][4-S][7-D]牌组中剩余的牌:49张下一张牌更高的概率:46.94%下一张牌更低的概率:46.94%%下一张牌的概率同一张牌:6.12%下一张牌的概率:A8.16%28.16%38.16%46.12%58.16%68.16%76.12%88.16%98.16%108.16%J8.16%Q8.16%K6.12%最后一张牌:[7-D]点数:2选择选项:1–下一张牌会更高2–下一张牌会更低3–猜出准确值用例:如果用户选择1或2,则抽取下一张牌。o奖励a点如果用户猜对了并提示他们进行下一次猜测,显示所有上述信息。o如果用户猜错了。游戏结束了。告诉他们“游戏结束”并向他们展示他们的分数。退出游戏。o如果该卡与前一张卡的值相同,则告诉用户“同一张卡”并给他们0分,并提示他们进行下一次猜测,显示所有上述信息。如果用户使用选项3:o提示用户输入v他们想猜的值。o画下一张牌。o如果值匹配,则给用户5分并提示他们下一次猜测,显示所有上述信息。o如果值不匹配,游戏结束。告诉他们“游戏结束”并向他们展示他们的分数。退出游戏。额外分+5在其自己的库__bag.h&__bag.c(或.cpp)中完全实现Bag。创建Makefile来编译代码。推荐阅读:https://www.geeksforgeeks.org...https://gcc.gnu.org/onlinedoc...编程作业评分助教将按照以下步骤对您的程序进行评分:(1)编译代码。如果它不编译U或F将在规格部分给出。这可能也会影响效率/稳定性部分。(2)助教会阅读你的程序并根据分配给每个组件的分数、你的代码的可读性(代码的组织和评论)、逻辑、所需功能的包含以及每个功能的实现的正确性。Rubric:提交什么?您需要以压缩格式(.zip)提交您的解决方案。将所有文件压缩到一个zip文件中。确保您的压缩文件被正确标记为lastname_firstname4.zip。压缩文件必须包含以下内容:__hw4.c(或cpp)如果您做了额外的信用还包括:__bag.h__bag.c(或cpp)Makefile压缩文件夹中不应有其他文件。如果多次提交,即使作业迟交,也会对最近提交的进行评分。提交地点?所有提交必须以电子方式提交到您下载作业的课程网页中的相关家庭作业链接。学术诚信和荣誉准则。鼓励您在李尔学习小组中合作课程材料。但是,您可能不会合作准备个人作业。您提交的任何内容都必须是您自己的工作:您必须根据自己的理解编写自己的解决方案。如果你使用的想法是在书中或从其他来源找到的,或者是由其他人或与某个团体共同开发的,请确保你在每个问题的文章中注明来源和/或人员姓名。当你帮助你的同事时,你不应该向他们展示你的工作。所有作业问题都必须在课程讨论板上提出。在作业到期之前提出作业问题或在公共网站上公开您的作业将被视为作弊。教师和助教将仔细检查任何可能的扩散或剽窃。我们将使用MOSS(软件相似性度量:http://moss.stanford.edu/)等文档/程序比较工具来检查您的任何作业提交打分。IraA.Fulton工程学院期望所有学生遵守ASU关于学术不端行为的政策。这些政策可以在学生行为准则中找到:http://www.asu.edu/studentaff...tm所有作弊或剽窃的案件都将移交给院长办公室。处罚包括课程成绩不及格,官方成绩单上的注释,表明您因作弊、停学、开除和撤销已获得的学位而受到处罚。WX:codehelp