1

好的,所以我使用 Visual Studio 2010 几乎完善了一款名为lucky 7 的游戏。我想在赢得游戏时播放声音(在三个插槽之一中获得 7)。这是代码:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click



    For i = 0 To 2
        slots(i) = rand.Next(10)
    Next

    Label1.Text = (slots(0).ToString)
    Label2.Text = (slots(1).ToString)
    Label3.Text = (slots(2).ToString)

    If slots(0) = 7 Or slots(1) = 7 Or slots(2) = 7 Then
        score = score + 100 'REM 10 points for each win 
        Label4.Text = (score.ToString)
        PictureBox1.Visible = True 'REM If you have a PictureBox
        PlaySound "C:\WINDOWS\MEDIA\TADA.WAV",
    Else
        PictureBox1.Visible = False
    End If

    If score = 500 Then

        MsgBox("You Scored 500 Points!", vbInformation)
    End If


End Sub

问题是,我在“playsound”语句中遇到错误,我真的很想在玩家赢得比赛时播放那个声音!

我还尝试创建一个重置按钮,它将分数和所有三个插槽设置回 0,但是当我单击它时,什么也没有发生。这是重置按钮的代码:

 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    score = 0
    PictureBox1.Visible = False
End Sub
4

4 回答 4

2

尝试使用 My.Computer.Audio.Play

您是否浏览过代码以确保按钮单击事件没有发生任何事情?单击“score = 0”行的最左侧将设置一个断点。这将在您运行代码时暂停代码。您可以将鼠标悬停在变量分数上,它会显示它的值。按 [F8] 将执行它,您可以将鼠标悬停在它上面并看到它已更改。

于 2013-04-18T16:47:12.620 回答
0

从您的重置按钮事件中,您的分数被重置为 0,但不是文本。您的 3 个插槽的文本也没有变化。

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
  Label1.Text = "0"
  Label2.Text = "0"
  Label3.Text = "0"
  Label4.Text = "0"
  score = 0
  PictureBox1.Visible = False
End Sub
于 2013-04-18T17:34:12.003 回答
0

正如有人提到的,声音文件可能不会出现在每台计算机上。您应该考虑使用系统哔声,可以对其进行修改以发出一些奇怪的铃声。我玩得很开心...

至于您的重置按钮...您尚未对要重置的标签文本进行编码。我猜你只想要视觉上的改变,因为当你再次玩时这些值仍然会改变。但是,作为一个重置按钮,我想您可能希望将每个标签文本重置为 string.empty 或其他内容。

于 2013-04-19T00:16:21.030 回答
0

你应该试试这个来播放 .wav 声音文件:

My.Computer.Audio.Play("C:\WINDOWS\MEDIA\TADA.WAV",AudioPlayMode.Background)
于 2020-04-04T13:53:58.287 回答