Partager via


Étape 4 : ajouter une méthode pour redémarrer le jeu

Vous avez vu que l'IDE peut ajouter automatiquement une méthode de gestionnaire d'événements à votre programme.Vous pouvez également écrire des méthodes et les ajouter à votre code.De nombreux programmeurs passent la plupart de leur temps à ajouter leurs propres méthodes.

[!REMARQUE]

Il peut être utile d'écrire vos propres méthodes lorsqu'un jeu d'instructions doit être exécuté plusieurs fois à différents endroits.Cela se produit fréquemment lorsque vous écrivez des programmes.

Par exemple, dans ce jeu de labyrinthe, lorsque le programme démarre, vous voulez qu'il repositionne automatiquement le pointeur de la souris dans l'angle supérieur gauche de l'élément Panel.Lorsque l'utilisateur touche un mur avec le pointeur, vous voulez que le jeu repositionne le pointeur au point de départ.Lorsque l'utilisateur déplace le pointeur en dehors de la zone de jeu, puis le replace à l'intérieur, vous voulez que le programme repositionne le pointeur au point de départ.

Vous pouvez repositionner le pointeur au point de départ à l'aide de trois lignes de code.Mais vous gagnerez du temps si vous évitez d'écrire ces trois lignes de code à plusieurs endroits différents de votre programme.Si vous insérez ces trois lignes de code dans une méthode (appelée MoveToStart() par exemple), vous n'aurez besoin de les écrire qu'une seule fois.Ensuite, il vous suffit d'appeler la méthode MoveToStart() chaque fois que vous voulez replacer le pointeur dans l'angle supérieur gauche de l'élément Panel.

lien vers la vidéoPour obtenir une version vidéo de cette rubrique, consultez Tutorial 2: Create a Maze in Visual Basic - Video 2 ou Tutorial 2: Create a Maze in C# - Video 2.

