ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:139.98KB ,
资源ID:9878396      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9878396.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(五子棋C语音程序设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

五子棋C语音程序设计.docx

1、五子棋C语音程序设计青 岛 农 业 大 学本 科 生 课 程 论 文论 文 题 目 五子棋C语音程序设计 学生专业班级 通信工程 学生姓名(学号) 指 导 教 师 完 成 时 间 年 月 日正文部分1、设计简介 五子棋是一种传统的棋盘游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。这种游戏用笔纸都可以进行。 本程序设计为人与人对弈,双方棋子为两种不同符号。一方执“黑笑脸”棋,一方执“白笑脸”棋,执“白笑脸”棋的一方先行下子,先输行再输列,比如ab,落子键为“Enter。接着

2、双方轮流走棋,每方都试图在游戏结束前让自己的棋子在横线、竖线、斜线方向五子相连,首先实现五子相连的一方获胜,游戏结束。程序执行过程中,要求棋盘、棋子时时可见,如果中途退出按q键。二、设计模块三、流程图四.设计过程 1、列出所需头文件名 2、定义棋盘的制符表及位置 3、定义双方玩家各自的操作键 4、定义数据结构 5、说明自定义函数原型 6、定义全局变量 7.初始化图像以及获得按键值 8、嵌入各自定义函数编写主函数 9、编写界面初始化函数void Init(void) 10、编写画棋盘函数void Print(void) 11、编写赢棋处理函数void Input( ) 12、编写判断是否赢棋函数

3、int Judge ( )13、编写判断在规定方向是否有五子相连函数int Linksame( ) 14、编写游戏结束处理函数Int Gameover( )5、调试过程 运行平台:C/C+程序设计学习与实验系统1、 点击运行,出现棋盘界面2、 根据界面提示键落子,玩家一先下,双方轮流落子3、 方五子相连,判出赢家,游戏结束。4、 按q键退出游戏六、源程序 #include #include #define CHESSBOARD_SIZE 15const int linkcount = 5;char chessboardCHESSBOARD_SIZECHESSBOARD_SIZE;int cou

4、nt;int playerid;void init() int i, j; count = 1; playerid =1; /默认Player1先走 for (i = 0; i CHESSBOARD_SIZE; i+) for (j = 0; j CHESSBOARD_SIZE; j+) chessboardij = +; void print() int i, j; printf( a b c d e f g h i j k l m n on); for (i = 0; i CHESSBOARD_SIZE; i+) printf(%c , i + a); for (j = 0; j CHES

5、SBOARD_SIZE; j+) printf(%c, chessboardij); if (j != CHESSBOARD_SIZE - 1) printf(-); printf(n); void input() char ix, iy; int x, y; printf(player %d 下棋,想退出请输入q键 :, playerid); fflush(stdin); /清除之前缓存留下的数据 scanf(%c%c, &ix, &iy); if (ix=q) exit(0); /退出游戏 getchar(); x = ix - a; y = iy - a; while (x = CHES

6、SBOARD_SIZE | y = CHESSBOARD_SIZE | chessboardxy != +) printf(input error!nplease input again: ); fflush(stdin); /清除缓存留下的数据 scanf(%c%c, &ix, &iy); getchar(); x = ix - a; y = iy - a; chessboardxy = playerid + 1; count+; playerid = count % 2; /判断该步谁走int linksame(int x, int y, int xoffset, int yoffset,

7、 int ncount) int xnext, ynext; if (chessboardxy = +) return 0; if (ncount = linkcount - 1) return 1; xnext = x + xoffset; ynext = y + yoffset; if (xnext = CHESSBOARD_SIZE | ynext = CHESSBOARD_SIZE) return 0; if (chessboardxy = chessboardxnextynext) return linksame(xnext, ynext, xoffset, yoffset, nco

8、unt + 1); return 0;int judge() int i, j; for (i = 0; i CHESSBOARD_SIZE; i+) for (j = 0; j CHESSBOARD_SIZE; j+) if (linksame(i, j, -1, 1, 0) | linksame(i, j, 0, 1, 0) | linksame(i, j, 1, 1, 0) | linksame(i, j, 1, 0, 0) return 1; return 0;int gameover() if (count = CHESSBOARD_SIZE * CHESSBOARD_SIZE -

9、1) system(cls); print(); printf(draw game!n); return 1; if (judge() system(cls); print(); printf(player %d 恭喜你赢了!n, playerid = 1 ? 0 : 1); return 1; return 0;void gamestart() init(); while (!gameover() system(cls); print(); input(); int main() char ch = y; while (1) gamestart(); getchar(); printf(co

10、ntinue? (y/n):); ch = getchar(); if (ch = n) break; return 0;七自我总结当题目出现在我的面前时,感觉真的一点都不会,让我自己编一个程序真的太难了,感觉自己上课的时候一点都没有好好的学,现在一点都不懂,就从网上参考了一下,当看到程序的时候都看不懂,经过问同学和同学之间的商量,老师的指导,终于做出一个完整的程序,当看到完整的的程序的时候真的感觉有一种成就感,真的觉得学到知识很好,所以在以后的学习中要做到认真努力。课 程 论 文 成 绩 评 定 表学生姓名专业班级论文题目五子棋C语言课程设计指导教师评语及意见:成绩: 指导教师签字 年 月 日忽略此处.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1