毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C语言五子棋游戏程序设计_结构化程序设计课程设计 第2页

更新时间:2011-12-19:  来源:毕业论文
三.函数功能描述
(1)DrawBoard()
函数原型:void DrawBoard()
DrawBoard()函数用于画棋盘。棋盘是由18*18交叉组成的。该函数主要是调用系统函数line()来实现的,同时也输出一些提示性文字,如按键操作。
(2)DrawCircle()
 函数原型:void DrawCircle(int x,int y,int color)
 DrawCircle()函数用于在指定的坐标,用指定的颜色画圆圈。本程序中,是用小圆圈来表示棋子的,不同的颜色表示不同的行棋方。其中X、Y指明所画圆圈的圆心,半径大小在函数中设定;color用以表示所画圆圈的颜色,有两种颜色,白色和红色,白色圆圈表示Player1的棋子,红色圆圈则表示Player2的棋子。该函数主要是调用系统函数circle()来实现的。
(3)Alternation()
函数原型:void  Alternation()
Alternation()用于在两个行棋者之间交换行棋顺序,如果当前是Player1行棋,则转换后变为Player2;反之亦然。用全局变量flag标识。
(4)JudgePlayer()
函数原型: void JudgePlayer()
JudgePlayer()函数主要是根据不同的行棋方来画不同颜色的圆圈,对行棋方的判断则是根据全局变量flag来进行的。该函数是调用DrawCircle()函数来实现的。
(5)Done()
函数原型:void Done()
Done()函数是本程序的核心函数,主要用于实现下棋操作。该函数首先获取下棋者从键盘按下的键值(LEFT、RIGHT、UP、DOWN、SPACE或ESC),根据获取的键值作相应的操作。对于每一种操作,都要首先判断行棋者棋子的落子范围是否正确,即落子是否在棋盘内,对于不在棋盘内的落子不予处理;对于落子在棋盘内的操作,则根据数组status[i][j]((i,j)表示当前位置的坐标)中保存的当前位置的状态来进行,如果状态值为0,则可以按照行棋者的要求移动棋子,并在移动棋子后把(i,j)位置的状态值改为flag(1表示Player1,2表示Player2);如果获取的键值为ESC,则退出程序。
(6)ResultCheck()
函数原型:int ResultCheck(int x,int y)
ResultCheck()函数用于判断当前行棋者是否获胜。其中X、Y表示当前行棋者最后的落子坐标。该函数是以(X,Y)坐标为基准,判断4个方向(水平、竖直、从左上角到右下角和从右上角到左下角)上是否有5个连续相同的棋子(即颜色相同的圆圈),只要出现任何一个方向上有满足条件的棋子则当前行棋方就获胜。
(7)WelcomeInfo()
函数原型:void WelcomeInfo()
WelcomeInfo()函数用于输出屏幕欢迎信息和一些提示性信息,如按键操作等。
(8)ShowMessage()
函数原型:void ShowMessage()论文网http://www.youerw.com/
ShowMessage()函数用于显示当前行棋方,表示该轮到哪一方行棋了。

五、调试过程

在编写程序的过程中遇到了很多难题,例如编写程序的拼写问题啦,一些函数的使用问题,并且这种问题出现的形式,提醒你的方式都是通过全英文的方式,英语理解起来比较困难,都是一个人通过一遍遍的调试,利用金山词霸、谷歌翻译的方法把英文翻译过来,拜托了一些同学帮我一起找错误,真是辛苦他们了,下面就是出现频率最高的几个错误了。

上一页  [1] [2] [3] [4] 下一页

C语言五子棋游戏程序设计_结构化程序设计课程设计 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。