[.NET] 新手發問 亂數且連續的抽樣(不同按鈕)

看板Visual_Basic作者 (YK)時間5年前 (2019/03/28 12:01), 編輯推噓0(004)
留言4則, 2人參與, 5年前最新討論串1/1
請輸入專案類型(網站專案或者應用程式專案):visual basic的windows form應用程式 超新手發問(visual basic剛載下來的程度) 參考了youtube的資源 https://www.youtube.com/watch?v=mmcIWWnIbf0&list=PLCfL1sBZ2_SRb2t7tA2KVoh16OC0tx6yQ&index=1
想做一個撲克的發牌程式練習 但規則不太一樣 希望可以做三個按鈕 按第一個按鈕時C52取5不重複 按第二個按紐時抽剩下47張牌裡的一張 按第三個按鈕時抽剩下46張牌裡的一張 第一個按鈕可以完美做到不重複的發五張牌 但發現我不會寫第二個按鈕XD 會變成獨立事件 沒辦法連結第一個按鈕產生的結果去做事情 所以想請問第二跟第三個按鈕該怎麼寫 程式碼如下 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click Dim getp(5) As Integer Randomize() getp(0) = Int(Rnd() * 52) + 1 getp(1) = Int(Rnd() * 52) + 1 1: If getp(0) = getp(1) Then Randomize() getp(1) = Int(Rnd() * 52) + 1 GoTo 1 End If getp(2) = Int(Rnd() * 52) + 1 2: If getp(0) = getp(2) Or getp(1) = getp(2) Then Randomize() getp(2) = Int(Rnd() * 52) + 1 GoTo 2 End If getp(3) = Int(Rnd() * 52) + 1 3: If getp(0) = getp(3) Or getp(1) = getp(3) Or getp(2) = getp(3) Then Randomize() getp(3) = Int(Rnd() * 52) + 1 GoTo 3 End If getp(4) = Int(Rnd() * 52) + 1 4: If getp(0) = getp(4) Or getp(1) = getp(4) Or getp(2) = getp(4) Or getp(3) = getp(4) Then Randomize() getp(4) = Int(Rnd() * 52) + 1 GoTo 4 End If pic1.Image = New Bitmap(getp(0) & ".png") pic2.Image = New Bitmap(getp(1) & ".png") pic3.Image = New Bitmap(getp(2) & ".png") pic4.Image = New Bitmap(getp(3) & ".png") pic5.Image = New Bitmap(getp(4) & ".png") End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click End Sub Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click End Sub End Class 麻煩大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.188.157 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1553745670.A.FBF.html

03/28 15:49, 5年前 , 1F
是我的話我會用數字陣列或list搭配亂數處理把它打亂,然
03/28 15:49, 1F

03/28 15:49, 5年前 , 2F
後就跟抽牌一樣,抽一張就陣列容器-1,以此類推,就跟現
03/28 15:49, 2F

03/28 15:49, 5年前 , 3F
實抽牌是一樣的
03/28 15:49, 3F

03/28 16:40, 5年前 , 4F
一樓正解 找一下全域變數怎麼用 宣告全域陣列來處理
03/28 16:40, 4F
文章代碼(AID): #1Sd4S6-_ (Visual_Basic)
文章代碼(AID): #1Sd4S6-_ (Visual_Basic)