程式設計VB的問題 高手請進15點++

我想問的就是我想做比較簡單版的大富翁

可視覺得很奇怪我輸入這些東西發生問題

怪怪的!! 程式碼如下:

Dim a As Integer

a = Int(Rnd * 5) + 1

a = Text1

If a = 1 And Label5.Left = 5520 And Label5.Top = 2280 Then

Label5.Top = 4080

Label5.Left = 5520

MsgBox "歡迎來到土地2"

我就是這樣輸入可是我在執行的時候

如果a等於1和Label5.Left 等於 5520 和 Label5.Top 等於 2280的時候

label5沒有跑到4080跟5520耶?

知道的麻煩講一下~~蠻急的...我是學生 熱愛程式語言

可是在玩程式遇到的小問題~

已更新項目:

可是如果妳這樣寫上去的話第一次甩骰子會亂跳欸?

玩大富翁通常都會甩2次以上啊?

可是這樣的話電腦會分辨不出來是第一次甩骰子還是第二次餒?

2 個已更新項目:

回"意見"

if那行 除錯點 是什麼意思?

座標一定是對的我重複好幾次確認過了~~

3 個已更新項目:

msgbox的訊息有出現

可是做標是跑到我上一個的座標

假設這次我甩5跑到5這個沒問題

暗地2次時假設甩出4它便跑到4的地方

等於是沒有跑到我所想要去的地方

但是msgbox這裡面的訊息有跑出來

4 個已更新項目:

就是我甩第一次的座標都是沒有問題的

可是第二次甩就怪怪的...

label5我試過,它是有改變位置座標的

只是怎麼改都改不出我所想要的地方

程式碼是我剪下比較可能出錯的地方

上面也有甩第一次的程式碼!

如要看我可貼上來給你們看?

5 個已更新項目:

如果可以的話幫我看一下這篇~~

http://tw.knowledge.yahoo.com/question/question?qi...

3 個解答

評分
  • 8 年前
    最佳解答

    我覺得您可以自己試著除錯

    1.a = Text1這行應該有問題

    2.如果a等於1和Label5.Left 等於 5520 和 Label5.Top 等於 2280的時候

    看看MsgBox訊息有沒有出現

    假設可以出現,代表新的座標應該沒有問題

    Label5可能跑到螢幕外,或是被其他圖層蓋住

    您可以試著設立一個比較不容易出錯的座標,在看看有沒有出現

    即可知道問題在哪裡

    3.如果MsgBox訊息沒有出現,代表判斷式出現問題

    可以在a = Text1這行之後,在建立一段程式碼

    如:Textbox1.Text=Label5.Top & "," & Label5.Left & "," & a

    msgbox("暫停")

    在表單空白位置建立一個TextBox控制項,看看Label5的位置在哪裡

    然後先暫停一下,以看清楚數字

    然後在分析本來以為Label5.Left 等於 5520 和 Label5.Top 等於 2280,和實際位置的差異

    因為您的程式碼不多,最好自己分析,也可以增進自己的能力

    2013-01-08 08:14:41 補充:

    假設這次我甩5跑到5這個沒問題

    這幾句我看不懂

    不過既然MsgBox訊息出現,表示判斷式沒有問題

    Label5沒有出現在您要的位置

    您可以把Label5設到別的空白位置,以確定Label5會出現且會改變位置

    因為您的程式碼不多,我們很難幫上忙

    最好的方法是自己除錯

    2013-01-08 20:39:14 補充:

    或許不是這裡出現問題

    或許有不易察覺的邏輯牴觸

    抱歉! 無法幫上忙

  • 樹哥
    Lv 5
    8 年前

    Dim a As Integer

    Private Sub Command1_Click()

    a = Int(Rnd * 5) + 1

    Text1 = a

    If a = 1 Then

    Label5.Top = 4080

    Label5.Left = 5520

    End If

    End Sub

  • 阿戊
    Lv 7
    8 年前

    在if那行設 除錯點...看看是否會執行裏面的內容...或許是座標沒算準...

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