Jogo de Corrida em Delphi

scss

program jogo_corrida;


uses

  Crt, Graph;


const

  largura_janela = 640; // largura da janela

  altura_janela = 480; // altura da janela

  velocidade_carro = 5; // velocidade do carro

  largura_carro = 50; // largura do carro

  altura_carro = 80; // altura do carro

  cor_fundo = Black; // cor de fundo da janela

  cor_carro = Red; // cor do carro


var

  x_carro, y_carro: integer; // posição do carro

  tecla: char; // tecla pressionada


procedure desenha_carro();

begin

  SetColor(cor_carro);

  Rectangle(x_carro, y_carro, x_carro + largura_carro, y_carro + altura_carro);

end;


procedure limpa_tela();

begin

  SetColor(cor_fundo);

  Rectangle(0, 0, largura_janela, altura_janela);

end;


procedure move_carro();

begin

  if KeyPressed then

    begin

      tecla := ReadKey;

      if tecla = #75 then // seta para esquerda

        x_carro := x_carro - velocidade_carro

      else if tecla = #77 then // seta para direita

        x_carro := x_carro + velocidade_carro;

    end;

end;


begin

  InitGraph; // inicializa a janela gráfica

  x_carro := largura_janela div 2 - largura_carro div 2; // posiciona o carro no centro

  y_carro := altura_janela - altura_carro - 10; // posiciona o carro no chão

  repeat

    limpa_tela();

    desenha_carro();

    move_carro();

    Delay(50); // adiciona um pequeno atraso para reduzir a velocidade do jogo

  until tecla = #27; // sai do jogo quando a tecla Esc é pressionada

  CloseGraph; // fecha a janela gráfica

end.