掷骰子游戏设计需求分析

合集下载

幼儿园大班数学《掷骰子》教案

幼儿园大班数学《掷骰子》教案

幼儿园大班数学《掷骰子》教案一、教学内容本节课选自幼儿园大班数学教材第四章《有趣的数字游戏》,详细内容为掷骰子游戏。

通过掷骰子,让幼儿认识数字,学会数数,培养幼儿的数学思维和动手操作能力。

二、教学目标1. 让幼儿认识骰子,知道骰子的结构及用途。

2. 培养幼儿通过掷骰子进行数数的能力,能正确找出对应的数字。

3. 培养幼儿在游戏中合作、分享、交流的良好品质。

三、教学难点与重点重点:掷骰子,认识数字,学会数数。

难点:能正确找出掷出的数字,并在游戏中运用。

四、教具与学具准备教具:骰子、教学卡片、数字贴纸。

学具:每组一个骰子、数字卡片。

五、教学过程1. 实践情景引入(5分钟)教师展示骰子,引导幼儿观察骰子的形状和颜色,激发幼儿兴趣。

邀请幼儿尝试掷骰子,观察骰子落地后的数字。

2. 例题讲解(10分钟)教师掷骰子,展示掷出的数字,引导幼儿认识数字,学习数数。

如掷出数字3,引导幼儿从1数到3。

3. 随堂练习(10分钟)幼儿分组,每组一个骰子,组内轮流掷骰子,其他幼儿找出对应的数字,并进行数数。

4. 游戏环节(10分钟)教师组织幼儿进行掷骰子比赛,比一比哪个小组掷出的数字最多。

在游戏中,培养幼儿的合作、分享、交流品质。

教师邀请幼儿分享在游戏中的收获,引导幼儿回顾本节课所学内容。

六、板书设计1. 骰子的结构及用途。

2. 掷骰子,认识数字,学会数数。

七、作业设计1. 作业题目:掷骰子,找出对应的数字,进行数数。

答案:掷出数字4,幼儿从1数到4。

2. 作业要求:家长协助幼儿完成作业,鼓励幼儿在家庭中进行掷骰子游戏。

八、课后反思及拓展延伸1. 引导幼儿观察骰子上的数字,探讨数字的排列规律。

2. 组织幼儿进行掷骰子比赛,培养幼儿的竞争意识和团队精神。

3. 结合其他数学游戏,巩固幼儿对数字的认识。

重点和难点解析1. 教学难点与重点的设定。

2. 教具与学具的准备。

3. 教学过程中的实践情景引入、例题讲解、随堂练习和游戏环节。

4. 作业设计和课后反思。

2024年幼儿园大班数学课精彩教案《掷骰子》含反思

2024年幼儿园大班数学课精彩教案《掷骰子》含反思

2024年幼儿园大班数学课精彩教案《掷骰子》含反思一、教学内容本节课选自幼儿园大班数学教材第四章《有趣的数字游戏》第三节《掷骰子》。

本节课通过掷骰子游戏,让幼儿学习数字的识别,了解数字的大小顺序,培养幼儿的数学逻辑思维能力。

二、教学目标1. 让幼儿能够认识并读出骰子上的数字,理解数字的意义。

2. 培养幼儿通过掷骰子进行数字比大小的能力,提高幼儿的观察力和判断力。

3. 通过游戏活动,培养幼儿合作、分享、交流的良好品质。

三、教学难点与重点重点:让幼儿掌握骰子数字的识别和比大小的方法。

难点:如何引导幼儿通过掷骰子游戏,培养其数学逻辑思维能力。

四、教具与学具准备教具:骰子、数字卡片、磁性白板、磁性数字。

学具:每组一个骰子、数字卡片、磁性数字。

五、教学过程1. 实践情景引入(5分钟)通过讲述小熊掷骰子找朋友的故事,激发幼儿对掷骰子游戏的兴趣。

2. 例题讲解(10分钟)(1)展示骰子,让幼儿观察并说出骰子上的数字。

(2)教师掷骰子,引导幼儿读出骰子上的数字,并比一比大小。

(3)讲解掷骰子比大小的规则,让幼儿理解数字的大小顺序。

