vb课设数字拼图怎么初始化,高手进

vb课设数字拼图怎么初始化,高手进,第1张

先解释一下P:

早期BASIC中每一句代码前都有一个数字来作标识表示程序执行的顺序,后来在VB中不用了,但还是保留了这一习惯,这个P就是用来表示a = Rnd 8这句代码的位置的标识

GOTO语句,又称无条例转移指令,表示程序执行到这里时立即转移, 而GOTO P 就是转移到标记为P的指令处,在这里指执行 a = Rnd 8 这一句

Randomize 初始化随机数生成器,注意到下面一句RND没有RND:产生一个随机数,随机数的产生一般用系统计时器返回的值作为新的种子值,如果没有对随机数生成器进行初始化,当下一次运行RND 时还是使用第一个种子数,这样产生的随机数就会和上一次一样,等于没有产生所以要初始化,Randomize就是实现这个功能的

明白了吧

解释整修程序

Private Sub Command2_Click()

Dim num(7) As Integer'定义一个数组

Dim a As Integer'不用说吧

Dim b As Integer

Dim c As Integer

Randomize ' 初始化随机数生成器,应该放在DO语句的下面吧

Do While b < 8'如果b >= 8'就转移到标识为LOOP下面的那一语句

p: a = Rnd 8 'p:这一句的标识是P

If a =0 Then

GoTo p '如果a =0就转移到标识为P的语句那里去

End If

If b = 0 Then

num(b) = a

b = b + 1

GoTo p '如果b =0就转移到标识为P的语句那里去

End If

For c = 0 To b - 1

If num(c) = a Then

GoTo p '如果c =0就转移到标识为P的语句那里去

End If

Next c

num(b) = a

b = b + 1

Loop'转移到Do While b < 8处

Com(0)Caption = ""'后面的就不写了吧

Com(0)Enabled = True

Com(0)Visible = False

For a = 0 To 7

Com(a + 1)Enabled = True

Com(a + 1)Visible = True

Com(a + 1)Caption = num(a)

Next a

Timer1Enabled = True

Label1Caption = 0

Label3Caption = 0

Command1Visible = True

End Sub

不知道你要干什么,不明白具体需求

我以前有做过拼图游戏,我是用控件组做的。8块图名字分别为pic(1~8)。那时那种打乱方法原理大概是这样:8个拼图随机抽取2个,交换它们的位置,即交换top值和left值。这样循环多次。若你在picturebox里添加image也可以。

代码框架就是这样:

for i = 1 to 10 '这里10指进行10次位置交换

a = rnd(7) + 1

b = rnd(7) + 1

do while (a = b) '判断a是否=b,若为是,继续产生随机数,直到a<>b为止。

a = rnd(7) + 1

b = rnd(7) + 1

loop

cucuntop = pic(a)top

cucunleft = pic(a)left

pic(a)top = pic(b)top

pic(a)left = pic(b)left

pic(b)top = cucuntop

pic(b)left = cucunleft

next i

这个我做过

用PHOTOSHOP或其它软件先把你的分成想要的块数

他就成了多张了啊

vb 不是处理软件

不能这样撒

以上就是关于vb课设数字拼图怎么初始化,高手进全部的内容,包括:vb课设数字拼图怎么初始化,高手进、VB 数字的移动,数字拼图游戏九格的! 截图如下,求打乱的方法我做出来的会重复。不知道为什么,求高手、关于拼图游戏(vb程序)的自定义分割块数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9425071.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存