窗体上放一个Frame1,并把它的Index属性改为0
添加代码
Dim p&, gs&, xj&
Private Sub Form_Load()
Frame1(0).Move 0, 0, 1200, 1200
Frame1(0).Caption = ""
Me.Move 3000, 3000, 1200 * 5 + 120, 1200 * 5 + 600
For i = 1 To 24
Load Frame1(i)
Frame1(i).Move 1200 * (i Mod 5), 1200 * (i \ 5)
Frame1(i).Visible = True
Next
Me.KeyPreview = True
Call ReSet
End Sub
Sub ReSet()
Frame1(p).BackColor = Me.BackColor
Frame1(gs).Caption = ""
Frame1(xj).Caption = ""
Frame1(0).Caption = "入口"
Frame1(24).Caption = "出口"
p = 0
Randomize
gs = (Rnd * 100) Mod 23 + 1
redo:
xj = (Rnd * 100) Mod 23 + 1
If xj = gs Then GoTo redo
Frame1(gs).Caption = "怪兽"
Frame1(xj).Caption = "陷阱"
Frame1(p).BackColor = vbBlue
Me.Caption = "Go!!!"
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim pl&, pr&, pu&, pd&
GetNext p, pl, pr, pu, pd
Frame1(p).BackColor = Me.BackColor
Select Case KeyCode
Case 37: p = pl '左
Case 38: p = pu '上
Case 39: p = pr '右
Case 40: p = pd '下
End Select
Frame1(p).BackColor = vbBlue
GetNext p, pl, pr, pu, pd
tmp$ = Frame1(pl).Caption & Frame1(pr).Caption & Frame1(pu).Caption & Frame1(pd).Caption
Me.Caption = IIf((InStr(tmp, "陷阱") = 0) And (InStr(tmp, "怪兽") = 0), "继续", "小心了")
If p = 24 Then MsgBox "过关": Call ReSet
If p = gs Or p = xj Then MsgBox "翘了": Call ReSet
End Sub
Sub GetNext(ByVal p, pl&, pr&, pu&, pd&)
pl = IIf(p Mod 5, p - 1, p)
pr = IIf((p + 1) Mod 5, p + 1, p)
pu = IIf(p - 5 < 0, p, p - 5)
pd = IIf(p + 5 > 24, p, p + 5)
End Sub
不知是不是这个意思
乱写的,参考着自己改吧
这个计算器是我练习用的,你看看吧:
http://www.ruiyuan-power.cn/sfw/calc.rar
Private Sub Command1_Click()
Cls '清屏
Dim a(1 To 5, 1 To 5) As Integer '
Dim s As Integer
Dim i, j As Integer
s = 0
For i = 1 To 5
For j = 1 To i
a(i, j) = Int(Rnd * 100) 'a(i,j)是0到99的随机数
s = s + a(i, j) 's为这些随机数的和
Print a(i, j) '输出随机数
Next j
Next i
Print "总和为"; s; '输出和
End Sub
fei
什么是伪代码啊,看以上答案好像都不正确啊。