ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > vb写的【麻将】游戏

vb写的【麻将】游戏

作者:绿色风 分类: 时间:2022-08-18 浏览:95
楼主
HHAAMM
闲来无事,网友提议写个麻将玩,所以就动手写了
原本是excel+dll版的,后来感觉不如直接写成exe的来的方便
由裁剪图片到寻找声源到设计算法到编写代码,花费了不少精力
目前不能“吃、碰、杠”

说明:
1、点击‘开’,开始游戏
2、点住文字“大赛”下的蓝色小点不放,拖动窗体
3、点住文字“大赛”下的棕色小点不放,最小化窗体
4、当出现听牌的牌后,先点击“点击听牌”,再打出不要的牌,之后才可以胡牌

代码见9\10\11楼
麻将.rar
2楼
HHAAMM
不知发错地方没有
3楼
gouweicao78
没错,谢谢郝兄分享!
4楼
HHAAMM
黄兄、陈兄:
原本是想共享的,可VB的该怎么办
是把代码贴上来,还是把那一堆VB文件传上来
5楼
HHAAMM
如果是EXCEL+动态链接库的,也存在这个问题,dll里的代码也看不到。
6楼
apolloh
如果要共享应该是放上编译前的工程和模块文件。
7楼
chrisfang
是不是可以考虑把几个主要算法模块的代码贴一下,不需要把整个工程贴上来吧?
8楼
HHAAMM
好的
分几次吧,一次发帖的字数有限制
  1. '透明
  2. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  3. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  4. Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  5. Private Const WS_EX_LAYERED = &H80000
  6. Private Const GWL_EXSTYLE = (-20)
  7. Private Const LWA_ALPHA = &H2
  8. Private Const LWA_COLORKEY = &H1
  9. Private Declare Function ReleaseCapture Lib "user32" () As Long
  10. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  11. Private Const WM_NCLBUTTONDOWN = &HA1
  12. Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  13. '播放
  14. Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
  15. Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
  16. Const SND_SYNC = &H0 '同步调用,声音播放完毕,程序才能继续
  17. Const SND_ASYNC = &H1 '非同步调用,不必等声音播放完毕,程序即可继续
  18. Const SND_LOOP = &H8 '声音播放完毕后,从头重复播放,与SND_ASYNC(=&H1)使用
  19. Const SND_NOSTOP = &H10 '如果其他声音正在播放,则不终止该声音的播放,而返回False
  20. Const SND_MEMORY = &H4 '播放内存中的声音
  21. Dim bArr() As Byte
  22. '暂停
  23. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  24. '给动态添加的控件添加事件
  25. Private WithEvents btnObj As CommandButton
  26. '记录已经使用的个数
  27. Dim GeSu()
  28. '窗体移动
  29. Dim CTYD As Boolean
  30. '听牌限制
  31. Dim TPAIXIANZICANSU As Boolean
  32. '窗体加载
  33. Private Sub Form_Load()
  34.     Dim rtn As Long, A As Integer
  35.     Me.BackColor = &HFF0000
  36.     BorderStyler = 0
  37.     rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
  38.     rtn = rtn Or WS_EX_LAYERED
  39.     SetWindowLong hwnd, GWL_EXSTYLE, rtn
  40.     SetLayeredWindowAttributes hwnd, &HFF0000, 0, LWA_COLORKEY
  41.     A = 1111
  42.     For i = 0 To Image3.Count - 1
  43.         Image3(i).Left = A
  44.         Image3(i).Top = 7300
  45.         Image4(i).Left = A
  46.         Image4(i).Top = 500
  47.         A = A + 367
  48.     Next
  49. End Sub
  50. '单击头像
  51. Private Sub Image1_Click()
  52.     Dim i%, j%, t%, b As Boolean
  53.     Dim A(13) As Integer
  54.     If Label7 = "点击听牌" Then MsgBox "  要先听牌", , "系统提示": Exit Sub
  55.         For i = 0 To Text1.Count - 1
  56.             A(i) = Val(Text1(i).Text)
  57.             If A(i) < 28 Then
  58.                 A(i) = Int(A(i) / 9.001) * 100 + A(i)
  59.             Else
  60.                 A(i) = Int(A(i) / 9.001) * 100 + A(i) * 6
  61.             End If
  62.         Next i
  63.         HUPAI A, b
  64.         If b Then
  65.             Label4.Caption = "开"
  66.             bArr = LoadResData(137, "CUSTOM")
  67.             sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  68.         End If
  69. End Sub

  70. '单击牌
  71. Private Sub Image3_Click(Index As Integer)
  72.     Dim A As String
  73.     If Text1(13).Text = "" Or Label4.Caption = "开" Then Exit Sub
  74.     If TPAIXIANZICANSU = True Then
  75.         CHUANGJIAN Val(Text1(13).Text)
  76.         Text1(13).Text = ""
  77.     Else
  78.         If Label7 = "已经听牌" Then TPAIXIANZICANSU = True
  79.         A = Text1(Index).Text
  80.         Text1(Index).Text = Text1(13).Text
  81.         Text1(13).Text = ""
  82.         PAIXU "Text1"
  83.         CHUANGJIAN Val(A) '创建
  84.     End If
  85.     Timer1.Interval = 1
  86. End Sub
  87. '单击网址
  88. Private Sub Label1_Click()
  89.     Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & "http://club.excelhome.net/index.php"
  90. End Sub
  91. '单击退
  92. Private Sub Label3_Click()
  93.     End
  94. End Sub
