(完好版)五子棋-毕业课程设计报告.docx

上传人:安*** 文档编号:18941009 上传时间:2022-06-03 格式:DOCX 页数:11 大小:19.80KB
返回 下载 相关 举报
(完好版)五子棋-毕业课程设计报告.docx_第1页
第1页 / 共11页
(完好版)五子棋-毕业课程设计报告.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

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

1、(完好版)五子棋-毕业课程设计报告当前位置:文档视界(完好版)五子棋-毕业课程设计报告(完好版)五子棋-毕业课程设计报告当前位置:文档视界(完好版)五子棋-毕业课程设计报告(完好版)五子棋-毕业课程设计报告摘要五子棋的历史:五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能加强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有类似之处,由于古代五子棋的棋具与围

2、棋是完全一样的。在上古的神话传讲中有“女娲造人,伏羲做棋一讲,(增山海经)中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。李善注引三国魏邯郸淳(艺经)中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因此规则简单的五子棋可以能出自当时,并是用石子作棋子。亦有传讲,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。程序讲明:本程序是一款棋类益智游戏程序,是用WIN-TC编写在WINDOWS系统下运行的娱乐游戏。本程序能够实现人人对战,操作采用键盘上的上下左右键控制棋子的上下左右移动,由

3、空格键控制下棋,双方都可通过ESC键终止游戏。游戏开场后,红、白双方轮流下棋,程序会根据双方下棋的先后顺序自动显示不同颜色的棋子,提示当前下棋的棋手,任何一方由五子连成一线时,游戏结束,结束时会显示对战双方胜负情况。当前位置:文档视界(完好版)五子棋-毕业课程设计报告(完好版)五子棋-毕业课程设计报告目录第1章选题的意义(4)1.1(4)1.2(4)第2章系统功能需求分析(5)2.1系统的基本要求(5)2.2(5)第3章系统设计(6)第4章系统实现(7)第5章总结(8)第1章选题的意义1.1意义通过游戏经过增加编程的兴趣,提高编程水平。编制该程序我对下面的知识点进行的稳固和把握:1.数组元素为

4、构造体的数组应用。2.全局变量应用。3.按键的处理。4.数组元素与蛇、食物的对应关系。5.图形方式等等。加深对所学知识的理解与把握,加强本人对所学知识解决实际问题的能力,为以后的程序开发打下基础。1.2设计思路棋盘设计为1818格,初始状态光标在棋盘的中央,玩家1先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束连成五子的一方获胜,下满棋盘为和棋。当游戏一方胜利后显示胜利信息。从程序外表看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标能够表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是0代表空格,1代表白棋,2代表黑棋。这样程序的主要工作是接收棋手按键操作,

5、棋手用Up、Down、Left、Right控制光标移动,空格键表示落子。一旦接收到空格键,讲明棋手落子,先判定能否是有效位置,也就是讲已经有棋子的位置不能重叠落子。落子成功后,马上判定以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下能否有一样颜色的棋子连成五子,假如连成五子,则游戏结束,输出相应的信息。假如想退出游戏,能够按Esc键。第2章系统功能需求分析2.1系统的基本要求操作系统为WindowsXP,设计语言为VisualC+或TurboC+3.0。2.2需求分析1.游戏需求1在游戏开场时出现一个欢迎的界面同时介绍了游戏的规则;2画出棋盘的大小;3画棋子并确定棋子的大小;4

6、判定键盘输入哪个键执行操作;5玩家P1先落棋;6玩家轮流下棋;7判定赢家。2.功能模块初始化模块下棋操作模块判定胜负模块帮助模块3.流程图第3章系统设计1定义全局变量1.intstatusNN;/*定义的数组,表示棋盘某点的状态棋手1或棋手2*/2.intstep_x,step_y;/*行走的坐标,即每一步光标移动的距离*/3.intkey;/*获取按下的键盘的键*/4.intflag;/*玩家标志,当flag=0时,表示该点无棋子,flag=1表示玩家1的棋子,flag=2表示玩家2的棋子*/2Main()主函数根据语法规则,首先定义使用到的常数、全局变量、函数原型讲明。棋盘状态用数组int

7、status1919,初值为0,表示空格。函数的实体比拟简单,调用图形驱动、画棋盘、人人对弈等自定义函数,一旦游戏结束后,关闭图形驱动,程序结束。3DrawBoard()画棋盘函数背景颜色设为绿色,从坐标(100,100)开场每隔20个单位用黄色画一条水平直线,一条垂直线,构成棋盘,用循环语句实现。画线函数line()的参数为线的起点和终点坐标,注意要计算正确。函数setfillstyle()能够设置填充形式和填充颜色,circle(x,y,8)以x和y为圆心画圆这里半径为8,用它表示棋子。4ResultCheck(intx,inty)判定能否胜出函数本函数根据每次落子的位置,分别向上、下、左

8、、右、左上、左下、右上、右下八个方向判定能否有一样颜色的棋子连成五子,假如成立,游戏就结束,并显示提示信息(如:红方获胜),否则继续落子。5Done()执行下棋函数这是游戏进行的函数,主要是接收棋手的按键消息,其处理经过如下:(1)按Esc键程序能够随时结束。(2)按上下左右光标键,则改变棋子移动的坐标值。(3)按空格键后判定:1)如落子的位置已经有棋则无效,继续按键。2)如落子位置是空格,能够将棋子落入格内,调用ResultCheck(intx,inty)函数。3)假如棋子变化后,棋盘已下满了棋子,则游戏结束。显示平局信息。(4)重复上述步骤,直到游戏结束。6图形功能函数下面函数原形都在gr

9、aphics.h中。(1)registerbgidriver():(2)initgraph(int*driver,int*mode,char*path):用于初始化图形系统,并装入相应的图形驱动器。该函数把由driver所指向的图形驱动器代码装入内存。假如图形驱动器未装入内存,图形函数将不能操作。图形函数所用的屏显形式由mode所指向的整数值确定。最后,图形驱动器的途径是由path所指向的字符串给出。假如没有指定途径,就在当前工作途径上寻找。(3)rectangle(intleft,inttop,intright,intbottom):函数rectangle()用当前画出由坐标left,top

10、及right,bottom所定义的矩形。(4)setcolor(intcolor):把当前画线颜色设置为color所指定的颜色。(5)closegraph():该函数使图形状态失效,并且释放用于保存图形驱动器和字体的系统内存。当你的程序既用到图形输出又用到非图形输出时,应该用此函数。该函数还把系统屏显形式返回到调用initgragh()前的状态。第4章系统实现1.程序代码/*win-tc下的五子棋源代码*/*加载头文件*/#include/*输入输出函数*/#include/*包含系统函数,定义杂项函数及内存分配函数*/#include/*图像函数*/#include/*存放有接口函数*/#include/*定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作*/*编译预处理,定义按键码*/#defineLEFT0x4b00/*向左*/#defineRIGHT0x4d00/*向右*/#defineDOWN0x5000/*向下*/#defineUP0x4800/*向上*/*若想在游戏中途退出,可按Esc键*/#defineESC0x011b/*退出键*/*SPACE键表示落子*/#defineSPACE0x3920/*落子键*/

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

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

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

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