毕业论文-开发小型益智类游戏_第1页
毕业论文-开发小型益智类游戏_第2页
毕业论文-开发小型益智类游戏_第3页
毕业论文-开发小型益智类游戏_第4页
毕业论文-开发小型益智类游戏_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陕西国防工业职业技术学院 毕业设计论文 题题目目开发小型益智类游戏开发小型益智类游戏 专专业业计计 算算 机机 网网 络络 班班级级网网 络络 50125012 姓姓名名柯柯 小小 凡凡 学学号号0202 指导教师指导教师宫宫护护震震 二二五年五年 陕西国防工业职业技术学院陕西国防工业职业技术学院 毕 业 设 计 任 务 书 专业:网络技术 班级:网络 5012 姓名:柯小凡 学号:02 一、一、 设计题目设计题目 利用 VB 开发小型益智类游戏 二、二、 设计目的设计目的 使用 VB 开发小型益智类游戏, 熟悉常用软件开发过程, 熟悉 VB 语言的使用 三、三、 设计技术参数和设计要求设计技术参数和设计要求 可以利用 VB 编写五子棋游戏,要能够实现网络版的用户对战模式,C 语言 的源程序可以事先给定,也可以自己选择其他的小游戏,要求与五子棋的相同。 四、四、设计应完成的技术资料设计应完成的技术资料 源代码(要有足够的注释语句) 源程序、安装程序(要包括帮助文件) 使用说明书 毕业设计资料汇总(封面;任务书;进度表和平时考核;指导教师评语;答 辩考核和设计成绩;摘要;目录;正文;致谢;参考文献;附录) 五、五、 设计内容与时间安排设计内容与时间安排 二零零五年十一月十四日至二零零六年一月一日 六、六、 设计考核的主要知识点设计考核的主要知识点 VB 程序设计开发能力 七、七、 设计应达到的能力要求设计应达到的能力要求 能够熟练使用 VB 语言进行小型软件的开发 设计时间设计时间:2005年11 月14 日 至2006年 1 月1 日 指导教师签名指导教师签名:宫护震 毕 业 设 计 进 度 表 和 平 时 考 核毕 业 设 计 进 度 表 和 平 时 考 核 周次任务阶段名称及主要内容 检查日期 检查结果 14程序开发总体设计及任务分配11.25良好 15开发主程序中的开局前的窗体12.2良好 16开发公共模块12.9良好 17开发下棋主要代码12.16良好 18解决网络对战问题12.23良好 19优化代码,增加注释,编写论文12.30良好 20 学生签名:柯小凡班级:网络 5012 平时成绩:98 指导教师签名:宫护震 2005 年 12 月 30 日 指 导 教 师 评 语 和 评 分 意 见指 导 教 师 评 语 和 评 分 意 见 学生姓名:柯小凡 评语: 该生在毕业设计的全过程中表现比较认真、遵守纪律。能运用所 学知识分析、解决实际问题,较好的完成毕业设计(论文)任务书 中规定的内容。设计(论文)内容正确,中心明确,论据较充足, 层次较分明,语句通顺。设计(论文)较规范,论文题目与论文的 内容基本相符,结构完整,语言比较流畅 评分:93 指导教师签名:宫护震 2005年 12 月 30 日 毕 业 答 辩 考 核 和 毕 业 设 计 成 绩毕 业 答 辩 考 核 和 毕 业 设 计 成 绩 学生姓名:柯小凡 1.答辩评语: 评分: 2.毕业设计成绩: 根据学生平时表现、指导教师评语意见,经答辩小组考核,综 合评定该生毕业设计成绩为:。 答辩小组: 组长签名: 组员签名: 年月日 题目:利用 VB 开发小型益智类游戏 专业:计算机网络 班级:网络 作者:柯小凡 指导教师:宫护震 摘要 Visual Basic 是一种可视化的、面向对象和驱动方式的结构化高级程序设计语言, 可用于开发 Windows 环境下的各类应用程序。在使用 Visual Basic 基本编程的基础上, 进一步掌握复杂程序的设计方法,包括:创建 VB 工程、用标准控件设计用户界面,文本 和图形、ActiveX 控件、网络编程等。为今后承担 VB 应用程序的开发和维护打下良好的 基础。 本文主要介绍了如何根据实际应用的需要,以Visual Basic 6.0为工具,开发五 子棋益智小游戏. 五子棋,这是一款非常有趣的网络游戏, 界面美观.本软件具有交换选手 等功能. 而且网络游戏模式, 可以做为服务器或客户端双人联机对战, 在欢迎登录界面中 要求用户选择作为主机还是联机,用 server 变量来表示。如果作为主机的话,则进入侦 听状态。假如有联机的话,则进入联机状态。游戏规则为:棋盘为 1515 型,棋手自由 选择是否先手,先得到“五子连珠”者为胜。 在下棋过程中,为了保存下过的棋子的位子使用了 map 数组,map 数组初值为零,可 以有 1,2,3,4 值,分别代表四种棋子图案,黑子,白子,黑红子,红子图案。黑红子 分别代表刚下过的黑子,红子分别代表刚下过的白子。每下一棋子,均将棋盘按照 map 数组调用 DrawScreen 过程重画。 并调用 Gameover 函数判断是否已经连成五子, 如果返回 非零,则说明已经连成五子,显示输赢结果。无论否已经连成五子,均将本步信息通过 senddata 传到对方。 我们也是利用 VB 具有界面美观的这一特点,让同学们熟练使用 VB 语言进行小型游戏 的开发, 以生动形象的VB环境让同学产生对VB语言产生学习的兴趣. 在游戏中找到学习 VB 语言的乐趣,让人们能够灵活运 VB 语言这个软件开发程序。 关键字:map、VB、Bitblt 陕西国防学院电子工程系毕业论文 2 目录 第一章 软件开发总体设计.3 1.1、软件设计目标及主要功能. 3 1.2、聊天片语编辑.3 第二章 源文件清单及功能简介.4 第三章 源程序主要过程清单及功能简介. 5 3.1、net5-1.frm 窗体. 5 3.2、net5-2.frm 窗体. 5 3.3、net5.bas 公用模块.5 第四章 主要代码介绍.7 4.1、Module1 模块.7 4.2、Form1 窗体.8 4.3、Form2 窗体.8 4.4、相关图片.9 第五章 总结.10 致谢. 11 参考文献.12 附录.13 陕西国防学院电子工程系毕业论文 3 第一章 软件开发总体设计 1.1、软件设计目标及主要功能 五子棋是中国古代的传统黑白棋种之一, 为了将其搬上计算机网络, 同时为了锻炼自 己利用 VB 编程序的能力,故将此作为毕业设计的题目。 程式简介 此程序是一个支援网路连线的五子棋游戏, 可以让你透过网路跟你的亲朋好友来场五 子棋大赛, 因单机版的五子棋在其他语言版本中已经比较多, 故本次设计并没有设计单人 的模式,只能利用连线来玩。 游戏规则 1、规则没有依照国际的规定,所以只要任一方先连成五颗就获胜。 2.、当主机的人为先手,下黑子。 连线说明 当主机:1、选择我要当主机,在你的主机 IP选项内的即是你的 IP 2、将 IP 告诉欲加入连线者 3、按确定等待对方加入 4、当出现连线中字样,即连线完成。 加入连线:1、选择我要加入一个连线棋局。 2、将对方的 IP 输入到连线主机 IP选项内 3、按确定连到对方主机 4、当出现连线中字样,即连线完成。 1.2、聊天片语编辑 此程序可以让你一边下棋,一边聊天,不过用在打字的时间可能比下棋还多,所以这 个功能可以让你简少打字的时间, 直接将一些常用的话记录下来, 连线时就可以直接叫出 来了,使用的方法是直接修改 net5.txt 即可。 陕西国防学院电子工程系毕业论文 4 第二章 源文件清单及功能简介 文件清单及功能简介如下: - net5.vbp:工程文件 net5-1.frm:主窗体 net5-2.frm:登陆界面 net5.bas:公共模块 net5.txt:聊天片语 put.wav:落子音乐 net5.exe:可执行文件 陕西国防学院电子工程系毕业论文 5 第三章 源程序主要过程清单及功能简介 3.1、net5-1.frm 窗体 Com1_Click(Index As Integer): Form1 上的 5 个命令按钮的单击事件, 使用 Select Case 语句来分别执行不同按钮的命令,index 是命令按钮数组中的下标。 Form_Load():Form1 窗体加载子过程,主要是将 net5.txt 文本文件中的文字内容加入 到 Combo1 的下拉列表中,用户可以通过更改 net5.txt 中文本的内容更新聊天片语。 Form_Unload(Cancel As Integer):Form1 窗体卸载子过程,停止游戏,并发送消息给 客户端。 Pic1_MouseUp(Button As Integer, ShiftAs Integer, XAs Single, YAs Single),当鼠标点 击棋盘时,将棋盘实际坐标转换成个数坐标,并更新棋子数组,发出落子声音,判断 是否获胜,显示战绩,同时发消息给对方。 Winsock1_ConnectionRequest(ByVal requestID As Long):服务器端用来响应客户端请 求信息的事件。 Winsock1_DataArrival(ByVal bytesTotalAs Long):获得对方数据。 Winsock1_Connect() :客户端用来请求连接的事件函数。 3.2、net5-2.frm 窗体 Command1_Click():处理用户登陆联线前的工作。 command2_Click():结束程序。 Form_Load():form2 窗体的加载事件。 Option1_Click():Option1 的单击事件_将 server 置 1。 Option2_Click():Option1 的单击事件_将 server 置 2。 3.3、net5.bas 公用模块 Main():当运行程序时,装载两个窗体并且将它们显示出来。 DrawScreen():画出棋子 GameOver(a):判断是否五子是否连成一线。 陕西国防学院电子工程系毕业论文 6 Send(mydataAs String):送出资料 GetMyData(Size):接受资料。 OpenCom():将能送出资料的控制项致能。 CloseCom():将能送出资料的控制项除能。 ResetGame():开新棋局,将棋子数组置 0,使战绩图片不显示。 陕西国防学院电子工程系毕业论文 7 第四章 主要代码介绍 4.1、Module1 模块 Bitblt 作用 Declare Sub BitBlt Lib gdi32 (ByVal hDestDC As Long, ByVal XAs Long, ByVal YAs Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRopAs Long) Declare Function sndPlaySound Lib Winmm.dllAlias sndPlaySoundA (ByVal SoundNameAs String, ByVal Flags As Long)As Long Bitblt 作用将某一内存块的数据传送到另一内存块,前一内存块被称为源,后一内 存块被称为目标图像程序开发者使用 Blit 的函数在内存中将某页面上的一幅位图经过 一定的变换转移到另一个页面上。 参数描述 hDestDC:接收位图的设备描述表 X:目标矩形左上角的逻辑 X 坐标 Y:目标矩形左上角的逻辑 Y 坐标 nWidth:目标矩形的宽度 nHeight:目标矩形的高度 hSrcDC:源设备描述表 xSrc:源位图左上角的逻辑 X 坐标 ySrc:源位图左上角的逻辑 Y 坐标 dwRop:拷贝模式,dwRop 的各种可能值为: &HCC0020-dest=source &HEE0086-dest=source OR dest &H8800C6-dest=source AND dest Map 数组 Public map(1 To 15, 1 To 15)主要作用是存放棋盘上棋子信息,棋盘为 1515 点阵, 每一个点对应数组的一个元素,将棋盘上的点全部用 1 到 15 的整数定义其行列坐标,当 数组元素值为 1 时,表示当前棋盘坐标上放置的是黑子,为 2 时表示坐标点上是白子,为 3 和为 4 时表示中间动态显示状态。 Win、Lost 数组 Public Win(1 To 2), Lost(1 To 2)分别存储主机和客户机的胜利和失败的盘数。 陕西国防学院电子工程系毕业论文 8 Refresh刷新 DrawScreen画出棋子 CloseCom将能送出资料的控制项除能 OpenCom将能送出资料的控制项致能 Server 全局变量 Server 存放目前为主机或客户机,其中主机=1,客户机=2。 4.2、Form1 窗体 Com1_ClickForm1 上的 5 个命令按钮的 单击事件 Case 0送出(这是一个送出消息请求的按钮) Case 1清除(这主要功能是清除棋盘上的棋子) Case 2开新棋局(重新进行开始游戏) Case 3重新连线(开始另一个玩家与主机的连线) Case 4断线结束(与玩家的游戏结束) If Button = 1 Then将屏幕坐标转换为棋盘坐标 If a = Server T判断是否有一方已经胜利,并且将结果显示出来 SndPlaySound落子音乐(这是在下棋过程中.每下棋子的落子声音,表示在下子) Winsock1_ConnectionRequest服务器端用来响应客户端请求信息的事件 Winsock1_DataArrival获取对方发送过来的信息(客户端) Winsock1_Connect客户端用来请求连接的事件函数 4.3、Form2 窗体 Winsock1.LocalPort设置主机的本地端口号是 5238 Winsock1.Listen设置为 监听状态 Winsock1.RemoteHost获得主机的 IP 地址 Winsock1.LocalPort本地端口为 0 Label1(2).Caption文本框所显示的玩家的战绩和胜败次数 陕西国防学院电子工程系毕业论文 9 4.4、相关图片 登陆界面: 游戏主界面: 陕西国防学院电子工程系毕业论文 10 第五章 总结 从开始选择对 vb 游戏的设计,我对 vb 只是有所了解,并没有太多的接触,在老师 和同学的帮助下,根据所学的一些 vb 知识以及相关内容,并按照设计题目的要求进行分 析探讨,做了一些简单的构思。在设计过程中,出现了很多的问题,通过不断地分析、解 决问题, 我慢慢熟悉并完成了我们所做的游戏系统, 在这整个设计中不断的学习我体会到: 1在设计过程中,接触了一些新的知识,只有认真积极去努力把它搞清楚,才能成 为自己的东西。 2.由于设计前期有些资料并没有很好的准备,设计过程中出现一些问题,由于自己对 一些需求分析认识不是很清楚, 没能全部实现设计前比较完善的想法, 还有遇到很多困难, 如编写代码, 在这过程中通过了解相关资料上的代码并加以理解其含义, 然后根据自己的 设计要求编写代码,还有因为起初的设计问题,使得其后有些功能实现起来很复杂,但是 我通过茶青找一些书籍使问题得以解决. c. 网络资源是一个丰富的共享体系,设计过程中,由于要实现某些功能,互联网帮 了我的大忙。我通过在网站上查询到一些书上没有的知识,同时也学到了很多,这坚定了我 通过网络吸收知识的信心。 经过一个多月的设计,我知道如果要完成一项工作,首先必须要有一套周密的计划 安排,虚心学习,耐心请教,在实践中及时发现问题并且及时解决问题,不断积累经验, 并根据所学的知识一步一步进行,这样才能有更大的提高和收获. 陕西国防学院电子工程系毕业论文 11 致谢 在这次毕业设计的过程中,我得到了不仅仅是老师的帮助还有同学们的帮助,他们 给予我非常大的帮助并提出了许多宝贵的建议和启发, 尤其是我的指导老师, 他以独特的 建议和一丝不苟的作风以及不拘一格的思路给予我无尽的启迪,并且给予充足的实践时 间,一直是我设计期间的动力,谨在此向他们表示衷心的感谢! 陕西国防学院电子工程系毕业论文 12 参考文献 1 刘炳文-Visual Basic 语言程序设计(修订版),北京:高等教育出版社,2002 2 张勇等-Visual Basic 课程设计案例精编,北京:中国水利水电出版社,2002 3 周峰-Visual Basic 案例开发集锦,北京:电子工业出版社,2005.6 4 Visual Basic 程序设计教程刘瑞新,李树东等编著电子工业出版社,2003 5 Visual Basic 程序设计与应用开发 案例教程曾强聪等, 清华大学出版社,2005 陕西国防学院电子工程系毕业论文 13 附录 源代码 Form1 源代码 Private Sub Com1_Click(Index As Integer)Form1 上的 5 个命令按钮的 单击事件 Select Case Index Case 0 送出 Label3.Caption = Combo1.Text Send 5 + Combo1.Text Case 1 清除 Combo1.Text = Case 2开新棋局 Send 3 ResetGame 如果本机主机的话,pic 图片有效,可以下子否则无效。 If Server = 1 Then Pic1.Enabled = True Else Pic1.Enabled = False Case 3 重新连线 If Label2.Caption = 连线中 Then Send 4 DoEvents End If Winsock1.Close Label2.Caption = 尚未连线 加载联机欢迎窗体 Load Form2 Form2.Show Case 4断线结束 If Label2.Caption = 连线中 Then Send 4 DoEvents End If Winsock1.Close End End Select End Sub Private Sub Form_Load()Form1 窗体加载子过程 Open net5.txt For Input As #1将net5.txt文本文件中的文字内容加入到 Combo1的 下拉列表中 Do Input #1, Gdata从文件中读一行数据到 Gdata 中 Combo1.AddItem Gdata将 Gdata 中的内容放入到下拉框的下拉选项中 If EOF(1) Then Close #1: Exit Sub如果文件中内容已经读取完毕,则退出此过程 Loop 陕西国防学院电子工程系毕业论文 14 End Sub Private Sub Form_Unload(Cancel As Integer)Form1 窗体卸载子过程 If Label2.Caption = 连线中 Then Send 4 DoEvents End If Winsock1.Close End End Sub Private Sub Pic1_MouseUp(ButtonAs Integer, ShiftAs Integer, XAs Single, YAs Single) 设置棋盘(pic1)的坐标 If Button = 1 Then 将屏幕坐标转换为棋盘坐标 sx = Fix(X / 21) + 1: sy = Fix(Y / 20) + 1 If map(sx, sy) 0 Then Exit Sub Call sndPlaySound(put.wav, 0)落子音乐 map(sx, sy) = Server DrawScreen a = GameOver(Server) If a = Server Then判断是否有一方已经胜利,并且将结果显示出来 Image1(0).Visible = True Win(Server) = Win(Server) + 1 If Server = 1 Then Lost(2) = Lost(2) + 1 Else Lost(1) = Lost(1) + 1 Form1.Label1(2).Caption = 战绩: + Str(Win(1) + 胜 + Str(Lost(1) + 败 Form1.Label1(4).Caption = 战绩: + Str(Win(2) + 胜 + Str(Lost(2) + 败在 文本框显示胜败次数和战绩 End If Send 1 + Chr(sx) + Chr(sy)发送信息到对方机子 Pic1.Enabled = False End If End Sub Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)服务器端用来响 应客户端请求信息的事件 If Winsock1.State sckClosed Then Winsock1.Close Winsock1.Accept requestID Label2.Caption = 连线中 OpenCom Pic1.Enabled = True End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotalAs Long)获取对方发送过来 的信息(客户端) 陕西国防学院电子工程系毕业论文 15 GetMyData bytesTotal End Sub Private Sub Winsock1_Connect()客户端用来请 求连接的事件函数 Label2.Caption = 连线中 Send 2 + Label1(3).Caption OpenCom End Sub Form2 源代码 Private Sub Command1_Click() If Server = 1 Then 自己作为主机 Form1.Winsock1.LocalPort = 5238设置主机的本地端口号是 5238 Form1.Winsock1.Listen设置为 监听状态 Form1.Label1(1).Caption = 黑子: + Text1.Text Form1.Label1(3).Caption = Form1.Label2.Caption = 等待加入中 Else 自己作为联机 Form1.Winsock1.RemoteHost = Text2.Text获得主机的 IP 地址 Form1.Winsock1.RemotePort = 5238 Form1.Winsock1.LocalPort = 0本地端口为 0 Form1.Winsock1.Connect Form1.Label1(1).Caption = Form1.Label1(3).Caption = 白子: + Text1.Text Form1.Label2.Caption = 正在连线到主机 End If Form1.Label1(2).Caption = 战绩: + Str(Win(1) + 胜 + Str(Lost(1) + 败 Form1.Label1(4).Caption = 战绩: + Str(Win(2) + 胜 + Str(Lost(2) + 败 Form1.Show Form1.Pic1.Enabled = False Form1.Enabled = True Form2.Hide Unload Form2 ResetGame End Sub Private Sub Command2_Click()结束此程序 End End Sub Private Sub Form_Load()form2 窗体的加载事件 陕西国防学院电子工程系毕业论文 16 Form1.Enabled = False CloseCom Text2.Text = Form1.Winsock1.LocalIP Server = 1 Win(1) = 0 Win(2) = 0 Lost(1) = 0 Lost(2) = 0 End Sub Private Sub Option1_Click()Option1 的单击事件_将 server 置 1. Text2.Text = Form1.Winsock1.LocalIP 本机作为主机即 server=1 Server = 1 End Sub Private Sub Option2_Click()Option1 的单击事件_将 server 置 2. Label3.Caption = 连线主机 IP Text2.Text = 0.0.0.0 本机作为联线即 server=2 Server = 2 End Sub Module1 源代码 Declare Sub BitBlt Lib gdi32 (ByVal hDestDC As Long, ByVal XAs Long, ByVal YAs Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRopAs Long) Declare Function sndPlaySound Lib Winmm.dllAlias sndPlaySoundA (ByVal SoundNameAs String, ByVal Flags As Long)As Long Bitblt 作用将某一内存块的数据传送到另一内存块, 前一内存块被称为源,后一内存 块被称为目标图象程序开发者使用 Blit 的函数在内存中将某页面上的一幅位图经过一 定的变换转移到另一个页面上 Global Const srccopy = &HCC0020将源矩形图象直接复制到目标矩形上. Global Const srcand = &H8800C6将目标文件中对应于源文件黑色区域的部分变 黑,将对应于白色区域的部分留着不动 Global Const srcor = &HEE0086 Public map(1 To 15, 1 To 15)棋盘坐标 Public Win(1 To 2), Lost(1 To 2)储存胜败次数 Public Server存放目前为主机或客户机 主机=1 客户机=2 Sub Main() 当运行程序时,装载两个窗体并且将它们显示出来 陕西国防学院电子工程系毕业论文 17 Load Form1 Load Form2 Form1.Show Form2.Show End Sub Sub DrawScreen()画出棋子 X = 3: Y = 2 map 数组存放的是棋盘上棋子信息,Pic2 图片存放四种棋子图案,黑子,白子,黑 红子,红子图案 For i = 1 To 15 For j = 1 To 15 If map(i, j) = 1 Then BitBlt Form1.Pic1.hDC, X, Y, 21, 20, Form1.Pic2.hDC, 0, 0, srccopy If map(i, j) = 2 Then BitBlt Form1.Pic1.hDC, X, Y, 21, 20, Form1.Pic2.hDC, 21, 0, srccopy If map(i, j) = 3 Then BitBlt Form1.Pic1.hDC, X, Y, 21, 20, Form1.Pic2.hDC, 42, 0, srccopy If map(i, j) = 4 Then BitBlt Form1.Pic1.hDC, X, Y, 21, 20, Form1.Pic2.hDC, 63, 0, srccopy Y = Y + 20 Next j Y = 2 X = X + 21 Next i Form1.Pic1.Refresh刷新 End Sub Sub Send(mydataAs String)送出资料 Form1.Winsock1.SendData mydata传 mydata 到对方那里 End Sub Sub GetMyData(Size)接受资料 Dim mydataAs String Form1.Winsock1.GetData mydata, vbString Select Case Mid(mydata, 1, 1) Case 1棋子的资料 If Server = 1 Then s = 2 Else s = 1 Call sndPlaySound(put.wav, 0) sx =Asc(Mid(mydata, 2, 1) sy =Asc(Mid(mydata, 3, 1) map(sx, sy) = s + 2 DrawScreen画出棋子 map(sx, sy) = s 陕西国防学院电子工程系毕业论文 18 a = GameOver(s) Form1.Pic1.Enabled = True If a = s Then Form1.Image1(1).Visible = True Form1.Pic1.Enabled = False Lost(Server) = Lost(Server) + 1 Win(s) = Win(s) + 1 Form1.Label1(2).Caption = 战绩: + Str(Win(1) + 胜 + Str(Lost(1) + 败 Form1.Label1(4).Caption = 战绩: + Str(Win(2) + 胜 + Str(Lost(2) + 败 End If Case 2名字资料 If Server = 1 Then自己作为主机 Form1.Label1(3).Caption = Mid(mydata, 2, Size - 1) Send 2 + Form1.Label1(1).Caption等待加入中 Else自己作为联机 Form1.Label1(1).Caption = Mid(mydata, 2, Size - 1) End If Case 3开新棋局送的资料 ResetGame Case 4对方断线送的资料 Form1.Label2.Caption = 尚未连线 Form1.Pic1.Enabled = False CloseCom Form1.Winsock1.Close Case 5聊天视窗的资料 Form1.Label1(0).Caption = Mid(mydata, 2, Size - 1)你输了 Case Else End Select End Sub Function GameOver(a)判断是否连成五颗 For i = 1 To 11 For j = 1 To 11表示开始画棋子 If map(i, j) = aAnd map(i + 1, j + 1) = aAnd map(i + 2, j + 2) = aAnd map(i + 3, j + 3) = aAnd map(i + 4, j + 4) = a Then GameOver = a: Exit Function先定位棋盘的坐标, 再检查其棋盘值是否为 1,为 1 则有棋子在此坐标上 Next j Next i For i = 5 To 15 For j = 5 To 15 If map(i, j) = aAnd map(i - 1, j - 1) = aAnd map(i - 2, j - 2) = aAnd map(i - 3, j - 3) = a And map(i - 4, j - 4) = a Then GameOver = a: Exit Function Next j Next i 陕西国防

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论