首页 简介五子棋游戏的程序设计

简介五子棋游戏的程序设计

举报
开通vip

简介五子棋游戏的程序设计 简介五子棋游戏的程序设计 哈尔滨自动化成套控制设备厂 方昭红 五子棋多媒体游戏是一种易学易懂的搏奔游戏。 可以人机对战 .联机对战。网络对战。本游戏具有图、 文、声并茂的特色,充分体现了多媒体的特点,使人在 游戏中不但可以体会到计算机智能化的神奇 ,更可以 感 蓟 多 媒 体 的无 穷 魅 力 。本 游 戏 只 能 运 行 在 Windows 95/98/20∞ 或Windows NT或更高的版本 Windows操作系统上运行 。它是由 Microsdt Visual Basic 6。0开发的...

简介五子棋游戏的程序设计
简介五子棋游戏的程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 哈尔滨自动化成套控制设备厂 方昭红 五子棋多媒体游戏是一种易学易懂的搏奔游戏。 可以人机对战 .联机对战。网络对战。本游戏具有图、 文、声并茂的特色,充分体现了多媒体的特点,使人在 游戏中不但可以体会到计算机智能化的神奇 ,更可以 感 蓟 多 媒 体 的无 穷 魅 力 。本 游 戏 只 能 运 行 在 Windows 95/98/20∞ 或Windows NT或更高的版本 Windows操作系统上运行 。它是由 Microsdt Visual Basic 6。0开发的,编程风格完全是面向对象的程序 设计,外观是 Windows的窗口界面。人机界面非常友 善,这是Visual Basic语言风格优势体现,但此游戏 目 前只能单机操作,人机对弈。 程序的整体组织。程序由五个窗体构成,其中有 六个主要的函敦(Function)和于程序(Sub)是主要功 能实现的关键,各个窗口和函敦实现不同的功能 。窗 体主要是实现应用程序界面各代码的结合。各函敦 (Function)则实现具体的运算和判断功能。各窗体功 能如下表 图表: fo r-e1 come.fr■ 启 动 程 序 时 显 示 装 载 蠢 面 、也 可 以 显 示 版 本 信 息 Fo rm8i n f r_ 程 序 运 行 时 的 主 界 面 、用 来 显 五 子 棋 棋 盘 ,各 功 能 按 忸 Fo r_enu f r_ 显 示 右 t 薹 苴 forabout.fr_ 程 序 帮 助 和 简 介 forme.frm 作 者 简 介 6个自建的Function0~l Subo功能如下: D RA■CHESS 实 现 游 戏 者 或 机 嚣 在 棋 盘 上 落 子 I S■IN 判 断 胜 负 LINKF0U R 机 嚣 用 于 判 断 连 四 的 函 数 LI NKTHR EE 机 嚣 用 于 判 断 连 三 的 函 数 TE S TV^ L 帆 嚣 用 于 蔫 试 棋 盘 上 各 点 的 分 值 MA XVAL 机 嚣 用 确 定 量 佳 落 点 的 函 数 程序功能的实现。整个五子棋程序的运行过程表 面上看是以窗体的各种变化实现其各种功能的。实质 上是以各种事件程序和函数的运算、判断来驱动各种 外部对象使游戏真正实现的。 l、启动窗体(Forwdcome)。比较简单。只要添加一 个图片框控件,加载一个命令(Command Button)按钮。 2、主窗体~ormain)却是最重要的窗体。所有重要控件 按钮都加在主窗体0tom.in)中。因为游戏的进行始终 是在主宙体(Formain)上进行的,在这里加了一个用于 绘图的图片框控件(Picture Box),在(Picture Box)上使 用循环语句和绘线方法实现绘制棋盘。算法如下 : F0r I=l to 15 Picture1.1ine(140.(I一1)*onewidtll +140)-.(.5400.fI一1)*onewidtll+140) Picture1.1ine((1—1)*onewidtll+l4o. 140)-((1-1)‘onewidth+140。54oo) Next I 主要用此语句来实现绘制棋盘程序 。必须放在主 窗体的 Activate或 Palnt事件程序中。否则绘制的方 法是不能实现的。另外就是添加几个命令按钮 。实现 新局、结束 、退出、和音效等功能 ,再创建 3个顶层菜 单。分别为“游戏 设置~帮助”其中功能大致为控制 棋局和设置棋盘效果及游戏和个人简介等功能。 棋盘风格代表棋盘选择的颜色 风格一 yellow yellow_check=True Qbeolor(14) 风格二 red red_check=Tree Qbcolor(12) 风格三 green green_cheekfTrue Qbcolor(10) 风格四 blue blue_ch~ck=True Qbcolor(¨ ) 风格五other other_cheek=Tree Qbcolor(7) 恢复默认 res~r rester_checkffiTrue RGB(133,35。3) 3、右键菜单宙体~ormenu)。主要是在宙体上加人 一 串命令按钮(Command Button)控件,窗体用鼠标右 键事件程序控制弹出来,主要对此窗体和命令件进行 必要的属性设置和执行中设置,达到菜单的作用。 右键菜 新 局 电 脑 音 乐 棋 盘 再 见 4、关于游戏(Forabout)和作者简介fforme)两个窗 体基本没有什么程序。主要是用了 Lable和 Picture来 实现文本的输人 。用 Form.show和 Urdoad rifle来对窗 体进行控制切换。 程序设计的核心是靠以下几个自建函敦和子程 序的功能来实现的: (一)StIb drawch~0绘棋子的子程序。此程序主 要实现在棋盘的的指定位置上绘制棋子的功能。子程 序主要靠自变量的传人值来确定在棋盘上那个位置 绘制棋子 。用 if语句来判断一个 自变量的值来确定当 前需要绘的是黑子还是白子。以确定绘什么样的棋 子。 (二)Sub lswin(i。j as integer。vhchass as integer) 此程序是用于判断胜负过程,程序用自变量的传人值 来确定当前落点的坐标点 。用 自变量vhchass来判断 是哪一方棋子,再以6。j)此点为中心。向八个方向追 历。每一个方向寻四个点。逐个与当前的点比较。是否 相同,如果在某个方向寻找四个点与当前点相同。且 构成五个点连成一条线 。则当前的子便胜利 .否则发 现在某个方向上。小于四个棋子中有一个棋子与当前 棋子不同。记录前棋子 。退出循环,反向寻找 。重复以 上方法比较 。但 比较的个敦为 5减 去上次记录的敦 值。如果都相同则胜利,否则换方向去寻找。都是重复 和循环的过程,循环量是比较大的。如果八个方向上 均失败了。则表示 当前没有连五的棋子 。即没有胜利 的一方。这样要上 12"12‘4*4次的比较运算 ,但对于 计算机来说也只是徼不足道的运算量。所以立刻就会 判断是否胜利。 利用参敦S(1 1D 4。0 TO 1)代表四个方向 S(1。0) S(1。1)=l s(2,0) l s(2,1) S(3。0)=l S(3。1)=l s(4。o) l s(4。1)=一1 当S(I。J)取负时表示反方向。 If Chess +k‘S(n,o)。wj+k‘S(n。1))OVbehess 表示此棋位不是本方棋子 If Chess 一k.S(n。o)。wj-k‘S(n.1))OVbehess 变负号代表变方向 其测试程序如下: Text3.Text= Gi Text4.Text= Gi If Gi= 12 And Gi= 12 Then Picture1.FmColor= vbGreen Picture1.Circle(140-KGi一1)*Onewidth,140+ j—1)‘ Onewidtl1).120 Picture1.Circle (14O Gj+S(n,0)一1)*Onew~dtb,140+ (Gj+S(n,l卜1)*Onewidth),120 Picture1.Circle(140+(Gi+2’s(n,0】一1)*Onew~dth。140+ (Gi+2 S(n。1)一1)*Onewidth)。120 Picture1.Circle(140+(Gi+3’S(n,0)一1)*Onew~dth,140+ (Gj+3*S(n,1)一1)*Onewidtl1),120 数字天地 圆 Picture1.Circle(140 i+4‘S(n,o)一1)*Onewidth,l4o+ (Gj+4*S(n,1)-1) Onewidth)。120 EIld If (三)unction linkfour(i As Integer,j As Integer, vhchess As Integer)此函敦的功能主要是用来判断棋 盘上的每一点,并且寻找这个点的周围是否有相同的 个点。且这四个点连在一条直线。此函敦用了三层循 环语句 ,前两层用来遍历棋盘上所有的点,第三层用 来八个方向上逐个子比较.中间用四个 if判断语句 来,确定是否有四个相同的,执行此函敦要进行 12"12"4次比较运算。 判断语句判断下面图的四种情况: If Chess(Gi,Gj)=0 And Chess(Gi+S(n,o),Gj+s(n,l"= Vbehe~ And Chess(Gi+2‘S(n,0) Gj+2‘S(n,1))= Vbehass And Chess(Gi+3‘S(n,o)。q+3‘S(n,1))= vbch And cII (Gi+4‘S(n,o),Gj+4‘S(n,1))= Vbche~ Then Linkfour=True:Exit Function EheIf Chess(Gi,Gj)-、 heBB And CAeas(Gi+S(n,o),Gj +s(n,l" And Chess(Gj+2‘S(n。o),Gj+2‘S(n,1))= Vbche~ And cII (Gi+3.s(n,o)。Gj+3‘S(n,1))= Vbehass And Chess(Gi+4‘S(n,o】,Gj+4‘S(n,1))= Vbehass Then Linkfour=True:Gi=Gi.IS (n,0):Gj=Gj+S(n,1):Exlt Function ElseIf Chess(Gi。Gj)=Vbche~ And clI∞B(Gi+S(n,o】, Gj+s(n。1))=Ⅵ.cll∞B And CAe~(Gi+2*S(n。0)。Gj+2‘S (n。I"=0 Arld Ch∞B(Gi+3‘S(n,0】。Gj+3‘S(n。I))= Vbche~ And cII∞B(Gi+4‘S(n。o)。q+4‘S(n。1))= Vbch∞B Then Linkfom'ffiTrue:GifGi+2‘S(n。o):Gj=Gj+2*S(n。1):Exit Function Ⅱself CAe~(Gi。Gj)=Vbche~ And Chess(Gi+S(n。o】, q+s(n。1))--Vbche~ Arid CAe~(Gi+2‘S(n。o】。Gj+2.S (n。1))ffiVbchetm Arid clI (Gi+3‘S(n。o),Gj+3‘S(n。1)) =0 And Chess(Gi+4‘S(n。o】,Gj+4‘S(n。1))=Vbchetm Then LinkfourfTrue:Gi=Gi+3*S(n。0):q=Gj+3*S(n。1):Exit Function Elasif Chess(Gi。Gj)=Vbche~ And CAe~(Gi+S(n。o】。 q+s(n。1))=Vbch∞B And Che~(Gi+2‘S(n,o】,Gj+2‘S (n。1))ffiVbcheas And Chess(Gi+3‘S(n.o),q+3‘S【n,1)) =Vbcheas And Chess(Gi+4*S(n。o)。Gj+4‘S(n,1)) Then Linkfour=True:Gi=Gi+4·S(n,o):Gj--'Gj+4"S(n,1):Exit Function 假设 Gi=12 Gj=12 S(n。o】。一l S(n。1):l (四)Funetion linkth~ (i As Integer, i As Integer)连三函散与连四函敦类似.只是用于找具连三 的点功能。 (五)Funetion Tastval (ByVal i As"Integer. ByVal j Ae Integ~r)此函数是用于追历整个棋盘。判 断是否为空点,如果是空点则追历此点周围存在棋子 的情况.八个方向分别与 M0。j) 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 值比较。给每一 点一个分值。用于以后电脑比较分值来确定最佳落点 坐标。 说明:M敦组在窗体装如时已经赋值。此值表面 看乱无章法。其实是程序员对五子棋下法的一种理 解。共有2o个方案。用于机器判断最佳落点,使程序 有了简单的智能。比如:取 M(2。o】到M(2。9】的值则程 序以直线判断落点。而取M(5。o)到M(5,9】的值则程序 以三格为边距的正方型的逻辑判断落点。取 4。O一9则 为两格边距的正方型。 (六)Function Maxval G As Integer。J As Integer) 此函敢是调用上一个函敦Tastval0。将上一个函敦测 试出来的值捧序,其中最大值的点的坐标便是机器落 点的最佳位置。它主要是用了一个简单的捧序算法来 完成此项工作,得出_最大值。传出点的坐标值。 本程序的五子棋游戏 ,适应人群广。具有几个简 单功能。如打开背景音乐,改变棋盘颜色等。主要的功 能是人机大战,强大及完善的落子算法,使机器迅速 能找到最佳落点。锻炼人的思维和判断能力及周密的 想象力,非常适合大众的游戏,老少皆宜。 维普资讯 http://www.cqvip.com
本文档为【简介五子棋游戏的程序设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_874651
暂无简介~
格式:pdf
大小:75KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2012-07-04
浏览量:67