Intersecções
Já vai algum tempo desde a última mensagem. Neste mês tive muito que fazer e tive de deixar os meus projectos pessoais de lado, incluindo o Mundo .NET. Mas voltei e espero neste mês que agora começa e nos seguintes ter muito mais tempo. Mas voltemos ao que estávamos a fazer. Abri de novo o projecto do jogo Intersecções e estive a recordar o que é que já tinha feito. É que já nem me lembrava. É também para isso que servem os testes - para ajudar a relembrar o que é que estava a ser feito. Com os testes vi que estávamos a desenvolver a interface da aplicação. Já temos uma janela com um menu e esse menu com três opções. Os testes também me dizem que, caso o utilizador escolha a opção de sair, a aplicação termina. Temos ainda uma outra janela que permite que se definam os parâmetros iniciais da aplicação. Ou melhor, deveria permitir, que essa parte ainda não está feita. Proponho, então, que a próxima tarefa seja construir a janela para o novo jogo e depois continuar com a janela principal da aplicação.
Janela Novo Jogo
Vamos desenvolver a janela para se poder iniciar um novo jogo. O código que temos é o seguinte:
class NewGame : Form
{
public NewGame()
{
Text = "Novo Jogo";
}
}
Certo. Não é assim muito código. Já que ainda não se fez muito, sugiro outra abordagem. Vamos utilizar o editor do Visual Studio para desenvolver a janela e depois escrevemos algum código de testes. Esta não é propriamente uma abordagem test-driven mas faz sentido utilizar um editor para desenvolver a interface com o utilizador.
Para criar um novo form podemos pressionar o botão direito do rato com o cursor em cima do nome do projecto e escolher, do menu que aparece, o menu Add, Add Windows Form.... É apresentada uma janela de diálogo, na qual podemos indicar o nome do ficheiro (e consequentemente, do form). Eu escolhi o nome NewGame. Apareceu então o designer com a nova janela. Vou acrescentar os vários elementos. O objectivo é que a janela tenha pelo menos um botão para iniciar o jogo e outro para cancelar, dois elementos onde seja possível indicar as posições originais e um que permita escolher quem começa a jogar. Já volto.
Voltei. Esta é a primeira abordagem. Como se pode ver limitei-me a colocar os controlos no form. Temos um GroupBox para agrupar todos os controlos de configuração, três Labels que indicarão o que significam as opções, dois NumericUpDown que servirão para indicar as posições originais das peças e uma ComboBox para escolher o jogador que irá começar a jogar. No fim do formulário estão dois Buttons para iniciar o jogo
ou cancelar. Sim, mas agora é necessário configurar as propriedades de cada controlo. Por exemplo, para os botões é necessário definir, no mínimo, o texto que aparece no botão e o seu comportamento. As opções de configuração de cada controlo estão presentes na janela Properties. Se esta janela não estiver visivel, pode-se activá-la no menu View, Properties Window. O conteúdo desta janela varia consoante o controlo seleccionado. Vamos alterar as propriedades de cada controlo.
Voltei mais uma vez. A janela tem agora o seguinte aspecto. O que acham? Bem, acho que está melhor que a primeira, mas sem dúvida que não está acabada. Vamos ver quais foram as propriedades dos vários controlos que foram alteradas. A começar pelo próprio form, foi alterada a propriedade Font para Tahoma a 8 pontos. De notar que a alteração desta propriedade faz com que o tipo de letra de todos os controlos que pertencem ao form seja alterado também. Também foi alterada a propriedade FormBorderStyle para FixedToolWindow. O facto de ser uma tool window faz com que a barra de cabeçalho seja mais pequena e que seja apresendo apenas o botão de sistema para fechar a aplicação. Isto é apenas uma questão de gosto. Importante agora é considerar a janela como fixed, que significa que a janela não pode ser redimensionada. A nível futuro talvez faça sentido que se possa redimensionar a janela. Quando isso acontecer, todos os controlos devem ser reajustados. Mas neste momento não se pretende essa funcionalidade. A cor da janela (propriedade BackColor) foi
alterada para LightSlateGray. Outra vez isto é uma questão de gosto e serve também para demonstrar/experimentar a funcionalidade. Mais importante que a mudança de cor é a mudança do título da janela (propriedade Text). Actualmente esta tem o nome do form e alterei para 'Novo Jogo'.
Bem, mas vamos ter de parar por aqui. Na próxima mensagem continuaremos de volta do editor do Visual Studio para desenvolver a interface do utilizador.


0 Comments:
Enviar um comentário
<< Home