VB环境下拼图游戏的开发

时间:2022-08-22 02:08:03

VB环境下拼图游戏的开发

摘要:在VB环境下利用第三方控件TilePuzzle开发拼图游戏,以及给游戏开发出进一步完善的效果,并给出了源代码。通过小游戏的开发,提高学习者的兴趣。

关键词:VB;拼图游戏;TilePuzzle

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)30-0609-02

The Exploitation of Jigsaw Puzzle Based on Visual Basic

HUANG Min

(Xuzhou Normal Higher School, Xuzhou 221116, China)

Abstract: makeing use of the third party control tilepuzzle to explore jigsaw puzzle,and to improve the effect of the game.it will offer the code of the game.by the exploitation of this small game,it will boost the interest of learner.

Key words: VB; Jigsaw Puzzle; Tilepuzzle

1 引言

大家都玩过拼图游戏,但有没有想过自己也开发一个。在Bisual Basic的环境下,我们可以开发出功能非常完善的拼图游戏。

VB的基本概念的学习很简单,但实际编程时却常常感到无从着手,尤其是一些综合的实例更感觉遥不可及。对于任何学习者,想一步完成所有的效果,那是不可能的。将实例分解,先解决其中主要的一个或两个问题,其他的再慢慢解决,即使解决不了,也只是程序的效果不算完善,并不算是没有解决。

2 TilePuzzle控件

如何把图片分割成小图片,并且能设置图片的移动呢?在拼图游戏中,要用到一个第三方控件TilePuzzle 控件,是另外软件供应商提供的控件。要先装入VB的控件工具箱。它有一些常用的属性和事件:

Cols属性:该属性是指把拼图图像分割的列数。

Rows属性:该属性是指把拼图图像分割的行数。

Picture属性:该属性是指设置拼图控件中的图形。

Moved方法:该方法在图像移动时发生。

Solved方法:该方法在拼图完成时发生。

利用这些属性和事件,以及VB的其他控件。我们就可以去开发拼图游戏了。

3 拼图游戏的初步效果

先来做一个有初步拼图效果的程序。在这个程序里用两个按钮,第一个按钮是“开局”,点击按钮后,需要向

TilePuzzle中加载图片,还需要将图片分成2行2列打乱次序。

Private Sub Command1_Click()

TilePuzzle1.Cols = 2

TilePuzzle1.Rows = 2

TilePuzzle1.Randomize

End Sub

第二个按钮是“下一关”,当拼图游戏完成后点击按钮进入下一关,拼图的行和列都要增加:

Private Sub Command2_Click()

TilePuzzle1.Cols = TilePuzzle1.Cols + 1

TilePuzzle1.Rows = TilePuzzle1.Rows + 1

TilePuzzle1.Randomize

End Sub

在进行拼图游戏的时候,定义窗体变量m记录移动的次数。可以通过标签在窗体上显示出m的值。让玩家在游戏时看到自己的成绩。

Private Sub TilePuzzle1_Moved()

m = m + 1

Label1.Caption = m

End Sub

当本次拼图完成时,弹出消息框,“恭喜过关,下关更要努力”,同时进入下一关:

Private Sub TilePuzzle1_Solved()

MsgBox "恭喜过关,下关更要努力"

TilePuzzle1.Cols = TilePuzzle1.Cols + 1

TilePuzzle1.Rows = TilePuzzle1.Rows + 1

TilePuzzle1.Randomize

m=0

Label1.Caption = m

End Sub

到此为止,这个游戏的雏形就算完成了。但是我们还需要对它做进一步的完善。

4 拼图游戏的效果完善

4.1 拼图图片的更改

先增加第三按钮“加载图片”,点击按钮,玩家可以从电脑里选择自己喜欢的图片来进行拼图游戏。还需要增加对话框控件,用来显示打开文件对话框。由于TilePuzzle是第三方控件,所以它不能应用loadpicture来加载图片,所以必须借助image控件来加载。这两个控件的大小位置均设置相同,加载的图片也是一样的。在游戏开始前,只需要一个控件显示就可以。游戏开始时,让TilePuzzle控件显示,image控件隐藏。

Private Sub Command3_Click()

CommonDialog1.Filter = "Jpg(*.jpg)|*.jpg|Gif(*.gif)|*.gif"

CommonDialog1.ShowOpen

pic = CommonDialog1.FileName

If pic "" Then

Image1.Picture = LoadPicture(pic)

TilePuzzle1.Visible = False

Image1.Visible = True

End If

End Sub

同时要修改开局按钮的代码:

Private Sub Command2_Click()

Set TilePuzzle1.Picture = Image1.Picture

TilePuzzle1.Left = Image1.Left

TilePuzzle1.Top = Image1.Top

Image1.Visible = False

TilePuzzle1.Visible = True

TilePuzzle1.Cols = 2

TilePuzzle1.Rows = 2

TilePuzzle1.Randomize

End Sub

4.2 拼图的时间的记录

玩家在进行拼图游戏的时候,除了用走的步数来衡量之外,还需要拼图时间。定义窗体变量n记录时间。并设置时钟控件的属性和变量n的值。注意,在每一局游戏完成之后,n要清零。

Private Sub Timer1_Timer()

n=n+1

Label3.Caption = n

End Sub

这样,一个效果比较完善拼图游戏就完成了。全部完成之后,可以把程序生成可执行的EXE文件,就可以在脱离VB的环境下玩自己设计的拼图游戏了。

5 结束语

本文利用第三方控件和VB内部控件,开发了一个益智小游戏,从简单的步步完善,引发学习者的探究和思考,从而不断扩展知识。同时也让学习者同枯燥的程序设计中找到乐趣。

参考文献:

[1] 刘恩涛.VB6.0编程技巧与实例分析[M].北京:中国水利水电出版社,1999.

[2] 刘炳文.Visual Basic 6.0程序设计[M].北京:人民邮电出版社,1999.

[3] 伍俊良.VB6控件应用实例教程[M].北京:北京希望电子出版社,2002.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:电子公文管理系统设计与实现 下一篇:浅谈在Linux系统中以太网数据帧的监听与分析