Pour ajouter une méthode pour redémarrer le jeu

  1. Ouvrez le code du formulaire en cliquant avec le bouton droit sur Form1.cs dans l'Explorateur de solutions, puis en sélectionnant Afficher le code dans le menu.

  2. La méthode finishLabel_MouseEnter() que vous avez ajoutée doit s'afficher.Juste au-dessous de cette méthode, ajoutez une nouvelle méthode MoveToStart().

    Private Sub MoveToStart()
        Dim startingPoint = Panel1.Location
        startingPoint.Offset(10, 10)
        Cursor.Position = PointToScreen(startingPoint)
    End Sub
    
    private void MoveToStart()
    {
        Point startingPoint = panel1.Location;
        startingPoint.Offset(10, 10);
        Cursor.Position = PointToScreen(startingPoint);
    }
    
  3. Il existe un type de commentaire spécial que vous pouvez ajouter au-dessus de n'importe quelle méthode, en utilisant l'IDE.Placez votre curseur sur la ligne au-dessus de la nouvelle méthode.En Visual C#, ajoutez trois barres obliques (///).En Visual Basic, ajoutez trois guillemets simples (''').L'IDE remplit automatiquement le texte suivant.

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub MoveToStart()
        Dim startingPoint = Panel1.Location
        startingPoint.Offset(10, 10)
        Cursor.Position = PointToScreen(startingPoint)
    End Sub
    
    /// <summary>
    /// 
    /// </summary>
    private void MoveToStart()
    {
        Point startingPoint = panel1.Location;
        startingPoint.Offset(10, 10);
        Cursor.Position = PointToScreen(startingPoint);
    }
    
  4. Sur la ligne entre les deux balises <summary>, remplissez le commentaire suivant.(Une fois que vous avez appuyé sur ENTRÉE, l'IDE ajoute automatiquement un retour à la ligne avec trois barres obliques (///) ou trois guillemets simples ('''), selon votre langage de programmation, afin que vous puissiez continuer votre commentaire.)

    ''' <summary>
    ''' Move the pointer to a point 10 pixels down and to the right
    ''' of the starting point in the upper-left corner of the maze.
    ''' </summary>
    
    /// <summary>
    /// Move the pointer to a point 10 pixels down and to the right
    /// of the starting point in the upper-left corner of the maze.
    /// </summary> 
    

    [!REMARQUE]

    Vous venez d'ajouter un commentaire XML.Comme vous le savez, l'IDE vous a affiché des informations dans une info-bulle lorsque vous avez placé le pointeur au-dessus du mot MessageBox.L'IDE remplit automatiquement des info-bulles pour vos méthodes.Tout le contenu que vous avez inséré dans un commentaire XML s'affiche dans l'info-bulle de l'IDE, ainsi que dans la fenêtre IntelliSense.Cela peut être utile si votre programme a plusieurs méthodes.De même, si vous insérez un mur qui se trouve 10 pixels en bas et à droite de l'angle supérieur gauche de l'élément Panel, vous pouvez changer (10, 10) dans le code.Testez avec des nombres différents jusqu'à ce que vous trouviez un point de départ pour le pointeur qui convienne à votre labyrinthe.

  5. Une fois votre méthode ajoutée, vous devez l'appeler.Comme vous voulez que votre programme place le pointeur sur le point de départ au lancement du programme, vous devez appeler la méthode dès que le formulaire démarre.Pour Visual C#, recherchez la méthode suivante dans le code de votre formulaire.

    public Form1()
    {
        InitializeComponent();
    }
    

    Pour Visual Basic, ajoutez cette méthode dans le code de votre formulaire.Avant la méthode finishLabel_MouseEnter, commencez à taper le code suivant.

    Public Sub New()
    

    Lorsque vous appuyez sur la touche ENTRÉE pour passer à la ligne suivante, IntelliSense doit afficher le code suivant pour compléter la méthode.

    Public Sub New()
        ' This call is required by Windows Forms Designer.
        InitializeComponent()
        ' Add any initialization after the InitializeComponent() call.
    End Sub
    

    Il s'agit d'une méthode spéciale appelée constructeur.Elle est exécutée une fois, lorsque votre formulaire est créé.Maintenant, elle se contente d'appeler une méthode nommée InitializeComponent().Vous allez lui ajouter une ligne pour appeler la nouvelle méthode MoveToStart() que vous venez d'écrire.Avant de continuer, examinez ce que vous devez ajouter à votre programme pour qu'il appelle la méthode MoveToStart() immédiatement après avoir appelé la méthode InitializeComponent().

    [!REMARQUE]

    La méthode InitializeComponent() dans le constructeur de votre formulaire est une méthode écrite par l'IDE.Elle ajoute tous les contrôles et les composants au formulaire, et configure leurs propriétés.Chaque fois que vous changez l'une des propriétés de votre formulaire ou l'un de ses contrôles, l'IDE modifie cette méthode.Vous pouvez la consulter en ouvrant le fichier Form1.Designer.cs dans l'Explorateur de solutions.Vous n'avez pas besoin de modifier le contenu de la méthode InitializeComponent().L'IDE s'en charge lui-même, en fonction du formulaire que vous avez créé en mode Design.

  6. Ajoutez un appel à la méthode MoveToStart() immédiatement après l'appel à la méthode InitializeComponent().Votre formulaire doit se présenter de la manière suivante.

    Public Class Form1
    
        Public Sub New()
            ' This call is required by Windows Forms Designer.
            InitializeComponent()
            ' Add any initialization after the InitializeComponent() call.
            MoveToStart()
        End Sub
    
        Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter
            ' Show a congratulatory MessageBox, then close the form.
            MessageBox.Show("Congratulations!")
            Close()
        End Sub
    
        ''' <summary>
        ''' Move the mouse pointer to a point 10 pixels down and to the right
        ''' of the starting point in the upper-left corner of the maze.
        ''' </summary>
        ''' <remarks></remarks>
        Private Sub MoveToStart()
            Dim startingPoint = Panel1.Location
            startingPoint.Offset(10, 10)
            Cursor.Position = PointToScreen(startingPoint)
        End Sub
    
    End Class
    
    namespace Maze
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                MoveToStart();
            }
    
            private void finishLabel_MouseEnter(object sender, EventArgs e)
            {
                // Show a congratulatory MessageBox, then close the form.
                MessageBox.Show("Congratulations!");
                Close();
            }
    
            /// <summary>
            /// Move the pointer to a point 10 pixels down and to the right
            /// of the starting point in the upper-left corner of the maze.
            /// </summary>
            private void MoveToStart()
            {
                Point startingPoint = panel1.Location;
                startingPoint.Offset(10, 10);
                Cursor.Position = PointToScreen(startingPoint);
            }
        }
    }
    

    Notez l'appel à la méthode MoveToStart() en dessous de InitializeComponent().Si vous programmez en Visual C#, n'oubliez pas de terminer cette ligne par un point-virgule (;), sinon votre programme ne sera pas généré.

  7. Maintenant, enregistrez votre programme et exécutez-le.Dès que le programme démarre, votre pointeur doit être automatiquement repositionné légèrement en bas et à droite de l'angle supérieur gauche de l'élément Panel.

Pour continuer ou examiner