五子棋源程序.doc_第1页
五子棋源程序.doc_第2页
五子棋源程序.doc_第3页
五子棋源程序.doc_第4页
五子棋源程序.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计基础(C语言)课程设计题目:简易五子棋软件设计 院(系、部): 信 息 工 程 学院 姓 名: 吴 云 峰 班 级: 通 0 9 1 2010年 7 月 7 日北京课设内容简易五子棋软件设计功能:在单机上通过操作键盘来进行二人对战,五个棋子连在一起时能显示输赢。基本要求:1. 键盘上事先设定8个按键,分作两组,每组四个,分别代表两个人用来控制棋子的上下左右键。2. 绘制棋盘,15条横线,15条竖线,在直线交点处下棋子(实心圆形)。3. 红子先行,红白交替下子,在棋盘上设定一个与棋盘格大小边长相等的正方形,初始状态,正方形的中心位于期盼的中心点。当一方欲走棋的时候,应用四个按键来控制所要下棋的位置,每按一次按键,正方形都要向相应方向移动一个格,但不能让其移出边界。当按下回车键时,应在正方形所在位置放下一个棋子,然后此组按键不能操作,换另一个人下棋,用另一组按键,规则同前。4. 当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示红方或白方胜利。棋局结束后,任何一方均不能继续操作。相关知识:图形绘制、音乐制作、键盘响应功能扩充:(1)可以设置一个按键,用来悔棋。并且让喇叭发出某种声音,将要移出边界时,发出另一种警告声音 (2)其他自己定义的功能。目 录1 总体设计 12 模块划分 13 各算法说明 34程序测试 105结论 106体会及建议 107推荐的参考资料 10 8 附录 101总体设计函数说明:1. init():初始化函数2. initgraph():图形系统初始化函数3. registerbgidriver():程序中,initgraph()调用前要用 registerbgidriver()进行登记4. show():在界面中输出汉字5. drawmat():输出函数的代码6. clew():输入提示信息7. drawqp():画棋盘8. bar():输入一个二维条形图9. gameplay():开始游戏10. cleardevice():清屏函数,保留初始图形11. closegraph():关闭图形系统,回到文本模式12. place():光标位置函数13. win():判断是否获胜14. bioskey():函数功能: 利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,值只能为0、1、2,具体含义如下: 0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该功能就是如果按键队列中有按键,那么读取队列首位的按键,并返回按键值;否则等待键盘按键出现。( 其中按键值的高字节为扫描码,低字节为ASCII码) 1:如果按键队列中没有按键,那么返回零,否则返回非零。 2:返回特殊按键Shift、Ctrl、Alt等键的按键状态。15. delay():函数功能: 使程序延迟指定的时间长度 ;括号中的数字单位是毫秒 2 模块划分3 算法说明本游戏设计的是一款子棋游五戏,在设计中,我们最主要的是通过建立一个二维数组Yes【16】【16】来代表记录棋盘上各点信息,通过宏定义将棋手定义成整型值,便于记录,例如:当在棋盘左上顶点处1号棋手下了一粒白子后,就将Yes【0】【0】这个值记为2,这样就把下棋信息记录下来了,这就是所谓的棋型表,之后的判断胜负,棋手下棋都是通过搜索这个数组来作出相应判断和操作主控模块中,为实现交换棋手,通过一个中间值step来实现,设一个初值,为0,然后每个棋手下完后,进行step自增,这样通过选择判断,if(step%2=0),则2号棋手下棋,否则1号棋手下棋,主循环用while(1)不断循环判断执行为动态显示下棋顺序,是通过书写覆盖,再书写再覆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论