C#课设报告书-游戏五子棋

上传人:大米 文档编号:423884883 上传时间:2023-03-03 格式:DOC 页数:18 大小:367.01KB
返回 下载 相关 举报
C#课设报告书-游戏五子棋_第1页
第1页 / 共18页
C#课设报告书-游戏五子棋_第2页
第2页 / 共18页
C#课设报告书-游戏五子棋_第3页
第3页 / 共18页
C#课设报告书-游戏五子棋_第4页
第4页 / 共18页
C#课设报告书-游戏五子棋_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C#课设报告书-游戏五子棋》由会员分享,可在线阅读,更多相关《C#课设报告书-游戏五子棋(18页珍藏版)》请在金锄头文库上搜索。

1、五子棋1设计目的五子棋游戏不仅能增强人们的抽象思维能力、逻辑推理能力、空间想象力,提高人们的记忆力、心算能力等,而且深含哲理,有助于修身养性。五子棋既有现代休闲方式所特有的特征“短、平、快”,又有中国古典哲学所包含的高深学问“阴阳易理”。它既有简单易学的特点,为人民群众所喜闻乐见,又有深奥的技巧;既能组织举办群众性的比赛、活动,又能组织举办高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观,它是中西方文化的交融点,也是中西方文化交流的一个平台。 自从计算机作为游戏对战平台以来,各种棋类游戏如雨后春笋般纷纷冒出。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味

2、性和消遣性。同时具有简单易学、既动手又动脑的特点。同时也为锻炼自己的编程能力。2功能描述本次设计的是基于Microsoft Visual Studio 2008平台所设计的五子棋游戏。用户分为持黑子方和持白子方,通过鼠标单击游戏见面中线的交叉位置下棋。由持白子一方先下,持黑子方后下。在下棋的过程中每方有30秒的考虑时间,如果超出考虑时间则由另一方开始下棋。在下棋的过程中用户可以根据自己的意愿悔棋,每悔一次棋步数减一。(1)画棋盘和棋子,并添加具有倒计时功能的时钟,当一方的等待时间超过三十秒的时候,切换到另一方下棋。(2)添加悔棋一步按钮,当一方想要悔棋时可以单击此按钮,则之前下的那步棋被撤销。

3、(3)当有一方横向,纵向或斜向有连续的五子连成一线时,那一方获胜。(4)当有一方点击重新开局这一子菜单项时,则将重新开始一盘棋。(5)一方下一步棋则步数增一,一方悔棋一步则步数减一。(6)在游戏中,会显示当前的系统时间,也可以根据用户需求隐藏起来。3方案论证 3.1总体设计3.1.1功能框图五子棋倒计时功能判断输赢功能重新开局功能步数计算功能隐藏显示时间功能悔棋功能图1 总体功能框图3.2详细设计3.2.1程序界面设计(1)菜单设计 本五子棋游戏中共“游戏”和“帮助”两个菜单项,在“游戏”菜单项中有重新开局和退出两个子菜单,在“帮助”菜单项中有关于五子棋、技术支持、隐藏显示时间和屏保四个子菜单

4、。(2)主窗体设计控件及相应属性如表1所示。表1 编辑控件属性控件名属性属性值Label1BackColorControlDarkLocation12,35Size401,401TabIndex1VisibleTrueLabel1BackColorControlLocation419,52Size167,30Text当前玩家:白方TabIndex4VisibleTrueLabel1BackColorControlLocation419,315Size145,30控件名属性属性值Label3Text剩余用时:TabIndex5VisibleTrueLabel4BackColorControlLo

5、cation420,365Size166,30TabIndex7Text每轮不得超时30s!VisibleTrueButton1BackColorGrayLocation522,398Size99,38TabIndex7Text每轮不得超时30s!Button2Text退出游戏Location417, 398panel1BackgroundImageTimer1enabledTrueInterval1000ModifiersPrivate程序功能设计 (1)在gobang类中添加下列数据成员及成员函数。private bool, chessBoard = new bool20, 20; /判断

6、棋盘指定坐标是否被绘制 private int, chessColor = new int20, 20; /用数组记录棋子的颜色,1-白色,2-黑色 private bool IsWhite = true; /判断是否是白棋 private Stack last=new Stack(); /下棋历史记录(2)画棋盘代码如下: public void Checker(Graphics g) Pen myPen = new Pen(Color.Black); for (int i = 10; i = 400; i = i + 20) g.DrawLine(myPen, 0, i, 400, i);

7、 for (int i = 10; i 0) Point p = last.Pop(); chessBoardp.X, p.Y = false; chessColorp.X, p.Y = 0; IsWhite = !IsWhite; SolidBrush sb = new SolidBrush(Color.Gray); g.FillEllipse(sb,p.X*20,p.Y*20,20,20); (5)检查游戏结果代码如下: public bool CheckGameResult(int x, int y) /检查横向 x = (x - x % 20) / 20; y = (y - y % 20) / 20; int sum1 = 1; int sum2 = 1; int sum3 = 1; int sum4 = 1; int search = chessColorx, y; for (int i = x + 1; i = 0; i-) if (chessColori, y = search) sum1+; else break; /检查纵向 for (int i = y + 1; i = 0; i-) if (chessColorx, i = search) sum2+; else break;

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

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号