推 seansylin:排序後看點數的差值,如果是4的話就是順218.166.221.196 04/21
推 fumizuki:Dim card(3,12) As Boolean 61.222.155.162 04/22
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [請益] 撲克牌判定其為順子
時間: Fri Apr 22 11:11:42 2005
※ 引述《Emile7 (給自己一點時間跟空間)》之銘言:
: 請問這樣子的程式 要怎麼寫比較好呢
: 毫無頭緒...|||
: 前面已經寫過發給甲乙兩人各5張的隨機牌子了
: 現在是希望點下"順子"的COMMAND鍵 他會跳出順子的牌
: 謝謝^^
幫你簡化...
Dim card(3, 12) As Boolean
Dim den, num, t, temp As Integer
Dim path(9) As String
Private Sub Command1_Click() '發牌
Randomize
For den = 0 To 3
For num = 0 To 12
card(den, num) = True
Next num
Next den
For i = 0 To 9
Do
den = Int(Rnd * 4): num = Int(Rnd * 13)
Loop Until card(den, num)
path(i) = "C:\Documents and Settings\710\桌面\Pokercard\" & _
Mid("CDHS", den + 1) & (num + 1) & ".jpg"
Set Picture(i).Picture = LoadPicture(path(i))
card(den, num) = False
Next
End Sub
Private Sub Command2_Click() '順子
Randomize
For den = 0 To 3
For num = 0 To 12
card(den, num) = True
Next num
Next den
For i = 0 To 9
den = Int(Rnd * 4)
If (i = 0) Or (i = 5) Then num = Int(Rnd * 9) Else num = num + 1
Do Until card(den, num)
den = Int(Rnd * 4)
Loop
path(i) = "C:\Documents and Settings\710\桌面\Pokercard\" & _
Mid("CDHS", den + 1) & (num + 1) & ".jpg"
Set Picture(i).Picture = LoadPicture(path(i))
card(den, num) = False
Next
End Sub
--
VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.155.162
> -------------------------------------------------------------------------- <
作者: kh () 看板: Visual_Basic
標題: Re: [請益] 撲克牌判定其為順子
時間: Fri Apr 22 20:51:28 2005
※ 引述《Emile7 (給自己一點時間跟空間)》之銘言:
: 請問這樣子的程式 要怎麼寫比較好呢
: 毫無頭緒...|||
: 前面已經寫過發給甲乙兩人各5張的隨機牌子了 Dim card(4, 13) As Boolean
: 現在是希望點下"順子"的COMMAND鍵 他會跳出順子的牌
: 謝謝^^
Dim card(4, 13) As Integer
Private Sub Command1_Click() '發牌
Randomize
For x = 0 To 4
For y = 0 To 13
card(x, y) = 0
Next y
Next x
For i = 1 To 10
Do
x = Rnd() * 1000000 Mod 4 + 1
y = Rnd() * 1000000 Mod 13 + 1
Loop Until (card(x, y) = 0)
card(x, y) = i
Next i
End Sub
Function isStright(p, q) As Integer '判斷是不是順
For x = 1 to 10
counter = 0
For J = x to x+4
y=0
For I = 1 to 4
If p <= card(I, J) AND card(I, (J MOD 13)+1) <= q Then y = 1
Next I
counter= counter + 1
Next J
If counter = 5 Then isStright = x+4
Next x
End Function
Private Sub Command2_Click() '產生順來測試
Randomize
For x = 0 To 4
For y = 0 To 13
card(x, y) = 0
Next y
Next x
x = Rnd()*1000000 MOD 10 + 1
For J = x to x+4
I = Rnd()*1000000 MOD 4 + 1
card(I, (J MOD 13)+1) = (J-x)+1
Next J
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.174.142