9楼
HHAAMM
  1. '单击开
  2. Private Sub Label4_Click()
  3.     Dim i As Integer, lngCount As Integer
  4.     If Label4.Caption = "!" Then Exit Sub
  5.     lngCount = Image5.UBound
  6.     For i = 1 To lngCount
  7.         Unload Image5(i)
  8.     Next
  9.     Text4 = 1111: Text5 = 1600: Text6.Text = "": Text7.Text = ""
  10.     ReDim GeSu(1 To 34)
  11.     Label4.Caption = "!"
  12.     Label7 = "点击听牌"
  13.     TPAIXIANZICANSU = False
  14.     Image3(13).Picture = LoadPicture("")
  15.     Image4(13).Picture = LoadPicture("")
  16.     For i = 0 To 34
  17.         m = m & i & ","
  18.     Next
  19.     Text3.Text = Mid(m, 1, Len(m) - 1)
  20.     For i = 0 To Image3.Count - 2
  21.         Text1(i).Text = SUIJISHU
  22.         Text2(i).Text = SUIJISHU
  23.     Next
  24.     PAIXU "Text1"
  25.     PAIXU "Text2"
  26.     Timer1.Interval = 10
  27. End Sub

  28. '文本框1
  29. Private Sub Text1_Change(Index As Integer)
  30.     If Text1(Index).Text <> "" Then
  31.         Image3(Index).Picture = ImageList1.ListImages(Val(Text1(Index).Text)).Picture
  32.     Else
  33.         Image3(Index).Picture = LoadPicture("")
  34.     End If
  35. End Sub
  36. '文本框2
  37. Private Sub Text2_Change(Index As Integer)
  38.     Dim i%, j%, k%, t%, b As Boolean, m%, m1$, m2$, n%, g%, TTEEXXTT As String, MM$, tt%
  39.     Dim A() As Integer, A34() As String, JA(13) As Integer, c() As Integer, BM1() As String, BM2() As String, BCF() As String, GDS() As Integer, SULIANG() As Integer
  40.     ReDim A(13)
  41.         If Text2(Index).Text <> "" Then
  42.             Image4(Index).Picture = ImageList1.ListImages(Val(Text2(Index).Text)).Picture
  43.             If Index = 13 Then
  44.                 DoEvents
  45.                 Sleep (266)
  46.                 For i = 0 To Text2.Count - 1
  47.                     A(i) = Val(Text2(i).Text)
  48.                     If A(i) < 28 Then
  49.                         A(i) = Int(A(i) / 9.001) * 100 + A(i)
  50.                     Else
  51.                         A(i) = Int(A(i) / 9.001) * 100 + A(i) * 6
  52.                     End If
  53.                 Next i
  54.                 HUPAI A, b
  55.                 If b Then
  56.                     Label4.Caption = "开"
  57.                     bArr = LoadResData(137, "CUSTOM")
  58.                     sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  59.                     DoEvents
  60.                     Sleep (1200)
  61.                     Exit Sub
  62.                 End If
  63.                 If Text6.Text = "听牌" Then
  64.                     CHUANGJIAN Val(Text2(13).Text)
  65.                     Text2(13).Text = ""
  66.                 End If
  67.                 If Len(Text3.Text) < 3 Then Exit Sub
  68.                 If Text6.Text <> "听牌" Then
  69.                     A34 = Split(Text3.Text, ",") '调用胡牌函数,找出所有能胡的牌,再在已经打掉的牌中查找剩余最多的,然后听牌
  70.                     For i = 0 To 13
  71.                         If A(i) <> t Then
  72.                             t = A(i)
  73.                             For j = 1 To UBound(A34)
  74.                                 m = Val(A34(j))
  75.                                 If m < 28 Then
  76.                                     m = Int(m / 9.001) * 100 + m
  77.                                 Else
  78.                                     m = Int(m / 9.001) * 100 + m * 6
  79.                                 End If
  80.                                 For g = 0 To 13
  81.                                     JA(g) = A(g)
  82.                                 Next
  83.                                 JA(i) = m
  84.                                 HUPAI JA, b
  85.                                 If b Then
  86.                                     m1 = m1 & "," & i
  87.                                     m2 = m2 & "," & j
  88.                                     b = False
  89.                                 End If
  90.                             Next j
  91.                         End If
  92.                     Next i
  93.                     
  94.                     If m1 <> "" Then
  95.                            
  96.                             BM1 = Split(0 & m1, ",")
  97.                             BM2 = Split(0 & m2, ",")
  98.                            
  99.                             For i = 1 To UBound(BM1) '提取不重复
  100.                                 If BM1(i) <> MM Then
  101.                                    tt = tt + 1
  102.                                    ReDim Preserve BCF(tt)
  103.                                    BCF(tt) = BM1(i)
  104.                                    MM = BM1(i)
  105.                                 End If
  106.                             Next i
  107.                            
  108.                             ReDim GDS(UBound(BM2))
  109.                             For i = 1 To UBound(BM2) '获得剩余牌的数量
  110.                                 GDS(i) = 4 - GeSu(A34(BM2(1)))
  111.                             Next i
  112.                            
  113.                             ReDim SULIANG(UBound(BCF))
  114.                             For i = 1 To UBound(BCF) '相同的合计
  115.                                 For j = 1 To UBound(BM1)
  116.                                     If BCF(i) = BM1(j) Then SULIANG(i) = GDS(j)
  117.                                 Next j
  118.                             Next i
  119.                            
  120.                             For i = 2 To UBound(BCF)
  121.                                 If SULIANG(i - 1) > SULIANG(i) Then
  122.                                     SULIANG(i) = SULIANG(i - 1)
  123.                                     BCF(i) = BCF(i - 1)
  124.                                 End If
  125.                             Next i
  126.                             'MsgBox A(BCF(UBound(BCF)))
  127.                            
  128.                             If SULIANG(UBound(SULIANG)) > 1 Then
  129.                                 For i = 0 To 13
  130.                                     m = Text2(i).Text
  131.                                     If m < 28 Then
  132.                                         m = Int(m / 9.001) * 100 + m
  133.                                     Else
  134.                                         m = Int(m / 9.001) * 100 + m * 6
  135.                                     End If
  136.                                     If m = A(BCF(UBound(BCF))) Then
  137.                                         CHUANGJIAN Val(Text2(i).Text)
  138.                                         Text2(i).Text = Text2(13).Text
  139.                                         Text2(13).Text = ""
  140.                                         Text6.Text = "听牌"
  141.                                         PAIXU "Text2"
  142.                                         bArr = LoadResData(136, "CUSTOM")
  143.                                         sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  144.                                         DoEvents
  145.                                         Sleep (1200)
  146.                                         Exit For
  147.                                     End If
  148.                                 Next i
  149.                                 'Exit Sub代''''''码待补充
  150.                             End If
  151.                         Else
  152.                         '调用筛选函数,得到一个数组,打出最不好的一张
  153.                         ReDim c(0)
  154.                         SAIXUAN A, c, 3, 3
  155.                         ZAOZUIBUHAODEPAI c, n
  156.                         For i = 0 To Text2.Count - 1
  157.                             m = Val(Text2(i).Text)
  158.                             If m < 28 Then
  159.                                 m = Int(m / 9.001) * 100 + m
  160.                             Else
  161.                                 m = Int(m / 9.001) * 100 + m * 6
  162.                             End If
  163.                             If m = n Then
  164.                                 CHUANGJIAN Val(Val(Text2(i).Text)) '创建
  165.                                 Text2(i).Text = Text2(13).Text
  166.                                 Text2(13).Text = ""
  167.                                 PAIXU "Text2"
  168.                                 Exit For
  169.                             End If
  170.                         Next i
  171.                     End If
  172.                 End If
  173.             End If
  174.         Else
  175.             Image4(Index).Picture = LoadPicture("")
  176.         End If
  177.         Timer1.Interval = 1
  178. End Sub
  179. '文本框4
  180. Private Sub Text4_Change()
  181.     If Text4.Text = "5623" Then
  182.         Text5.Text = Val(Text5.Text) + 500
  183.         Text4.Text = 1111
  184.     End If
  185. End Sub
  186. '时钟
  187. Private Sub Timer1_Timer()
  188.     Static t As Boolean
  189.     If Timer1.Interval = 10 Then Timer1.Interval = 1: t = False
  190.     DoEvents
  191.     If Command3.Visible = False Then Command3.Visible = True
  192.     Command3.Top = Command3.Top + 1000 * (IIf(t, -1, 1))
  193.     If Command3.Top > 7270 Or Command3.Top < 530 Then
  194.         bArr = LoadResData(135, "CUSTOM")
  195.         sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  196.         Timer1.Interval = 0
  197.         Command3.Visible = False
  198.         Command3.Top = 3720
  199.         If t Then
  200.             t = False
  201.             If Len(Text3.Text) > 2 Then Text2(13).Text = SUIJISHU Else MsgBox "没牌了": Label4.Caption = "开": Exit Sub
  202.             'Timer2.Interval = 1
  203.         Else
  204.             t = True
  205.             If Len(Text3.Text) > 2 Then Text1(13).Text = SUIJISHU Else MsgBox "没牌了": Label4.Caption = "开": Exit Sub
  206.         End If
  207.     End If
  208. End Sub
10楼
HHAAMM

  1. ''''''随机数
  2. Public Function SUIJISHU() As Integer
  3.     Dim A() As String, i As Integer, d As Integer, m$, n$
  4.     A = Split(Text3.Text, ",")
  5.     Randomize
  6.     i = Int(Rnd() * UBound(A)) + 1
  7.     d = Val(A(i))
  8.     GeSu(d) = GeSu(d) + 1
  9.     If GeSu(d) = 4 Then
  10.         m = d & ","
  11.         n = Text3.Text & ","
  12.         n = Replace(n, m, "", 1, 1, vbBinaryCompare)
  13.         Text3.Text = Mid(n, 1, Len(n) - 1)
  14.     End If
  15.     SUIJISHU = d
  16. End Function
  17. ''''''排序
  18. Public Function PAIXU(r As String)
  19.     Dim i As Integer, j As Integer, n As String
  20.     Dim A(13)
  21.     For i = 1 To 13
  22.         For j = 1 To 13 - i
  23.             If Val(Controls(r)(j - 1).Text) > Val(Controls(r)(j).Text) Then
  24.                 n = Controls(r)(j - 1).Text
  25.                 Controls(r)(j - 1).Text = Controls(r)(j).Text
  26.                 Controls(r)(j).Text = n
  27.             End If
  28.         Next j
  29.     Next i
  30. End Function
  31. ''''''创建
  32. Public Function CHUANGJIAN(n As Integer)
  33.     Dim i As Integer, lngIndex As Long
  34.     lngIndex = Image5.UBound + 1
  35.     Load Image5(lngIndex)
  36.         With Image5(lngIndex)
  37.             .Stretch = True
  38.             .ZOrder 0
  39.             .Width = 375
  40.             .Top = Text5.Text
  41.             .Left = Text4.Text
  42.             .Visible = True
  43.             .Picture = ImageList1.ListImages(n).Picture
  44.         End With
  45.         bArr = LoadResData(100 + n, "CUSTOM")
  46.         sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  47.         DoEvents
  48.         Sleep (600)
  49.         Text4.Text = Val(Text4.Text) + 376
  50.         'Timer2.Interval = 1
  51. End Function

  52. ''''''胡牌
  53. Public Function HUPAI(L() As Integer, A As Boolean)
  54.         Dim i%, j%, k%, m%, t%
  55.         Dim RL(13) As Integer, c(3) As Integer
  56.         
  57.         For i = 1 To 13
  58.             For j = 1 To 14 - i
  59.                 If L(j - 1) > L(j) Then
  60.                     t = L(j - 1)
  61.                     L(j - 1) = L(j)
  62.                     L(j) = t
  63.                 End If
  64.             Next j
  65.         Next i
  66.         
  67.         For i = 0 To 13 Step 2
  68.             If L(i) = L(i + 1) Then c(0) = c(0) + 1
  69.         Next i
  70.         If c(0) = 7 Then A = True: Exit Function
  71.         
  72.         For i = 0 To 12
  73.             If c(2) <> L(i) Then
  74.                 If L(i) = L(i + 1) Then
  75.                     c(2) = L(i)
  76.                     For j = 0 To 13
  77.                         RL(j) = L(j)
  78.                     Next j
  79.                     RL(i) = 0: RL(i + 1) = 0
  80.                     
  81.                     For j = 0 To 11
  82.                         If RL(j) Then
  83.                             c(0) = j: c(1) = 0: m = RL(j)
  84.                             For k = j + 1 To 13
  85.                                 If RL(k) - m = 1 Then
  86.                                     If c(1) > 0 Then
  87.                                         RL(c(0)) = 0: RL(c(1)) = 0: RL(k) = 0
  88.                                         Exit For
  89.                                     End If
  90.                                     c(1) = k
  91.                                     m = RL(k)
  92.                                 ElseIf RL(k) - m > 1 Then
  93.                                      Exit For
  94.                                 End If
  95.                             Next k
  96.                         End If
  97.                     Next j
  98.                     
  99.                     For j = 0 To 11
  100.                         If RL(j) Then
  101.                             c(0) = j: c(1) = 0
  102.                             For k = j + 1 To 13
  103.                                 If RL(k) = RL(j) Then
  104.                                     If c(1) > 0 Then
  105.                                         RL(c(0)) = 0: RL(c(1)) = 0: RL(k) = 0
  106.                                         Exit For
  107.                                     End If
  108.                                     c(1) = k
  109.                                 ElseIf RL(k) - RL(j) > 1 Then
  110.                                      Exit For
  111.                                 End If
  112.                             Next k
  113.                         End If
  114.                     Next j
  115.                     '待补充。不完整,特定牌型找不到,应该反过来再运行一次
  116.                     k = 0
  117.                     For j = 0 To 13
  118.                        If RL(j) Then k = k + 1
  119.                     Next j
  120.                     If k = 0 Then A = True: Exit Function
  121.                     k = 0
  122.                 End If
  123.             End If
  124.         Next i
  125. End Function

  126. '找牌出

  127. Public Function SAIXUAN(A() As Integer, c() As Integer, tj1 As Integer, tj2 As Integer)
  128.     Dim i%, j%, k%, t%, n%, m%
  129.     Dim JA() As Integer, b() As Integer
  130.     If tj2 = -1 Then Exit Function
  131.     If UBound(c) = 0 Then
  132.         ReDim JA(0)
  133.         For i = 0 To UBound(A) - 1
  134.             t = 0
  135.             If A(i) Then
  136.                 n = A(i)
  137.                 ReDim b(t)
  138.                 b(t) = i
  139.                 For j = i + 1 To UBound(A)
  140.                     If A(j) Then
  141.                         If A(j) - n < tj1 And A(j) - n <> tj2 Then
  142.                             n = A(j)
  143.                             t = t + 1
  144.                             ReDim Preserve b(t)
  145.                             b(t) = j
  146.                         ElseIf A(j) - n > tj1 - 1 Then
  147.                             Exit For
  148.                         End If
  149.                     End If
  150.                 Next j
  151.             End If
  152.             If t > 1 Then
  153.                 For k = 0 To t
  154.                     ReDim Preserve JA(UBound(JA) + m)
  155.                     JA(UBound(JA)) = A(b(k))
  156.                     A(b(k)) = 0
  157.                     m = 1
  158.                 Next k
  159.             End If
  160.         Next i
  161.         m = 0
  162.         For i = 0 To UBound(A)
  163.             If A(i) > 0 Then
  164.                 m = m + 1
  165.                 ReDim Preserve c(m)
  166.                 c(m) = A(i)
  167.             End If
  168.         Next i
  169.         tj2 = tj2 - 1
  170.         If tj2 = 1 Then tj2 = 0
  171.         SAIXUAN JA, c, 2, tj2
  172.     End If
  173. End Function

  174. Public Function ZAOZUIBUHAODEPAI(L() As Integer, A As Integer)
  175.     Dim i%, j%, t%, k%, n%
  176.     Dim RL() As Integer, g() As Integer
  177.     ReDim RL(0)
  178.     ReDim g(UBound(L()))
  179.     For i = 2 To UBound(L())
  180.         If L(i) - L(i - 1) < 2 Then g(i) = 1: g(i - 1) = 1
  181.     Next i
  182.     For i = 1 To UBound(L())
  183.         If g(i) = 0 Then g(i) = 20
  184.     Next i
  185.     For i = 1 To UBound(L)
  186.         n = L(i)
  187.         If n = 1 Or n = 9 Or n = 110 Or n = 118 Or n = 219 Or n = 227 Then
  188.             k = t
  189.             t = t + 10 * g(i)
  190.             ReDim Preserve RL(t)
  191.             For j = 1 To 10 * g(i)
  192.                 RL(k + j) = n
  193.             Next j
  194.         ElseIf n > 227 Then
  195.             k = t
  196.             t = t + 20 * g(i)
  197.             ReDim Preserve RL(t)
  198.             For j = 1 To 20 * g(i)
  199.                 RL(k + j) = n
  200.             Next j
  201.         Else
  202.             k = t
  203.             t = t + 1 * g(i)
  204.             ReDim Preserve RL(t)
  205.             For j = 1 To 1 * g(i)
  206.                 RL(k + j) = n
  207.             Next j
  208.         End If
  209.     Next i
  210.     Randomize
  211.     A = RL(Int(Rnd() * UBound(RL)) + 1)
  212. End Function

  213. '窗体移动
  214. Private Sub Label5_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  215.     CTYD = True
  216. End Sub

  217. Private Sub Label5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  218.     If CTYD Then
  219.         Text8.Text = Val(Text8.Text) + X
  220.         Text9.Text = Val(Text9.Text) + Y
  221.     End If
  222. End Sub

  223. Private Sub Label5_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  224.     CTYD = False
  225. End Sub

  226. Private Sub Text8_Change()
  227.     Form1.Left = Text8.Text
  228. End Sub

  229. Private Sub Text9_Change()
  230.     Form1.Top = Text9.Text
  231. End Sub

  232. Private Sub Label6_Click()
  233.     Me.WindowState = 1
  234. End Sub

  235. Private Sub Label7_Click()
  236.     Label7 = "已经听牌"
  237.     bArr = LoadResData(136, "CUSTOM")
  238.     sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  239. End Sub
11楼
HHAAMM
函数名都是自己乱编的,别笑哈,俺z zh,c ch,s sh不分
12楼
myliujjj
后面的就不懂了,慢慢学习,游戏吗有空的时候娱乐一下,谢谢版主了。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap