牛牛 發問時間: 電腦與網際網路程式設計 · 1 0 年前

VB.NET寫樂透程式

真的想破頭想不出來 = =

所以才上來看有沒有人會寫

大概是有六個TEXTBOX

然後按下BUTTON以後會隨機出現1~42的變數

不能重複(死在這寫不出來)

先謝謝了

已更新項目:

dim objrandom as random = new random

Dim number1 As Integer = objrandom.Next(int1, int2)

Dim number2 As Integer = objrandom.Next(int1, int2)

2 個已更新項目:

一上面的做法做出六個變數

印出來的值會重複 = =

我去用你的方法試試看 先謝了

3 個已更新項目:

補充以上市一ㄍ付程式 ABC

有呼叫此付程式 ABC(1,43)

2 個解答

評分
  • ?
    Lv 6
    1 0 年前
    最佳解答

    既然你至少會寫一些,何不把你已完成的程式碼貼上來讓大家幫你修改?

    放六個TextBox,這是VB6的寫法,不能用的話自己修改一下

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Dim okNum(1 To 6) As Integer 'okNum為存放已開出之號碼的陣列空間

    Dim chk As Boolean 'chk 為檢查開出之號碼有無與已開出號碼重複的旗標

    For i = 1 To 6 '欲產生六個號碼

    chk = True '先將旗標設為True

    Do While chk '當chk 為True時 , 進入此條件式迴圈

    okNum(i) = ABC(1, 43) '第 i 個亂數開出的號碼範圍值:1~43

    chk = False '開完號碼後把chk 設為False

    For j = 1 To i - 1 ' j 迴圈會跑 i-1 次 , 這樣才可排除第 i 次開出的號碼

    '檢查第 i 次開出的號碼 與已經開出的所有號碼是否相等

    ',相等表示已有開過(重複), 將chk 設成True

    If okNum(j) = okNum(i) Then chk = True: Exit For

    Next j

    Loop

    Controls("text" & i).Text = okNum(i)

    Next i

    End Sub

    Public Function ABC(int1, int2)

    Randomize

    ABC = Int(Rnd * (int2 - int1) + 1) + int1

    End Function

    參考資料: VB6.0
  • 1 0 年前

    請問一下那如果我只要一次產生一個號碼

    取1~30,30次都不重覆。那要怎麼寫阿!!

還有問題?馬上發問,尋求解答。