3. 随堂练习(10分钟)(1)幼儿分组,每组一个骰子,进行掷骰子游戏,比一比谁掷出的数字大。

(2)教师巡回指导,纠正幼儿在比大小过程中出现的问题。

(2)引导幼儿思考:如何用数字卡片和磁性数字表示掷骰子的结果?六、板书设计1. 骰子上的数字:1、2、3、4、5、62. 数字比大小规则:数字越大,表示的点数越多。

七、作业设计1. 作业题目:掷骰子,比大小。

答案:幼儿在家中与家长一起进行掷骰子游戏,记录每次掷出的数字,比一比大小。

2. 作业题目:用数字卡片和磁性数字表示掷骰子的结果。

答案:幼儿将掷骰子的结果用数字卡片和磁性数字表示在磁性白板上。

八、课后反思及拓展延伸1. 反思:本节课通过掷骰子游戏,让幼儿掌握了数字的识别和比大小的方法。

但在教学过程中,要注意引导幼儿观察骰子上的数字,避免出现观察不仔细的情况。

掷骰子游戏设计需求分析

掷骰子游戏设计需求分析

目录一、掷骰子游戏设计需求分析 (1)二、类关系图和类成员函数 (3)三、模块的设计分析 (4)四、存在的问题与不足及总结 (7)五、使用说明(操作手册) (8)六、程序源代码 (9)一掷骰子游戏设计需求分析一、掷骰子游戏需求:1、假如有n个学生排成一圈,编号从1到n,每个人有初始积分,不防设为100。

2、从1号开始掷骰子,骰子出现后,根据点数减去掷骰人的相应积分,如减去10*(6-点数),然后根据点数多少,就依次向后数掷骰的点数同等数量的人,被数到的最后一个人继续掷骰子,计算积分,依此类推。

3、如果某人掷骰后,其积分小于等于0则出列,余下的人继续按照此法进行游戏,直到剩下最后一个人,为胜利者。

4、要求打印每次出列的人的编号,掷骰子的次数,当前积分。

并打印最后胜利者的相应信息。

5、要求用环链表以及类来实现这个程序。

6、选做:问掷骰m次后,还剩下几个人积分多少,显示出来。

二、游戏实现方式:为了实现游戏的上述功能,在整个程序的设计中构造了一个游戏类(class player)。

下面是游戏类(class player)的成员函数实现的功能:1、成员函数Player(char *pName,int id )用于储存参赛者的姓名和他们的编号;2、成员函数Player::Integral(int number)用于计算参赛者的当前积分和掷骰子的次数。

3、成员函数Player::Initial( )用于创建参赛者的链表。

4、成员函数Player::Game( )用于判断是否要有参赛者出列并记录当前参赛者的信息和掷骰子的次数、点数。

5、成员函数Display( )用于打印本次游戏打印每次出列的人的编号,掷骰子的次数和最后胜利者的相应信息。

二类关系图和类主要成员函数和成员变量code //每位参赛者的编号count //每位参赛者掷骰子的次数score //参赛者的积分name[20] //参赛者的姓名numOfPlayer //参加游戏总人数三 模块的设计分析1.游戏类(class Player)的说明1).构造函数Player(char *pName,int id)用于储存参赛者的姓名和他们的编号;先是从程序中输入参赛者人数,通过DOS 屏幕的提示依次输入参赛者的姓名,系统会自动给参赛者编号,而这些信息由构造函数Player 储存。

幼儿园游戏教学:掷骰子活动教案

幼儿园游戏教学:掷骰子活动教案

幼儿园游戏教学:掷骰子活动教案幼儿园游戏教学:掷骰子活动教案在幼儿园的教学活动中,游戏教学是一种非常重要的教学方式。

游戏教学可以提高幼儿的学习兴趣,激发他们的学习动力,培养他们的团队合作精神和动手能力。

其中,掷骰子活动是一种非常适合幼儿园教学的游戏方式,下面我们将深入探讨掷骰子活动的教学方法和教案设计。

一、教学目标1. 帮助幼儿认识骰子及其点数。

2. 培养幼儿的观察和计数能力。

3. 提高幼儿的团队合作意识。

二、教学准备1. 骰子。

