




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 题 目 五子棋(双人对战)指导教师 曹东燕学生姓名 夏文龙 于文杰 邢健学 号 201000802032 201000802114 201000802097专 业 电子信息工程教学单位 物理系 (盖章) 目录 1设计内容与设计要求 11.1系统功能简介 1 1.2系统运行环境 12程序流程图 13运行的运行及说明 23.1系统的运行 23.2运行说明 44课程设计目的.5 程序特色.56总结 5附件:源程序清单51设计内容与设计要求1.1系统功能简介该系统是五子棋的人人对战模式,而非平常的人机对战系统有简单的菜单界面1.2系统运行环境Vc+6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。2程序流程图 开始白子落棋白子有五个在一条直线上黑子落棋黑子五个在一条直线上白子获胜黑子获胜结束是否否是 3系统的运行及说明 3.1系统的运行图3-1程序的初始化界面程序初始化的界面,界面简洁明快,便于观察。图3-2程序的运行界面图3-3程序的介绍界面3-2运行说明A向左 W向上 D向右 S向左 空格键 确定 当结束时按Y重新开始游戏按N退出游戏4课程设计目的五子棋游戏不仅能增强人们的抽象思维能力、逻辑推理能力、空间想象力,提高人们的记忆力、心算能力等,而且深含哲理,有助于修身养性。五子棋既有现代休闲方式所特有的特征“短、平、快” ,又有中国古典哲学所包含的高深学问“阴阳易理” ;它既有简单易学的特点,为人民群众所喜闻乐见,又有深奥的技巧;既能组织举办群众性的比赛、活动,又能组织举办高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观,它是中西方文化的交融点,也是中西方文化交流的一个平台。自从计算机作为游戏对战平台以来,各种棋类游戏如雨后春笋般纷纷冒出。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。同时具有简单易学、既动手又动脑的特点。同时也为锻炼自己的编程能力。5程序特色本程序简洁明快,采用黑白两色棋,并且本程序为双人对战。6总结通过这次实习,让我们初步有了编写系统的能力,我们对很多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的基本过程,和基本方法。编写软件的过程中我们又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。在这几天的编写过程中我们对c语言有了更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习。此次课程设计不仅给了我们很多很好的经验,也让我们体会到了失败时的焦急和难受,也体会到了成功时的兴奋与喜悦。附件:源程序清单#include #include #include void main()/q:20*20棋盘数据数组,0表示空,1表示黑棋,2表示白棋/h:游戏状态量,变化范围为0、1、2,0表示退出游戏,1表示初始化游戏数据,2表示进行游戏/i:循环辅助量/j:键盘输入结果/k:从二维坐标得到的一维数组下标/l:黑白子变化辅助量,变化范围为1、2,1为当前下的是黑棋,2为当前下的的是白棋/m:输赢判断结果,变化范围为0、1、2,0表示没有输赢,1表示黑棋赢,2表示白棋赢/x:游标的X坐标/y:游标的Y坐标char q400;int h, i, j, k, l, m, x, y;/第一次进入游戏循环,首先初始化游戏数据h = 1;while (h)if (h = 1)/初始化棋盘for (i = 0; i 400; +i)qi = 0;/初始化黑白子变化辅助量,黑棋先行l = 2;/初始化输赢判断结果,当前没有输赢m = 0;/初始化游标坐标x = y = 0;/初始化完毕进行游戏h = 2;else/清屏system(cls);/绘制棋子、棋盘for (i = 0; i 0 & i 380 & i 0 & (j = w | j = W)-y;if (y 0 & (j = a | j = A)-x;if (x 19 & (j = d | j = D)+x;/下子if (j = )/从二维坐标转换到一维数组索引k = y * 20 + x;/设置数据if (0 = qk)qk = (l = (l = 2) ? 1 : 2);/设置胜负判断结果m = 0;/左右胜负判断for (i = -4; i 1; +i)/边界判断 if (x + i 19)continue;else/得到最左边棋子的索引k = y * 20 + x + i;/连棋判断,若成立则修改胜负判断结果if (qk = qk + 1 &qk + 1 = qk + 2 &qk + 2 = qk + 3 &qk + 3 = qk + 4)m = l;break;/上下胜负判断for (i = -4; i 1; +i)/边界判断if (y + i 19)continue;else/得到最上边棋子的索引k = (y + i) * 20 + x;/连棋判断,若成立则修改胜负判断结果if (qk = qk + 20 &qk + 20 = qk + 40 &qk + 40 = qk + 60 &qk + 60 = qk + 80)m = l;break;/左上右下胜负判断for (i = -4; i 1; +i)/边界判断if (x + i 19 | y + i 19)continue;else/得到最左上边棋子的索引k = (y + i) * 20 + x + i;/连棋判断,若成立则修改胜负判断结果if (qk = qk + 20 + 1 &qk + 20 + 1 = qk + 40 + 2 &qk + 40 + 2 = qk + 60 + 3 &qk + 60 + 3 = qk + 80 + 4)m = l;break;/左下右上胜负判断for (i = -4; i 1; +i)/边界判断if (x + i 19 | y - i 19 | y - i - 4 0)continue;else/得到最左下边棋子的索引k = (y - i) * 20 + x + i;/连棋判断,若成立则修改胜负判断结果if (qk = qk - 20 + 1 &qk - 20 + 1 = qk - 40 + 2 &qk - 40 + 2 = qk - 60 + 3 &qk - 60 + 3 = qk - 80 + 4)m = l;break;/胜利结果选择if (m != 0)/打印胜利结果if (m = 1)printf(白棋胜利!n);elseprintf(黑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 备考必看嵌入式考试试题及答案
- 金属加工中的金属铸造工艺考核试卷
- 计算机四级网软件测试工程师简易备考试题及答案
- 行政组织理论的前沿技术探究试题及答案
- 跨境电商毛织品营销考核试卷
- 嵌入式系统开发行业动态试题及答案
- 软件开发与测试协作试题及答案
- 数据库中的多用户并发控制方案试题及答案
- 地产公司销控管理制度
- 奥迪服务前台管理制度
- 联合体内部协议
- 海南省近5年中考语文作文真题及模拟题汇编(含参考例文)
- 《数字经济概论》补充习题196道及答案 谢卫红
- 价值流PSI拉动畅流
- 金属百叶窗安装方案
- 电厂锅炉炉膛内脚手架施工方案
- 木家具制造工艺学-南京林业大学中国大学mooc课后章节答案期末考试题库2023年
- 小学六年级阅读理解说明文课件
- T-JAMIA 001-2023 超高强度聚乙烯纤维
- 内科-心内简答题(干货分享)
- 《MTP-中层管理技能提升训练》课件
评论
0/150
提交评论