Etapa 4: Adicionar um método para reiniciar o Game
Você já viu como o IDE pode adicionar um método de manipulador de Evento para o seu programa automaticamente. Você também pode gravar métodos e adicioná-los ao seu código. Muitos programadores gastam muito Hora adicionando seus próprios métodos.
Observação |
---|
Escrever seus próprios métodos é útil quando há um conjunto de instruções que precisam ser executadas muitos vezes, em locais Diferente. Isso pode ocorrer com freqüência quando você gravar programas. Por exemplo, ao Criando este programa Labirinto, quando o programa for iniciado, você deseja reposicionar automaticamente o ponteiro do mouse no canto superior esquerdo do painel. Quando o usuário move o ponteiro em uma parede, você deseja para reposicionar o ponteiro no Iniciar. Quando o usuário move o cursor do campo de jogo e o Voltar Voltar, você deseja que ele reposicione o ponteiro no Iniciar Voltar. Você pode reposicionar o ponteiro sobre o ponto de partida com três linhas de código. Mas ela economiza Hora, se você não precise gravar essas mesmas três linhas de código em vários locais Diferente no seu programa. Se você colocar esses três linhas de código em um método, por exemplo, um método chamado MoveToStart()você Apenas precisará escrevê-los uma vez. Em seguida, você apenas chamar o MoveToStart()a qualquer hora que você deseja mover o ponteiro de método de volta para o canto superior esquerdo do painel. |
Para adicionar um método para reiniciar o Game
Ir para o código para o formulário clicando Form1. cs do Solução Explorer e selecionando o do Exibir Código a partir do menu.
Você deve ver o **finishLabel_MouseEnter()**método que você Adicionado. Logo abaixo desse método Adicionar um Nova **MoveToStart()**método.
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); }
Não há um tipo especial de comentário que você pode adicionar acima de qualquer método e o IDE pode ajudá-lo a adicioná-lo. Coloque o cursor na linha acima o Nova método. No Visual c# Adicionar três barras (/ / /). No Visual Basic, adicione três aspas simples (' '). O IDE preenche automaticamente o texto a seguir.
''' <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); }
Na linha entre as Dois Rótulos de resumo, preencha o seguinte comentário. (Depois pressionar Inserir, o IDE automaticamente adiciona uma nova linha com três pontos de barra / (/ / /) ou em três aspas simples (' '), dependendo de sua linguagem de programação, para que você possa continuar o seu comentário.)
''' <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>
Observação Você acabou de adicionar um comentário XML. sistema autônomo você pode se lembrar, o IDE mostramos a você Informação em uma dica de ferramenta quando você Em pausa acima a palavra do MessageBox. O IDE preenche automaticamente nas dicas de ferramentas para seus métodos. Tudo o que você coloca em um comentário XML é exibido na dica de ferramenta do IDE, bem sistema autônomo na janela de IntelliSense. Com um programa com muitos métodos, que pode ser útil. Além disso, se você colocar uma parede que Direito de 10 pixels Abaixo e para a Direito do canto superior esquerdo do painel, você pode Modificar (10, 10) no código. O experimento com números Diferente até encontrar um ponteiro Iniciando em ponto que funcione para seu Labirinto.
Depois adicionar o seu método, você precisará Chamada-lo. sistema autônomo você deseja que seu programa para mover o ponteiro sobre o ponto de partida logo no início do programa, você deve Chamada o método assim que o formulário é iniciado. Para o Visual c#, Procurar o seguinte método no código do formulário.
public Form1() { InitializeComponent(); }
Para Visual Basic, adicione este método no código do formulário. Antes do finishLabel_MouseEntermétodo, Iniciar, Digitação o código a seguir.
Public Sub New()
Quando você pressiona o Inserir chave para mover para a próxima linha, IntelliSense verifique o código Próximo são exibidos Concluído o método.
Public Sub New() ' This call is required by Windows Forms Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. End Sub
Este é um método especial chamado de construtor. Ele é executado uma vez que, quando o formulário é Criado em em. Neste momento, Todas o que ele faz Direito Chamada um Chamada ed do mDireitotodo InitializeComponent(). Você irá adicionar uma linha para que ele Chamada o Nova **MoveToStart()**método que você acabou de escrever. Antes de continuar, considere o que Adicionar a ao seu programa para obtê-lo para chamar o **MoveToStart()**método imediatamente depois que ele chama o **InitializeComponent()**método.
Observação O InitializeComponent()método no construtor do formulário é um método que escreveu o IDE. Ele adiciona Todas Controles e Componentes ao formulário e define suas propriedades. a qualquer hora que você Modificar qualquer uma das propriedades do seu formulário ou em seus controles, o IDE altera esse método. Você pode examiná-la, abra o arquivo Form1.Designer.cs no do Solução Explorer. Não é necessário editar o Sumário do InitializeComponent()método. O IDE cuida disso com base no formulário que você criou no modo Design.
Adicione uma chamada para o **MoveToStart()**método imediatamente depois que ele chama o **InitializeComponent()**método. O código do formulário deve ser Como a seguir.
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); } } }
Observação a chamada para o **MoveToStart()**método embaixo de InitializeComponent(). Se você está programando no Visual c#, lembre-se ao participante da linha com um ponto e vírgula (;) ou não compilar o seu programa.
Agora salvar o seu programa e Executar-lo. sistema autônomo logo sistema autônomo o programa for iniciado, o ponteiro deve ser reposicionado automaticamente um pouco Abaixo e para a Direito do canto superior esquerdo do painel.
Para continuar ou revisar
Para ir para o Próximo tutorial passo, consulte Etapa 5: Adicionar um manipulador de Evento de MouseEnter para cada parede..
Para Retorno à etapa anterior tutorial, consulte Etapa 3: participante do Game.