2. 游戏棋盘或游戏地图。

3. 游戏道具或小奖品。

三、教学步骤1. 游戏介绍(5分钟)通过简单生动的方式,引导幼儿了解掷骰子游戏的规则和玩法,激发他们的兴趣。

2. 游戏示范(10分钟)教师向幼儿展示掷骰子的方法,并给出示范。

同时指导幼儿如何观察骰子点数,并根据点数在游戏棋盘上前进步数。

3. 分组游戏(15分钟)将幼儿分成若干小组,每组4-5人,进行掷骰子游戏。

教师在旁辅助指导和观察,并适时给予鼓励和肯定。

4. 游戏总结(5分钟)游戏结束后,教师与幼儿一起总结游戏过程中的收获和体会,引导他们表达自己的感想和体会。

同时给予肯定和表扬。

四、教学评估通过观察幼儿在游戏中的表现,包括点数观察、前进步数的计算、团队合作等方面,来评估幼儿的学习情况和能力表现。

五、教学延伸1. 鼓励幼儿设计自己的掷骰子游戏规则和游戏地图。

2. 组织幼儿进行掷骰子比赛,培养他们的竞争意识和团队合作精神。

六、教学反思1. 掷骰子游戏教学可以很好地结合数字、运动和团队合作等多种元素,是一种非常有效的幼儿教学方式。

2. 教师在游戏教学中应注重引导与观察,及时给予肯定和鼓励,激发幼儿的学习兴趣和积极性。

教师对于掷骰子活动的理解:掷骰子活动不仅是一种简单的游戏,更是一种有效的教学方式。

通过这种活动,幼儿可以在玩乐中学习,增强对数字的认识和运用能力,培养观察和计数能力,同时也能锻炼团队协作意识。

教师在设计掷骰子活动时,要根据幼儿的实际情况和学习特点,合理设置游戏规则和要求,引导幼儿在愉快的氛围中学习成长。

幼儿园大班数学优质教案《掷骰子》

幼儿园大班数学优质教案《掷骰子》

幼儿园大班数学优质教案《掷骰子》一、教学内容本节课选自幼儿园大班数学教材第七章《有趣的数字游戏》,详细内容为掷骰子游戏。

通过掷骰子,让幼儿认识数字16,掌握数字的大小顺序,并学会进行简单的加减运算。

二、教学目标1. 让幼儿能够熟练地认识数字16,并理解其大小顺序。

2. 培养幼儿进行简单的加减运算能力,提高他们的逻辑思维能力。

3. 培养幼儿在游戏中合作、交流的能力,提高他们的团队协作意识。

三、教学难点与重点教学难点:数字的大小顺序以及简单加减运算。

教学重点:掷骰子游戏的规则以及数字16的认识。

四、教具与学具准备1. 教具:掷骰子盒、数字卡片、磁性白板、白板笔、磁性数字贴。

2. 学具:每组一个掷骰子盒、数字卡片、磁性数字贴。

五、教学过程1. 实践情景引入(5分钟)教师邀请幼儿参与一个有趣的游戏,掷骰子比大小。

通过游戏,让幼儿初步感知数字的大小顺序。

2. 新课导入(10分钟)(1)教师展示掷骰子盒,引导幼儿观察骰子上的数字,让幼儿尝试说出数字16。

(2)教师通过磁性白板,展示数字卡片,让幼儿按顺序排列数字16。

(3)教师讲解掷骰子的方法,并示范如何进行游戏。

3. 例题讲解(10分钟)教师通过磁性白板,演示掷骰子游戏的过程,讲解游戏规则,引导幼儿学习加减运算。

4. 随堂练习(10分钟)幼儿分组进行掷骰子游戏,教师巡回指导,帮助幼儿解决游戏中遇到的问题。

六、板书设计1. 数字卡片:1、2、3、4、5、62. 掷骰子游戏规则3. 加减运算示例七、作业设计1. 作业题目:掷骰子游戏记录表,记录每次掷出的数字及进行加减运算的结果。

答案示例:(1)掷出数字3,加2等于5。

(2)掷出数字6,减1等于5。

2. 家庭作业:与家长一起进行掷骰子游戏,记录游戏过程,并进行加减运算。

