为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

约瑟夫生死游戏课程设计

2018-01-15 11页 doc 58KB 112阅读

用户头像

is_447713

暂无简介

举报
约瑟夫生死游戏课程设计约瑟夫生死游戏课程设计 第一章 问题背景 约瑟夫生死游戏是一款生死抉择的游戏,由于某种原因,需要在一群人中踢出一部分人,被踢出的人将会面临死亡的威胁,因此大家都不想成为那个被踢除的那个人,但是又必须踢出一些人才能保证其他人的安全,你的位置会影响你的生死,所以位置的选择很重要。 1 第二章 系统分析 2.1系统总需求 如果有r个人,需要剔除w个人,让他们围成一个圈,由第一个人数起,依次报数,数到第s个人,便把他剔除,然后再从他的下一个人数起,数到第s个人,再将他剔除,直至剔除了w个人时停止,没剔除的则生还。 2.2 ...
约瑟夫生死游戏课程设计
约瑟夫生死游戏课程 第一章 问背景 约瑟夫生死游戏是一款生死抉择的游戏,由于某种原因,需要在一群人中踢出一部分人,被踢出的人将会面临死亡的威胁,因此大家都不想成为那个被踢除的那个人,但是又必须踢出一些人才能保证其他人的安全,你的位置会影响你的生死,所以位置的选择很重要。 1 第二章 系统分析 2.1系统总需求 如果有r个人,需要剔除w个人,让他们围成一个圈,由第一个人数起,依次报数,数到第s个人,便把他剔除,然后再从他的下一个人数起,数到第s个人,再将他剔除,直至剔除了w个人时停止,没剔除的则生还。 2.2 功能需求 约瑟夫生死游戏能够精确的找到死亡者的位置,并且能够灵活的确定剔除第几个人,以及要剔除多少人,并且能够对很多人的情况下迅速确定生者和死者的位置。 整个游戏主要分为几个模块:队列初始化,入队,查找死亡位置,排序,生者位置的确定,输出死者位置。 队列初始化:对队列中每个人进行初始化。 入队:对每个人进行赋值,并且进行入队操作。 查找死亡位置:通过一控制块控制入队,出队,从而找到死亡位置,并且把死亡位置保存到数组。 排序:把死亡位置按从小到大进行排序,以便观看结果。 生者位置的确定:通过已经确定的死亡位置来确定生者位置,并对生者位置进行输出。 输出死者位置:对已排序的死亡位置进行输出。 2.3 数据需求 第i个人员信息=i-1; 总人数; 踢除第几个人; 剔除人数; 2 第三章 系统设计 3.1 系统体系结构 约瑟夫生死游戏通过通过一控制块控制入队,出队,找到死亡位置,从而确定生者位置。主要包括确定死亡位置和确定生者位置。约瑟夫的软件结构如图3.1所示。 约瑟夫生死游 戏 确定死亡位确定生者位 置 置 图3.1系统结构 3.2 各子功能模块设计 3.2.1确定死亡位置 (1)功能:通过通过一控制块控制入队,出队,找到死亡位置,并保存死亡位置。 (2)程序图:约瑟夫生死游戏的程序流程图如图3.2所示。 3 开始 剔除人数是否小 于总死亡数 是 否 入队,出队控制块 剔除,并保存 符合 进行剔除的位置 判断 进行入队, 出队操作 剔除人数加 一 结束 图3.2 确定死亡位置 3.3 数据结构设计 3.3.1员工信息 数据结构设计人员信息 包括每个人员位置对应的值,以及队头,队尾的位置。 typedef struct { DATATYPE data[maxsize];//队中元素 int front,rear; //队头元素下标、队尾元素后面位置的下标 } SEQQUEUE; 4 第四章 系统实现 4.1人机交互部件 本系统的一个重要特点就是系统启动之后,同时显示主窗口,主窗口为可用, 必须在主窗口中进行赋值才可运行。 输入与显示为: 主要代码为: //队列的插入 for(i=0;i<=r-1;i++) { temp=i; QueueIn(&game,temp); } //找出死亡位置,并保存到数组p[m] for(m=0;m<=w-1;) { n=0; for(n=0;n=w) break; } //将死亡位置从小到大输出 for(m=0;mp[j]) {t=p[m]; p[m]=p[j]; p[j]=t; } } //找到生者位置并输出 for(y=1;y<=r;y++) { for(j=h;j<=w-1;) { z=p[j]; if(y!=z+1) { printf("生者的位置:"); printf("%d\n",y); break; } if(y==z+1) { h++; if(h>=w-1) h=w-1; break; } } 6 } //输出死亡者的位置 for(m=0;m
5.1.1 序 输入/动作 期望输出/相应 实际情况 号 输入人数:10 数到第几个人符合 1 则剔除:3 死亡的人数:4 输入人数:15 2 数到第几个人 则剔除:6 符合 死亡的人数:5 表5.1.1输入与显示 8 结 论 本游戏是一款生死抉择的游戏,由于某种原因,需要在一群人中踢出一部分人,被踢出的人将会面临死亡的威胁,因此大家都不想成为那个被踢除的那个人,但是又必须踢出一些人才能保证其他人的安全,你的位置会影响你的生死,所以位置的选择很重要,本游戏就起到了一个找到死亡位置的做用,其采用了数据结构中队列的,通过一控制块控制入队,出队,找到死亡位置,并保存死亡位置,这样,生者的位置就能通过死者的位置确定。 系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由个人设计的,,加之本人水平有限,代码过多,结构性不强,需要进行不断地补充和完善。 9 参考文献 [1]张乃孝.算法与数据结构.高等教育出版社.2010年11月,第二版 [2]杨路明.C语言程序设计教程.北京邮电大学出版社.2010年12月,第二版 [2]马石安.面向对象程序设计教程.清华大学出版社.2007年8月,C++语言描述 10 结束语 这次课程设计让我熟练掌握了队列,以及数组的动态内存申请,并且让我对与编写大程序的能力有较大的提升,同时也提高了我编写大程序时的全局思想能力,这次编程,我发现编写一些大程序对于提高编程能力有很大的帮助,能够把平时所学联系起来,对所学知识的真正理解有很大的帮助,这是我最大的收获。 同时,这次编程让我发现自己还有不足之处,编写的程序比较乱,结构不紧凑,可读性不强,这是我目前需要改进的。 11 目 录 第一章 问题背景 ......................................................................................................................... 1 第二章 系统分析 ........................................................................................................................... 2 2.1系统总需求 ........................................................................................................................ 2 2.2 功能需求 ........................................................................................................................... 2 2.3 数据需求 ........................................................................................................................... 2 第三章 系统设计 ............................................................................................................................. 3 3.1 系统体系结构 ................................................................................................................... 3 3.2 各子功能模块设计 ....................................................................................................... 3 3.2.1确定死亡位置 ........................................................................................................ 3 3.3 数据结构设计 ............................................................................................................... 4 3.3.1员工信息 ................................................................................................................ 4 第四章 系统实现 ............................................................................................................................. 5 4.1人机交互部件 .................................................................................................................... 5 4.2系统特点............................................................................................................................ 7 4.3关键技术............................................................................................................................ 7 第五章 系统测试 ........................................................................................................................... 8 5.1输入与显示: .................................................................................................................... 8 结 论................................................................................................................................................. 9 参考文献......................................................................................................................................... 10 结束语............................................................................................................................................. 11 12
/
本文档为【约瑟夫生死游戏课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索