网站大量收购独家精品文档,联系QQ:2885784924

C语言课程设计实验报告-.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. PAGE . 实验报告 课程名称: C语言课程设计 实验项目: 五子棋游戏设计 专业班级: 计专1502 姓 名: 孙奇 学 号: 248150203 实验室号: 实验组号: 实验时间: 批阅时间: 指导教师: 成 绩: 沈阳工业大学实验报告 (适用计算机程序设计类) 专业班级: 计专1502 学号: 248150203 姓名: 孙奇 实验名称:五子棋游戏设计 1.实验内容: (1)掌握C语言的基本语法结构、程序设计方法和一些常见的算法; (2)掌握对程序排查错误的能力。 2.实验内容: (1)实现双人对战的简单步骤和规则,能够判断输赢; (2)双方轮流使用键盘的“↑”、“↓”、“←”、“→”键控制棋子在屏幕上的位置,按“空格”键放置棋子,判断棋子应放置在棋盘范围内且不能已经有棋子,否则使用扬声器提示不能放置; (3)当一方的棋子数在行、列或对角线上连续达到5个(无禁手判断),则为胜方,在屏幕上显示胜利一方,按任意键退出程序。 3. 实验方案(程序设计说明) (1)算法设计思路 棋盘设计为19×19格,初始状态光标在棋盘的左上,黑棋先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束。当游戏一方胜利后显示胜利信息。从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是0代表无棋子,1代表黑棋,2代表白棋。这样程序的主要工作是接收棋手按键操作,双方轮流使用键盘的“↑”、“↓”、“←”、“→”键控制光标移动,空格键表示落子。一旦接收到空格键,说明棋手落子,先判断是否是有效位置,也就是说棋子应在棋盘内或棋盘的空位置上,无效位置时利用扬声器发声警示。落子成功后,马上判断以该位置为中心的八个方向相邻的是否有相同颜色的棋子连成五子,如果连成五子,则游戏结束,输出胜利一方的信息。如果想在对弈的过程中退出游戏,可以按Esc键。 (2)程序功能流程图 4.程序运行结果 (1)规则界面 (2)对弈界面 (3)获胜界面 5.出现的问题及解决方法 (1)游戏开始时,棋子原来初始在棋盘中央,一旦中央落子后,初始棋子与已有棋子重叠,为了解决问题将初始棋子移动到棋盘左上方棋盘以外。 (2)棋子都为空心圆,在棋盘不好区分正在控制的棋子,改为已确定落子的棋子为实心圆,正在控制的棋子为空心圆。 附件A 沈阳工业大学实验报告 (适用计算机程序设计类) 专业班级: 计专1502 学号:248150203 姓名: 孙奇 实验程序: 本程序在Windows XP SP3操作系统及Turbo C 2.0开发环境下调试通过。 #includestdio.h #includestdlib.h #includegraphics.h #includebios.h #includeconio.h #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b #define SPACE 0x3920 #define BILI 20 #define JZ 4 #define JS 3 #define SIZE 19 int box[SIZE][SIZE]; int step_x,step_y; int key; int flag=1; void attentoin(); void draw_box(); void draw_cicle(int x,int y,int color); void draw_slice(int x,int y,int color); void change(); void judgewho(int x,int y); void judgekey(); int judgeresult(int x,int y); void attention() { char ch; window(1,1,80,25); textbackground(LIGHTBLUE); textcolor(YELLOW); clrscr(); gotoxy(15,4); print

您可能关注的文档

文档评论(0)

hkfgmny + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档