八、课后反思及拓展延伸1. 教师反思:关注幼儿在游戏中的表现,分析他们在数字认识和加减运算方面的掌握程度,为后续教学提供依据。

2. 拓展延伸:开展相关主题活动,如制作数字卡片、进行数字排序等,巩固幼儿对数字的认识和加减运算能力。

幼儿园数学游戏教案《掷骰子》 幼儿园数学游戏

幼儿园数学游戏教案《掷骰子》 幼儿园数学游戏

一、教学目标1. 让幼儿了解骰子的基本形态和数字2. 帮助幼儿提高数学计算能力3. 培养幼儿的合作意识和团队精神二、教学准备1. 骰子2. 游戏规则卡3. 计分板4. 小奖品三、教学步骤1. 引入介绍骰子的形态和数字,让幼儿认识骰子,激发幼儿对游戏的兴趣。

2. 游戏规则将幼儿分成若干小组,每组一名教师指导。

每个小组轮流掷骰子,根据掷出的点数进行相应的数学计算。

若掷出的是4点,那么幼儿需要计算4+3=7,然后在计分板上记分。

最终获得最高分的小组将获得小奖品。

3. 游戏实施让幼儿按照规定的步骤进行游戏,鼓励幼儿之间相互合作,共同完成游戏任务。

四、教学效果1. 观察每个幼儿的表现,评价他们在游戏中的数学计算能力和合作意识。

2. 记录幼儿在游戏中的发挥,及时给予表扬和建议。

3. 总结游戏过程中存在的问题,为下一次游戏做好准备。

五、教学反思1. 发现幼儿在游戏中的不足之处,并采取相应的教学措施加以纠正。

2. 总结幼儿在游戏中的表现,提出对教学方法的改进建议。

3. 整理游戏教案,及时与家长沟通并取得反馈。

六、家长配合1. 持续关注孩子在游戏中的表现,积极配合教师的指导。

2. 鼓励孩子参与数学游戏,培养孩子的数学兴趣和能力。

3. 与教师保持沟通,了解孩子在数学游戏中的表现和成长情况。

七、结语通过“掷骰子”数学游戏教案的实施,幼儿将在游戏中学到知识,提高数学计算能力,培养合作意识和团队精神。

家长的积极配合也将有助于孩子的全面发展。

希望以此教案为契机,不断创新教学方法,为幼儿的数学教育提供更好的帮助。

教学效果1. 观察每个幼儿的表现,评价他们在游戏中的数学计算能力和合作意识。

在游戏过程中,教师需要仔细观察每个幼儿的表现,包括他们对骰子数字的认知能力、数学计算的准确性以及在小组中的合作和交流能力。

通过观察,教师可以更全面地了解每个幼儿的数学基础和合作能力,从而为后续的教学提供有针对性的帮助。

2. 记录幼儿在游戏中的发挥,及时给予表扬和建议。

幼儿园大班数学《掷骰子》优质教案

幼儿园大班数学《掷骰子》优质教案

幼儿园大班数学《掷骰子》优质教案一、教学内容本节课选自幼儿园大班数学教材第六章《有趣的数字》,详细内容为掷骰子游戏。

通过掷骰子,让幼儿了解数字的随机性和数的概念,培养幼儿的数学思维和动手操作能力。

二、教学目标1. 让幼儿掌握掷骰子的基本方法,了解数字的随机性。

2. 培养幼儿观察、分析数字的能力,提高幼儿的数学思维。

3. 培养幼儿在游戏中合作、交流的能力,增强团队意识。

三、教学难点与重点难点:让幼儿理解数字的随机性,提高幼儿的分析能力。

重点:掷骰子的方法,观察、分析骰子上的数字。

四、教具与学具准备教具:骰子、教学课件、磁性黑板、数字卡片。

学具:每组一个骰子、记录表、画笔。

五、教学过程1. 实践情景引入(5分钟)教师展示骰子,引导幼儿观察骰子的形状、颜色和数字。

邀请一名幼儿上前掷骰子,其他幼儿观察并说出掷出的数字。

2. 例题讲解(10分钟)教师通过课件,讲解掷骰子的方法,让幼儿了解数字的随机性。

