五子棋课程设计实验报告课件.docx

上传人:h**** 文档编号:26907939 上传时间:2022-07-20 格式:DOCX 页数:9 大小:14.10KB
返回 下载 相关 举报
五子棋课程设计实验报告课件.docx_第1页
第1页 / 共9页
五子棋课程设计实验报告课件.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《五子棋课程设计实验报告课件.docx》由会员分享,可在线阅读,更多相关《五子棋课程设计实验报告课件.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、五子棋课程设计实验报告课件 西南交通大学 程序语言综合课程设计 五子棋游戏 课程程序语言综合课程设计 学院信息科学与技术学 专业软件工程 姓名 学号 20229050 日期 2022年月日 目录 第一章课程设计的目的和要求 (3) 1.1 课程设计的目的 (3) 1.2 课程设计的要求 (3) 1.3 课程设计的实验环境 (3) 第二章功能描述 (4) 第三章总体设计 (5) 3.1 功能模块设计 (5) 3.1.1 任务执行流程图 (5) 3.1.2 下棋函数流程图 (6) 3.2 数据结构设计 (7) 3.2.1 定义结构体 (7) 3.2.2 定义数组 (7) 3.2.3 全局变量 (7

2、) 3.3 函数功能描述 (7) 第四章程序实现 (8) 4.1源码分析 (8) 4.2运行结果及界面介绍 (22) 第五章后记 (27) 第一章课程设计的目的和要求 1.1 课程设计的目的 1.加深对C语言数据类型,运算,语句结构及其程序设计的基本方法理解和掌握; 2.熟练掌握流程图的绘制、程序设计文档的书写; 3.通过编写一个完整的程序,一方面可以检查我们这学期的学习情况,为以后的学习打下坚实的基础; 4.熟悉C语言游戏编程,掌握五子棋游戏开发的基本原理,从而为以后的程序开发奠定基础。 1.2 课程设计的要求 1、编写程序代码,调试所写程序使其能够正确运行; 2、能进行基本的五子棋操作,有

3、图形界面,能够用键盘操作; 3、能够实现悔棋、存档和读档等附加功能 1.3 课程设计的实验环境 该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C+6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下: 硬件:Cpu:2.1GHZ,内存,2GB,硬盘:320GB,操作系统:windows xp 软件环境:安装VC+6.0 第二章功能描述 本程序用C语言实现了五子棋游戏,能进行基本的五子棋操作。程序能实现界面的初始化功能、下棋

4、功能、人机智能对战功能、胜负判断功能、悔棋功能、读档及存档功能,通过键盘操作控制下棋。 (1)显示欢迎界面。在游戏开始时出现一个欢迎的界面同时介绍了游戏的规则;(2)初始化功能。程序初始化屏幕和棋盘,默认玩家先行。 (3)下棋操作。利用W、S、A、D及空格键实现下棋操作,在下棋过程中能随时按ESC键退出。 (4)人机智能对战功能。电脑根据玩家的下棋对棋盘进行智能分析,然后下棋,实现人机对弈。 (5)悔棋功能。玩家可以有三次悔棋机会。 (6)胜负判断功能。程序能对下棋的结果进行判断,分出胜负。并显示获胜方。(7)读档、存档功能。游戏中途退出会提示是否存档,如果存档,则下次开始的时候会提示是否读档

5、继续上次的游戏。 第三章总体设计3.1 功能模块设计 3.1.1 任务执行流程图 3.1.2 下棋函数流程图 3.2 数据结构设计 3.2.1 定义结构体 将棋盘上每个点的左边定义为一个结构体; typedef struct int x, y; point; 3.2.2 定义数组 定义数组board1515表示棋盘,用来记录棋盘上每个棋子的状态; 3.2.3 全局变量 定义整形数组back4 用来记录前两步双方下棋的状态,便于后面进行悔棋操作定义整形n = 3; 用来记录悔棋次数 3.3 函数功能描述 1、显示欢迎信息bool welcome(); 2、初始化棋盘void InitBoard(

6、); 3、输出棋盘void chessboard(); 4、判断胜负int Win(char c); 5、下棋void play(point &r); 6、显示获胜void showsusscced(char c); 7、悔棋bool BackStep(int back); 8、人机对战智能算法void ComAlgo(point &r); 9、存盘函数bool SaveLoad(); 10、读盘函数bool DownLoad(); 第四章程序实现 4.1源码分析 1、显示欢迎信息 bool welcome() char ch; printf(nnnn); printf(n); printf(

7、Welcome you to gobang World! n); printf(1、You can use the A,D,W and S key to move the chessman; n); printf(2、You can press Space key to enter after you move it; n); printf(3、You can use Esc key to exit the game; n); printf(4、Dont move the pieces out of the chessboard. n); printf(Do you want to conti

8、nue?(Y/N) n); printf(n); while (! strchr(YN, ch = toupper(getch() putchar(a); if(ch = N) return false; else return true; 2、初始化棋盘 void InitBoard() char ch; int i, j; printf(nn是否读档?(Y/N)n); if(ch = toupper(getch() = Y & DownLoad() printf(读档成功!n); else for(i = 0; i = 15) break; else r.y +; c = boardr.x

9、 - 1r.y - 1; boardr.x - 1r.y - 1 = g; chessboard(); boardr.x - 1r.y - 1 = c; break; case W: /向上 if(r.x = 15) break; else r.x +; c = boardr.x - 1r.y - 1; boardr.x - 1r.y - 1 = g; chessboard(); boardr.x - 1r.y - 1 = c; break; case 32: /SPACE空格 if(boardr.x - 1r.y - 1 != ) key = 0; /key的值修改为非32的数值 else

10、boardr.x - 1r.y - 1 = b; back0 = r.x - 1; back1 = r.y - 1; /记录当前位置,便于悔棋 chessboard(); break; case Z: /悔棋 BackStep(back); break; case 27: /ESC退出 printf(Game Over!n); printf(是否存档?(Y/N)n); if(c = toupper(getch() = Y & SaveLoad() printf(存档成功!n); exit(1); default: fflush(stdin); while(key != 32); 注: 1、W、S、A、D分别表示上下左右键。如果超出了棋盘则不进行操作。否则向键值指示的方向移动一步。 2、c = boardr.x - 1r.y - 1; boardr.x - 1r.y - 1 = g; chessboard(); boardr.x - 1r.y - 1 = c; 这四句表示记录当前移动位置,然后显示光标,显示完以后还原棋盘。 3、按空格键表示下棋,如果当前位置有棋子则不进行操作。back0 = r.x - 1; back1 = r.y - 1; 用于记录当前位置,便于悔棋。 4、按Z悔棋 5、按ESC键退出,并且提示是否存档。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