精華區beta Visual_Basic 關於我們 聯絡資訊
請問這樣子的程式 要怎麼寫比較好呢 毫無頭緒...||| 前面已經寫過發給甲乙兩人各5張的隨機牌子了 Dim card(4, 13) As Boolean Dim den, num, t, temp As Integer Dim path(10) As String Private Sub Command1_Click() For den = 0 To 3 For num = 0 To 12 card(den, num) = True Next num Next den t = 0 Do Randomize temp = Int(Rnd * 52) den = temp Mod 4 num = temp Mod 13 If card(den, num) Then card(den, num) = False t = t + 1 End If Loop While t < 10 temp = 0 For num = 0 To 12 If Not card(0, num) Then path(temp) = "C:\Documents and Settings\710\桌面\Pokercard\C" & num + 1 & ".jpg" temp = temp + 1 End If Next num For num = 0 To 12 If Not card(1, num) Then path(temp) = "C:\Documents and Settings\710\桌面\Pokercard\D" & num + 1 & ".jpg" temp = temp + 1 End If Next num For num = 0 To 12 If Not card(2, num) Then path(temp) = "C:\Documents and Settings\710\桌面\Pokercard\H" & num + 1 & ".jpg" temp = temp + 1 End If Next num For num = 0 To 12 If Not card(3, num) Then path(temp) = "C:\Documents and Settings\710\桌面\Pokercard\S" & num + 1 & ".jpg" temp = temp + 1 End If Next num Form1.Picture1.Picture = LoadPicture(path(0)) Form1.Picture6.Picture = LoadPicture(path(1)) Form1.Picture2.Picture = LoadPicture(path(2)) Form1.Picture7.Picture = LoadPicture(path(3)) Form1.Picture3.Picture = LoadPicture(path(4)) Form1.Picture8.Picture = LoadPicture(path(5)) Form1.Picture4.Picture = LoadPicture(path(6)) Form1.Picture9.Picture = LoadPicture(path(7)) Form1.Picture5.Picture = LoadPicture(path(8)) Form1.Picture10.Picture = LoadPicture(path(9)) End Sub 現在是希望點下"順子"的COMMAND鍵 他會跳出順子的牌 謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.239.180
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