结合骰子,引导幼儿观察、分析每个面上的数字。

3. 随堂练习(10分钟)幼儿分组进行掷骰子游戏,每组选一名代表掷骰子,其他成员记录掷出的数字。

每组轮流进行,教师巡回指导。

教师邀请各组分享掷骰子的结果,引导幼儿观察、分析数字出现的概率。

5. 课堂小结(5分钟)教师回顾本节课所学内容,巩固幼儿对数字随机性的理解。

鼓励幼儿在日常生活中观察、探索数字的奥秘。

六、板书设计1. 骰子形状、颜色和数字分布图。

2. 掷骰子方法示意图。

3. 数字随机性表格。

七、作业设计1. 作业题目:掷骰子游戏记录。

请幼儿与家长共同完成10次掷骰子,记录每次掷出的数字。

家长引导幼儿分析数字出现的概率,讨论游戏中的趣事。

2. 答案:无固定答案,鼓励幼儿分享记录结果和心得。

八、课后反思及拓展延伸2. 拓展延伸:邀请家长参与课堂,共同开展掷骰子游戏,增进亲子关系。

开展“数字王国”主题活动,让幼儿在游戏中深入了解数字的奥秘。

组织幼儿进行户外探索,寻找生活中的数字,培养幼儿的观察力。

大班数学活动:掷骰子

大班数学活动:掷骰子

大班数学活动:掷骰子引言掷骰子是一种易于理解、受到孩子们喜爱的数学活动。

它不仅能够培养孩子对概率的认识,还能够加深他们对数字的理解与计算,提高他们的数学能力。

本文将介绍如何利用掷骰子这个活动来进行大班数学课堂的学习,并从实践中总结经验与教材设计。

背景在幼儿园教学中,大班的学生对数字及数学有一定的掌握,懂得简单的加减法并能够数数。

但是,他们的注意力不易集中,需要生动有趣的教学方式来吸引他们的注意力。

而掷骰子这种实物化的数学游戏,能够吸引孩子的关注,让孩子通过游戏的方式认识数字与数学。

活动设计1. 游戏规则首先,我们需要讲解游戏规则。

我们可以使用一张掷骰子的插图,在孩子面前展示并解释骰子的数字规则,即从1到6的数字。

接下来,我们可以让孩子看一些简单的例子来帮助他们理解游戏规则。

2. 游戏内容接下来,我们会将掷骰子的游戏内容与数学教学相结合。

例如,我们可以让孩子们掷骰子,将得到的点数抛到一个数字表格上。

然后,我们可以设计一些数字运算问题,如 1 + 2 或 4 - 3 等等,并让孩子们按照相应的数字回答。

孩子们可以使用手指或计数器来计算答案。

这样一来,掷骰子游戏不仅仅是普通的点数游戏,而是一次关于数字运算的练习。

3. 实践经验在实践中,我们可以将孩子们分成小组,并适当调整游戏规则与难度。

在教学过程中,我们可以给孩子们一些奖励或鼓励,如铅笔、图章等小奖品。

通过这些奖励,我们可以鼓励孩子们更加投入学习,并对他们的表现进行激励。

教材设计针对大班孩子的掷骰子数学活动,我们可以设计一些教材,方便教师们的教学。

这些教材可以包括规则说明、游戏内容设计、数字表格等内容。

在设计过程中,我们需要注意以下几点:1. 游戏难度我们需要考虑孩子的年龄、数学水平等因素,适当调整游戏的难度。

游戏应该足够简单,让孩子们能够理解和接受。

2. 游戏规则游戏规则应该简单明了,方便孩子们理解。

我们可以通过插图、图表等形式来帮助孩子们理解掷骰子的规则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、掷骰子游戏设计需求分析 (1)二、类关系图和类成员函数 (3)三、模块的设计分析 (4)四、存在的问题与不足及总结 (7)五、使用说明(操作手册) (8)六、程序源代码 (9)一掷骰子游戏设计需求分析一、掷骰子游戏需求:1、假如有n个学生排成一圈,编号从1到n,每个人有初始积分,不防设为100。

2、从1号开始掷骰子,骰子出现后,根据点数减去掷骰人的相应积分,如减去10*(6-点数),然后根据点数多少,就依次向后数掷骰的点数同等数量的人,被数到的最后一个人继续掷骰子,计算积分,依此类推。

3、如果某人掷骰后,其积分小于等于0则出列,余下的人继续按照此法进行游戏,直到剩下最后一个人,为胜利者。

4、要求打印每次出列的人的编号,掷骰子的次数,当前积分。

并打印最后胜利者的相应信息。

5、要求用环链表以及类来实现这个程序。

6、选做:问掷骰m次后,还剩下几个人积分多少,显示出来。

二、游戏实现方式:为了实现游戏的上述功能,在整个程序的设计中构造了一个游戏类(class player)。

下面是游戏类(class player)的成员函数实现的功能:1、成员函数Player(char *pName,int id )用于储存参赛者的姓名和他们的编号;2、成员函数Player::Integral(int number)用于计算参赛者的当前积分和掷骰子的次数。

3、成员函数Player::Initial( )用于创建参赛者的链表。

4、成员函数Player::Game( )用于判断是否要有参赛者出列并记录当前参赛者的信息和掷骰子的次数、点数。

5、成员函数Display( )用于打印本次游戏打印每次出列的人的编号,掷骰子的次数和最后胜利者的相应信息。

二类关系图和类主要成员函数和成员变量code //每位参赛者的编号count //每位参赛者掷骰子的次数score //参赛者的积分name[20] //参赛者的姓名numOfPlayer //参加游戏总人数三 模块的设计分析1.游戏类(class Player)的说明1).构造函数Player(char *pName,int id)用于储存参赛者的姓名和他们的编号;先是从程序中输入参赛者人数,通过DOS 屏幕的提示依次输入参赛者的姓名,系统会自动给参赛者编号,而这些信息由构造函数Player 储存。

2).Player::Integral(int number) 用于计算参赛者的当前积分和掷骰子的次数。

通过构造函数 Integral ()来计算参赛者的当前积分和掷骰子的次数。

另外该函数被后面的Game ()函数调用,用于判断是否有参赛者出列。

3).析构函数Player::~Player() 。

因为分配了堆内存,所以当程序结束时要把空间给释放。

4). Player::Initial()用于创建参赛者的链表。

Player * ps;//创建的结点指针Player * pend;//链尾指针,用于在其后面插入结点ps=new Player(pName,id);//新建一个结点,准备插入链表 5).Display( )用于打印本次游戏打印每次出列的人的编号,掷骰子的次数和最后胜利者的相应信息。

6).Player::Game( )用于判断是否要有参赛者出列并记录当前参赛者的信息和掷骰子的次数、点数。

在函数中求掷骰子的点数时用到了随机函数的模块,下面的文本框为骰子点数功能的实现。

除链表条件的判断调用了上面的Player::Integral函数。

四存在的问题与不足及总结存在的问题与不足:1、进行游戏时,系统总是显示出“内存不能读”的对话框;2、选做的“问掷骰m次后,还剩下几个人积分多少,显示出来”没有成功,我当时做的时候出现了重新骰子数的情况,而不是打印出刚刚出现的掷骰m次后积分。

总结:在本程序是我只创建了一个游戏类。

各个功能的实现是通过调用类中的静态函数得已实现的。

因为静态函数不仅可以不创建类对象也可以直接使用,并且可以访问类中的保护数据成员,所以基本的功能实现都是以类的静态函数来编写的。

程序都是用链表的方式做的,因为链表比起数组可以节省不必要的内存空间分配,可以仅当需要是再分配新的空间。

数组的空间分配是有限制的,而链表可以达到无限制的空间分配。

五掷骰子游戏使用说明书(操作手册)用户首先进入软件界面主菜单:1、按照屏幕的提示输入参赛人数;2、同样按照提示输入参赛者的姓名;3、按任意键游戏开始;4、屏幕上将会打印出整个游戏过程中所有参赛者的信息,包括出列者的和最后胜利者的信息;5、本次游戏结束后,如果想继续玩请输入‘Y’或‘y’,输入其他字符将退出游戏。

六程序源代码#include<iostream>using namespace std;#include<string.h>#include <time.h>#include <stdlib.h>class Player{public:Player(char *,int );int Integral( int number);//参赛者的积分函数static void Initial(); //创建参赛者的链表static void Game();//参赛者void Display();~Player();protected:int code; //每位参赛者的编号int count; //每位参赛者掷骰子的次数int score; //参赛者的积分char name[20];//参赛者的姓名static int numOfPlayer;//参加游戏总人数static Player * head;Player * next;};Player * Player::head;int Player::numOfPlayer;void Player::Initial(){int id;int m;Player * ps;//创建的结点指针Player * pend;//链尾指针,用于在其后面插入结点cout<<endl<<"**************************************************\n\n"<<" 欢迎进入掷骰子游戏\n\n"<<"**************************************************\n\n"<<" 比赛规则:每人初始积分为100分,从1号开始掷骰子,骰子出现后,"<<"根据点数减去掷骰人的相应积分,如减去10*(6-点数),然后"<<"根据点数多少,就依次向后数掷骰的点数同等数量的人,被数到的"<<"被数到的最后一个人继续掷骰子,计算积分,依此类推。

"<<"如果某人掷骰子后,其积分小于等于0则出列,余下的人继续按照此法进行游戏,直到剩下最后一个人,为胜利者。

"<<endl<<endl<<endl;while(1){ cout<<"下面请输入参赛者人数:";cin>>m;numOfPlayer=m;for(id=1;id<=m;id++){cout<<"请输入"<<id<<"号参赛者的姓名:";char pName[20];cin>>pName;ps=new Player(pName,id);//新建一个结点,准备插入链表if(head==NULL)head=ps;elsepend->next=ps;pend=ps;cout<<pName<<endl<<"已成功加入"<<endl<<endl;}break;}pend->next=head;}Player::Player(char *pName,int id){code=id;score=100;count=0;strcpy(name,pName);}Player::~Player(){Player *t;Player *p=head;for(int i=1;i<=numOfPlayer;i++){t=p;if(i!=numOfPlayer){ p=p->next;}delete t;}}int Player::Integral(int number) //构造参赛者的积分函数{count=count+1;score-=(6-number)*10;if(score<=0)return 0;elsereturn 1;}void Player::Display() //打印参赛者信息{if(score<=0){cout<<endl<<endl<<"Sorry!经过本次掷骰子后,"<<code <<"号"<<name<<"出列\n其当前积分为:"<<score<<"分\n他掷过骰子的次数为:"<<count<<"次"<<endl<<endl;}else{cout<<endl<<endl<<"本次掷骰子游戏结果: "<<code<<"号"<<name<<"胜利\n其当前积分为:"<<score<<"分\n他掷过骰子的次数为:"<<count<<"次"<<endl<<endl;}}void Player::Game(){int j=0;//记录删除的人数;Player * pCurrent=head;//当前结点指针Player *pviot;//链表哨兵srand( (unsigned)time( NULL ) ); //随机函数do{ int numOfdice;//骰子数int q;static int k=0;k++;q=rand();numOfdice=q%6+1;//得到一个1-6的数cout<<"第"<<k<<"次掷骰子数为:"<<numOfdice;int del=pCurrent->Integral(numOfdice);if(del==0)//判断是否要删除{ pCurrent->Display();pviot->next=pCurrent->next;pCurrent=pviot;j++;}for(int i=1;i<=numOfdice;i++){pviot=pCurrent;pCurrent=pCurrent->next;}int LeftNum=numOfPlayer-j;//剩下的人数cout<<endl<<"当前还在游戏的人有"<<LeftNum<<"位,他们的信息为:"<<endl;Player * Guard=pCurrent;for(int n=1;n<=LeftNum;n++){cout<<Guard->code<<"号——当前积分:"<<Guard->score<<"分"<<endl;Guard=Guard->next;}cout<<"********************************"<<endl<<endl<<endl;}while(j<numOfPlayer-1);pCurrent->Display();}void main(){char j;char y;Player::Initial();cout<<"输入任意字符游戏开始"<<endl;cin>>j;cout<<"游戏开始\n\n\n\n";Player::Game();cout<<"想继续玩此游戏吗?输入'y'或'Y'则继续,输入其他字符则退出游戏。

相关文档
最新文档