基于C的五子棋游戏的设计与实现

郑州科技学院课程设计论文基于C#的五子棋游戏的设计与实现学生姓名:王新年学号:201015066年级专业:10级计科二班指导老师:王玉萍学院:信息工程学院1引言...............................................................................................................11.1五子棋介绍...............................................................................................12软件架构.......................................................................................................13五子棋设计说明...........................................................................................23.1主要成员变量说明...................................................................................23.2回溯栈元素类——StackElement.............................................................33.3棋子点属性类——q政法ianshuxing...........................................................33.4主要成员函数说明...................................................................................33.5实现人机对弈的主要函数.......................................................................73.6实现菜单功能的函数.............................................................................263.6程序运行界面.........................................................................................304心得体会...................................................................................................3111引言1.1五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。2软件架构主界面软件的总体架构如图2.1:游戏模式游戏控制重人人声开退悔新人机音出始棋开对对控始战战制1图2.1软件架构3五子棋设计说明3.1主要成员变量说明1)选择游戏模式标志——m_renren用来表示当前玩家选择游戏的情况,当m_renren为false时,表示人机对战;为true时,表示人人对弈。2)游戏开始标志——begin用来判断当前游戏是否开始3)音效标志——sound在下棋过程中,判断是否需要声音,当sound为true时,表示玩家需要声音,否则的话,玩家不需要声音。4)谁先下的标志——first这个标志只对人机对弈时有效。当first为true时,表示人先下,否则,电脑先下。5)棋盘数据——pointspoints为棋盘情况数组,是用一个15*15的二维数组来表示的。points[i,j]=2表示此处无子,points[i,j]=1表示此处为黑子points[i,j]=0表示此处为白子。6)棋子颜色标志——qzcolor用来表示当前棋子的颜色,qzcolor=1时表示黑棋,qzcolor=0时表示百棋。7)棋子数据——qz表示棋子所放的位子,是用一个15*15的PictureBox类型的二维数组来表示。它还可以用来显示当前棋子的图片。8)oldMovePoint用来记录鼠标经过后点的位置。9)backStack用于悔棋的栈。10)backTrackStack2用于回溯的栈11)结局——result用枚举类型来表示结局。如:publicenumresult:int//结局{lose=-1,equal,win}3.2回溯栈元素类——StackElement成员变量:1)qzColor棋子的颜色2)bestFivePoints最好点的位置3)pointsCount计算最好点的数目4)pointNumber点的数目5)Theresult结局6)stepNumber预测的步数3.3棋子点属性类——q政法ianshuxing成员变量:1)blackConnect黑棋子i个(包括活棋)的连...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?