E aí galera!
Voltei depois de um bom tempo, e a partir desse post estarei mostrando o desenvolvimento de um jogo da velha em Delphi.
Quando fiz um jogo da velha no início do curso técnico, utilizei Visual Basic para fazer. Na época o resultado não foi bom, pois utilizei labels para "desenhar" os quadrados, e a lógica do código não ficou limpa.
Nesse jogo que farei agora, utilizando Delphi, não utilizarei nenhum objeto visual no formulário do jogo. Todas as marcações, tanto as linhas do tabuleiro como as jogadas serão marcadas utilizando o Canvas, que é o objeto que representa a área visual do Formulário e através do qual podemos desenhar no mesmo.
Para iniciar, vamos desenhar as linhas que marcam o tabuleiro no formulário. São quatro linhas, duas na horizontal e duas na vertical.
É importante definir um tamanho fixo para a largura e altura do formulário para não precisar readaptar o código a cada redimensionamento do formulário pelo usuário. Nesse exemplo estou utilizando 600 por 600 como dimensões do formulário.
Vamos agora ao código. O que faremos é um laço de repetição. Nele iremos desenhar as linhas do tabuleiro. Esse código será escrito no evento OnPaint do formulário.
Veja:
procedure Tfrmprincipal.FormPaint(Sender: TObject);
var
i:integer;
begin
for i:=1 to 2 do
begin
Canvas.MoveTo(i*200,0);
Canvas.LineTo(i*200,600);
Canvas.MoveTo(0,i*200);
Canvas.LineTo(600,i*200);
end;
end;
A cada passagem do laço, movemos o cursor do canvas para a posição x=i*200, ou seja quando i =1 o ponteiro em sua posição x será 200 e na segunda vez 400. E depois desenhamos uma linha dessa posição até a outra extremidade vertical. A posição i fica em 0 e depois na linha vai para 600 que é a última posição vertical.
Após isso invertemos, movendo o ponteiro para y=i*200 para desenhar as linhas horizontais.
Lembrando que quando falamos de posições x e y é só se lembrar de gráficos cartesianos para servir de referência.
Por esse post é só.Nos seguintes seguiremos com nosso jogo...
Abraços.
sexta-feira, 7 de maio de 2010
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário