-1

私は自分自身を練習するために小さなゲームをプログラミングしていましたが、修正できなかったエラーが発生しました:S. ぶら下がりゲームの始まりです。(英語で正しい名前かどうかはわかりません:))ファイルから単語を1行に1つずつ取得し、プレーヤーに限られた数の試行で単語を推測させる必要があります。

私のエラーは、文字列/文字の比較と操作、またはテキストラベルに書いたものに関連していると思います。インターネットですでに解決されているチュートリアルや問題を見つけようとしましたが、実際にはこれと同じものはありませんでした... :(

変数の型を何度も変更し、デバッガーの行を 1 行ごとに読みましたが、何が問題なのかわかりませんでした。

Thx、ザフレイム

コード:

Imports System.IO
Public Class Pendu

Public Structure StructMot
    Public MotSecret() As Char
    Public LettreDecouverte() As Char
End Structure

Dim Mot As StructMot
Dim i As Integer = 0

Private Sub ButtonA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonA.Click, ButtonB.Click,
    ButtonC.Click, ButtonD.Click, ButtonE.Click, ButtonF.Click, ButtonG.Click, ButtonH.Click, ButtonI.Click, ButtonJ.Click,
    ButtonK.Click, ButtonL.Click, ButtonM.Click, ButtonN.Click, ButtonO.Click, ButtonP.Click, ButtonQ.Click, ButtonR.Click,
    ButtonS.Click, ButtonT.Click, ButtonU.Click, ButtonV.Click, ButtonW.Click, ButtonX.Click, ButtonY.Click, ButtonZ.Click

    i = i + 1
    ActiveControl.Visible = False
    PictureBox1.Image = ImageList1.Images(i - 1)
    Dim j As Integer = 0
    For j = 0 To Mot.MotSecret.Length - 1
        If ActiveControl.Text = Mot.MotSecret(j) Then
            Mot.LettreDecouverte(j) = Mot.MotSecret(j)
        End If
    Next j

    Label1.Text = ""
    For j = 0 To Mot.MotSecret.Length - 1
        Label1.Text = Label1.Text + " "
        If Mot.LettreDecouverte(j).Equals("") Then
            Label1.Text = Label1.Text + "_"
        Else
            Label1.Text = Label1.Text + Mot.LettreDecouverte(j)
        End If
    Next j

End Sub

Private Sub JouerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JouerToolStripMenuItem.Click
    GenereMot()
End Sub

Private Sub Pendu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    GenereMot()
End Sub

Function GenereMot()
    Dim NbItems As Integer
    Dim Aleatoire As New Random()
    Dim NbAleatoire As Integer
    ListBox1.Items.AddRange(System.IO.File.ReadAllLines("listemot.txt"))
    NbItems = ListBox1.Items.Count
    NbAleatoire = Aleatoire.Next(NbItems)
    Mot.MotSecret = ListBox1.Items(NbAleatoire)

    Return Mot
End Function

End Class
4

1 に答える 1