vb新手,看看代码问题
Dim Pel As Integer '人数Dim Num As Integer '每人持有牌数
Dim Re As Integer '定义从何人发牌
Dim Seq As Integer '控制发牌顺序
Dim Pm(1 To 54) As Integer '存储54个数值对应扑克点数
Dim ww As Integer ' 存储母牌消失的位置
Private Sub Form_Load()
Load Form1
Pel = 4: Num = 5 '游戏人数和持有牌数,根据玩家需要设置
For i = 2 To 54 '载入其他53张母牌图片,当然都是背面图案
Load ta(i)
ta(i).Visible = True
ta(i).Left = ta(i - 1).Left - 35
Next i
For i = Num + 1 To (Pel - 1) * Num + 1 Step Num '载入每个玩家第一张牌
Load Pp(i)
Next i
Pp(1).Left = 4680: Pp(1).Top = 5520 '以下是每个玩家第一张牌的位置。根据玩家多少可以修改和添加
Pp(Num + 1).Left = 9240: Pp(Num + 1).Top = 4200
Pp(2 * Num + 1).Left = 6360: Pp(2 * Num + 1).Top = 1920
Pp(3 * Num + 1).Left = 1800: Pp(3 * Num + 1).Top = 2760:
End Sub
Sub Rep() '洗牌子过程。产生1-54个不同的数值,是游戏的灵魂。
Randomize
Pm(1) = Int(Rnd * 54 + 1)
For i = 2 To 54
110: Pm(i) = Int(Rnd * 54 + 1)
For j = 1 To i - 1
If Pm(i) = Pm(j) Then GoTo 110
Next j
Next i
End Sub
Private Sub Ck_Click() '发牌
Call Rep '载入洗牌过程。
T1.Enabled = True
Ck.Visible = False
Re = 4 '设定先从谁发牌。1、2、3、4分别代表不同的玩家。必要时应将本代码移到其他过程中,根据游戏进程设置条件改变re的值。
Seq = Re * Num - Num + 1 '先发牌的玩家第一张牌的序号。比如玩家为4人,每人5张牌,则牌的序号分别为1-5,6-10,11-15,16-20。如果先从北家发牌则第一张牌的序号为11
End Sub
一个类似vb斗地主的程序