- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语 言 课
程 设 计
学院:
班级:
姓名:
学号:
所在系:
指导老师:
20XX年12月22号
TOC \o 1-2 \h \z \u 一 题目和要求 3
二 问题提出 4
三 功效要求 5
1、实现人机对弈功效; 5
2、基础C作图方法及循环控制模块; 5
3、评分规则及胜败判定。 5
四 具体设计 6
1.程序中用到库函数所在头文件应用 #include 命令包含进来 6
2.定义符号常量: 6
3.定义棋盘交叉点坐标数据结构棋盘交叉点坐标数据结构 6
4.自定义函数原型说明 6
5.定义全局变量定义全局变量 6
6.主函数: 6
7.界面初始化,数据初始化: 6
8. 画棋盘 7
9.交换行棋方 7
10.获取按键值, 假如用户没有按键,空循环 7
11.落子错误处理 7
12.赢棋处理赢棋处理 7
13.走棋: 判定交叉点上有没有棋子, 若没有棋子, 则能够落子 7
14.判定目前行棋方落子后是否赢棋即判定在指定方向上是否有连续5个行棋方棋子 7
15.判定在指定方向上是否有连续5个行棋方棋子: 7
16.移动光标 8
17.游戏结束处理 8
18.显示目前行棋方 8
19.落子正确处理落子正确处理 8
20.检验用户按键类别: 8
五、 总体设计结构图 9
六、调试和测试 10
七 、下面是五子棋原程序 11
八. 程序设计总结 22
一 题目和要求
题目:五子棋
要求:利用C语言实现小型五子棋人机对弈游戏
二 问题提出
本人计划编一个五子棋游戏程序,关键是实现人机对弈功效。
三 功效要求
1、实现人机对弈功效;
2、基础C作图方法及循环控制模块;
3、评分规则及胜败判定。
四 具体设计
1.程序中用到库函数所在头文件应用 #include 命令包含进来
2.定义符号常量:
(1) 定义画棋盘所需制表符
(2) 定义棋盘左上角点在屏幕上位置
(3) 定义1 2号玩家操作键键码
(4) 定义游戏中途退出键
(5) 定义棋盘上交叉点状态并指出棋子归属
(6) 定义按键类别
(7) 定义真假符号常量
3.定义棋盘交叉点坐标数据结构棋盘交叉点坐标数据结构
4.自定义函数原型说明
5.定义全局变量定义全局变量
6.主函数:
(1) 初始化图象,数据
(2) 获取用户按键值
(3) 判定按键类别
(4) 定义退出键(
(5) 清屏
(6) 定义落子键(
(7) 定义走棋 落子错误和正确
(8) 假如目前行棋方赢棋退出循环标志置, 不然交换行棋方
(9)定义光标移动键和无效键
(10) 游戏结束
7.界面初始化,数据初始化:
(1) 先手方为1号玩家
(2) 棋盘数据清零
(3) 光标初始位置
(4) 显示操作键说明
(5) 显示目前行棋方
(6) 光标移至棋盘左上角点处
8. 画棋盘
(1) 画棋盘上交叉点
(2) 交叉点上是一号玩家棋子
(3) 交叉点上是二号玩家棋子
(4) 左上角交叉点
(5) 左下角交叉点
(6) 右上角交叉点
(7) 右下角交叉点
(8) 左边界交叉点
(9) 右边界交叉点
(10) 上边界交叉点上边界交叉点
(11) 下边界交叉点
(12) 棋盘中间交叉点
9.交换行棋方
10.获取按键值, 假如用户没有按键,空循环
11.落子错误处理
12.赢棋处理赢棋处理
13.走棋: 判定交叉点上有没有棋子, 若没有棋子, 则能够落子
14.判定目前行棋方落子后是否赢棋即判定在指定方向上是否有连续5个行棋方棋子
15.判定在指定方向上是否有连续5个行棋方棋子:
(1) 在水平方向
(2) 在垂直方向
(3) 在左下至右上斜方向
(4) 在左上至右下斜方向
16.移动光标
17.游戏结束处理
18.显示目前行棋方
19.落子正确处理落子正确处理
20.检验用户按键类别:
(1) 退出键
(2) 落子键
(3) 光标移动键
(4) 按键无效等。
五、 总体设计结构图
编译预处理
主函数
设计界面
胜败判定
定义其它功效键
六、调试和测试
将全部程序分块进行调试, 测试结果运行正常
七 、下面是五子棋原程序
/* 程序中用到库函数所在头文件应用 #include 命令
原创力文档


文档评论(0)