A programação do jogo

Para atendermos ao proposto, no modelo comercial (download de partes e componentes do jogo), antes de mais nada é preciso utilizar um procedimento para efetuar esses downloads, de um determinado local da internet. Nesses casos, podemos usar a estrutura http, por operar em portas conhecidas e naturalmente liberadas pelos proxys e firewalls (porta 80).

Neste caso específico, recomendo o uso de um componente do pacote Indy Clients, chamado TIdHTT, ao qual daremos o nome de WDown. Não há nenhum ajuste importante a ser feito, nas propriedades deste componente. Basta incluí-lo no projeto, alterar o seu nome e ele está pronto para uso.

Usaremos uma procedure para baixar os arquivos, que no caso serão imagens jotapeg, em dois formatos: 80 x 50 para o menu de seleções e 640 x 400 para a tela principal do quebra cabeça.

function TForm1.Download(NArq: string): boolean;
var
MyStream: TMemoryStream;
Tmt: TJpegImage;
begin
WDown.Request.Username:= Login.Text;
WDown.Request.Password:= Senha.Text;
WDown.Request.BasicAuthentication:= true;
MyStream:= TMemoryStream.Create;
try WDown.Get(Tlt+NArq,MyStream);
MyStream.Position := 0;
Tmt:= TJpegImage.Create;
Tmt.LoadFromStream(MyStream);
Tmt.DIBNeeded;
if pos('x.',NArq) <> 0 then Bfx.Assign(Tmt)
else Buf.Assign(Tmt);
Tmt.Free;
Result:= true;
except Result:= false;
end;
MyStream.Free;
end;

Esta função vai fazer portanto o download de um dos dois formatos de arquivo gráfico e colocá-lo em um buffer do tipo TBitmap, para posterior manipulação. Note que a função usar os dados de login e senha de acesso ao site ou área web, para fazer a validação de permissão. Todo o resto do jogo fica à critério do desenvolvedor.

Use essa estrutura, com adaptações, para o tipo de jogo que deseja criar.

OBS: o pacote Indy já vem com o Delphi 7 porém, para os outros delphis, você precisará baixá-lo do site http://www.indyproject.org.

 
online