VB6.0五子棋代码

上传人:s9****2 文档编号:430956076 上传时间:2022-10-20 格式:DOC 页数:12 大小:180KB
返回 下载 相关 举报
VB6.0五子棋代码_第1页
第1页 / 共12页
VB6.0五子棋代码_第2页
第2页 / 共12页
VB6.0五子棋代码_第3页
第3页 / 共12页
VB6.0五子棋代码_第4页
第4页 / 共12页
VB6.0五子棋代码_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《VB6.0五子棋代码》由会员分享,可在线阅读,更多相关《VB6.0五子棋代码(12页珍藏版)》请在金锄头文库上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流VB6.0五子棋代码.精品文档.VB实验结课报告五子棋班级: 旅121 姓名: 范梦涵 学号: 121352 实验题目:五子棋软件设计实验要求:1基本要求:(1)输入两个对手名字,然后进入游戏界面。(2)用鼠标点击的方式在棋盘上摆放棋子,黑白交替。(棋盘15*15)(3)可以悔棋。(4)五子连在一起的时候能判断胜利,并且显示出胜利者的名字。(5)能够将棋局的结果保存,保存该棋局结束的状态、对手名字、 棋局名字(棋局名字在保存时由用户在相应的界面下添入)(此功能要求用数据库和文件两种技术实现)。(6)棋局能够恢复,即重新打开,打开后出现棋局结束

2、的状态、对手名字(此功能要求用数据库和文件两种技术实现)。2其它要求:(1)界面友好、漂亮。(2)程序尽可能无bug。(3)程序健壮性强,基本上达到无论用户如何操作,软件都不出错,都有相应的处理方法。实验目的:1通过五子棋软件设计或者自拟题目设计,巩固本课程所学的各个章节重点知识,自拟题目的同学需尽早向教师提出自己的想法及设计方案。2通过开发一个较大的系统,增强软件开发能力。3通过调试系统,增强逻辑思维能力。设计日期:2013年12月4日完成日期:2013年12月26日实验体会:通过对五子棋软件设计的编程结束,我所体会到的不仅是关于这个软件给我带来的感受,还有对于这个课的感触。其实在一开始看到

3、课表安排上游vb的时候就觉得,我们一个文科专业为什么要学编程?随着课程的开展老师确实是从零基础一点一点细心的教起,有些例子程序若是班里人明白的少老师就会多讲几遍直到大家都听明白了为止,并且上课的时候并不是老师自己讲自己的,而是时不时的就会关心全班是否真的都在认真听课,并且能够真正的关心到“边缘同学”,但是尽管是在这样的情况下,我偶尔也会开开小差,课后实验也会稍稍参考一下同学的代码,就是这样有问题没有及时的弄明白导致最后在编五子棋代码时,出现了许多问题。其实在当初老师让在自拟题目和五子棋当中选择一个作为结课作业的时候,我最开始想选择的是自拟题目,因为我觉得这样可以得到高一点的分数,但是再说了两个

4、题目都被老师说不太合适之后我便选回了五子棋,现在想想当初真的是自己想太多了,光想到成绩,没有想到自己是不是有那么高的实力,以为就算自己上课听得不是特别的认真,但是上网找找别人的代码自己再根据书本和老师的课件便能理解了然后编出自己的代码。但事实并非如此,在老师给了大部分五子棋代码并且讲解过后,还是出了好多问题的我来说,还好当初没选自拟题目。下面我说一说对于五子棋软件设计的感受。既然决定了制作五子棋,于是就每节理论课都跟着老师的思路走,认真听,为了可以抄清楚老师的代码和防止自己在开小差坐在第一排。老师首先讲的是关于Form1和Form2的制作,同时讲那两个窗体的过程中告诉了我们一个如果使用的这个定

5、义变量过多的话便在模块里面定义。还讲了棋盘的画法,以及赢棋判断的其中一种。当时在抄代码,听思路的时候没觉得什么难度,但是当第二天自己真正上机的时候问题就一个一个的来了。Form1的制作并没有什么特别大的难度,主要问题都出在了Form2上。首先是数组定义的类型不认识,所以为什么这么定义就不了解,于是再去查课件,查书找清楚每一个代表什么意思,然后再看这些变量在代码中的那些位置,就慢慢地能明白为什么这么定义了。当然寻找变量一行一行读代码的过程中也会发现自己不明白的专业名词,又不知具体在书上的那些地方,就上网找。终于总算还算顺利的读下来了。但还没有轻松多久另一个难题就又来了,关于赢棋判断的另外三个方向

6、。一开始竖着的判断时很简单,因为我以为只要像横着的一样把x坐标和y坐标调换一下就可以了,但是当做到斜着的方向判断时x坐标y坐标同时改变时便不知道如何改变了。先是照着老师的循环变量更改,因为只要定义两个变量就可以了,但是当运行之后却告诉我循环已经用过了,然后我自己读代码又不看不出有什么错误,我便去问老师,老师说循环语句写错了,不是嵌套的给写成嵌套格式了。改过之后,我问老师是不是调换一下坐标就能把斜的也做出来,老师说不是这样的,你要先了解我为什么这么写循环,然后要是循环不理解的话写列举法也行。我当时就想列举法要写好多点,代码肯定看起来不如循环的看上去简便。于是我开始拿了一张纸在上面分别写了好几组横

7、着、竖着、斜着怎样是赢棋的坐标,然后找到其中的规律再结合这老师前面给的循环,发现自己明白了点。一种斜着的是x坐标y坐标的变换方式是同加同减的,另一种是一个加一个减的。既然规律找到了,那么下一难关就是循环变量的范围,在这中我试过把两个都用一个范围,后来发现不行,于是我便先试其中一种斜着的我试过0 to 4然后写坐标的的加减变换,然后发现不行,于是我把加减变换调换了一下发现还是不行,老师提示我超标线。所以我就换了个范围终于在试到4 to 0 step -1是成功了,所以我就想这个范围是不是在同加同减的那种形式下也可以呢?但是试过后发现又是超标,然后我就想到两个的起点坐标不一样是不是范围应该取值对称

8、一下,于是0 to -4 step -1成功了。终于就这样我在制作五子棋的过程中的第一大难题攻克了。接下来随着老师讲的逐渐深入,自己也及时理解还不算太过困难。但是在棋局库哪里却出了问题,代码没有问题,但是数据库就是打不开,后来询问老师,老师也找了半天没有找出问题所在,便让我再重新建立个数据库或者换个电脑,但是试过之后还是不行,于是我便去找老师,终于在老师的细心寻找下,终于找到了问题所在,没有把数据库改成该有的格式。在这两个我认为在编程中遇到的两大问题的过后,尽管还是遇见了很多小问题,但还是解决了,老师要求我们自己做到的功能,再仔细研读老师的代码后也完成了。但是在这一切还比较顺利的过程中也出了个

9、小插曲,就是在最后一节上机课前,我给优盘杀了个小病毒,结果就最后一次码代码的时候发现,以前编的部分代码缺失,不过还好不是全都没了还是能很快补了回来的。幸亏老师在之前提醒过这种情况的发生,我先把代码做了备份,要不就真的又是一个大工程了。最后我想说的是尽管这真的是一个编程的课程,但是它教给我们的不仅仅是代码,不仅仅是如何制作软件。就像老师说的那样它交给我们的是解决问题如何思考的方式,如何抓住问题的根本,遇到问题应该勇于找解决办法。就像在编程的过程中遇到不会的问题不能理解的名词,就要及时的查书,上网查,和及时的问老师,当然其中不乏有一些因为上课你没有特别的认真听而问出的一些特别基础的问题,但是老师都

10、一一的细心解答了。我觉得老师交给我们的这些不仅仅能用在这节课上,还可以用在其余的课程以及今后的道路上,所以在这里很感谢老师。以上就是我所有关于五子棋以及关于这个课的体会、感受。全部界面:游戏最开始玩家姓名输入游戏开始与赢棋判断保存棋局库打开棋局库保存棋局文件打开棋局文件悔棋全部代码:Modulel(全局变量)Public wanjia1 As StringPublic wanjia2 As StringPublic blackwhite As BooleanPublic wuziqi As BooleanPublic a(-11 To 11, -11 To 11) As IntegerDim

11、i As IntegerDim j As IntegerDim countblack As IntegerDim countwhite As IntegerPublic Sub paint()countblack = 0countwhite = 0Form2.Picture1.ClsFor i = -7 To 7Form2.Picture1.Line (-7, i)-(7, i), QBColor(0)Form2.Picture1.Line (i, -7)-(i, 7), QBColor(0)NextForm2.Picture1.FillStyle = 0For i = -7 To 7For

12、j = -7 To 7If a(i, j) = 1 ThenForm2.Picture1.FillColor = QBColor(0)Form2.Picture1.Circle (i, j), 0.3, QBColor(0)countblack = countblack + 1End IfIf a(i, j) = 2 ThenForm2.Picture1.FillColor = QBColor(15)Form2.Picture1.Circle (i, j), 0.3, QBColor(15)countwhite = countwhite + 1End IfNextNextIf countbla

13、ck = countwhite Thenblackwhite = TrueElseblackwhite = FalseEnd IfIf blackwhite = True ThenForm2.Label1.Caption = 该黑方 + wanjia1 + 走ElseForm2.Label1.Caption = 该白方 + wanjia2 + 走End IfEnd SubForm1:Private Sub Command1_Click()If Trim(Text1.Text) = Or Trim(Text2.Text) = ThenMsgBox 请输入姓名Exit SubEnd Ifwanji

14、a1 = Text1.Textwanjia2 = Text2.TextForm2.ShowUnload MeEnd SubForm2:Dim m As SingleDim n As SingleDim x0 As SingleDim y0 As SingleDim shubiao As IntegerPrivate Sub Command1_Click()Label1.Caption = 该黑方 + wanjia1 + 走blackwhite = Truewuziqi = TruePicture1.ClsFor i = -7 To 7Picture1.Line (-7, i)-(7, i),

15、QBColor(0)Picture1.Line (i, -7)-(i, 7), QBColor(0)NextFor i = -11 To 11For j = -11 To 11a(i, j) = 0NextNextEnd SubPrivate Sub Command2_Click()Form3.ShowEnd SubPrivate Sub Command3_Click()Form4.ShowEnd SubPrivate Sub Command4_Click()CommonDialog1.Filter = *.wzq|*.wzqCommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1Print #1, wuziqiFor i = -7 To 7For j = -7 To 7If a(i, j) 0 ThenPrint #1, iPrint #1, jPrint #1, a(i, j)Print #1, wanjia1Print #

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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