Ir ao conteúdo
  • Cadastre-se

GENIUS (jogo) em pascal....


rmartignoni

Posts recomendados

Pessoal... estou fazendo alguns jogos em pascal (trabalho do curso).... e estou tendo um probleminha com esse aqui.... acho que todos lembram do genius.... aquele jogo que piscava uma sequencia de cores e voce tinha que repetir....

o jogo não está finalizado ainda, por isso as teclas das cores estão em 1, 2, 3 e 4 ainda.....

o problema é o seguinte.... quando começa o jogo eu não estou conseguindo chamar o procedimento para fazer piscar os botões.... como devo resolver isso???


PROGRAM genius;

USES
crt;

LABEL
1, 2;

VAR
v: array [1..30] of byte;
i, cont, y: byte;
c: char;
flag: boolean;

{------------------------------PROCEDIMENTOS--------------------------------}

PROCEDURE azul;

    begin
     textbackground(white);
     gotoxy(23,11);
     write('          ');
     gotoxy(23,12);
     write('          ');
     gotoxy(23,13);
     write('          ');
     gotoxy(23,14);
     write('          ');
     gotoxy(23,15);
     write('          ');
     gotoxy(23,16);
     write('          ');
     sound(100);
     delay(200);
     nosound;
     textbackground(blue);
     gotoxy(23,11);
     write('          ');
     gotoxy(23,12);
     write('          ');
     gotoxy(23,13);
     write('          ');
     gotoxy(23,14);
     write('          ');
     gotoxy(23,15);
     write('          ');
     gotoxy(23,16);
     write('          ');
    end;

PROCEDURE vermelho;

    begin
     textbackground(white);
     gotoxy(47,11);
     write('          ');
     gotoxy(47,12);
     write('          ');
     gotoxy(47,13);
     write('          ');
     gotoxy(47,14);
     write('          ');
     gotoxy(47,15);
     write('          ');
     gotoxy(47,16);
     write('          ');
     sound(300);
     delay(200);
     nosound;
     textbackground(red);
     gotoxy(47,11);
     write('          ');
     gotoxy(47,12);
     write('          ');
     gotoxy(47,13);
     write('          ');
     gotoxy(47,14);
     write('          ');
     gotoxy(47,15);
     write('          ');
     gotoxy(47,16);
     write('          ');
    end;

PROCEDURE verde;

    begin
     textbackground(white);
     gotoxy(35,4);
     write('          ');
     gotoxy(35,5);
     write('          ');
     gotoxy(35,6);
     write('          ');
     gotoxy(35,7);
     write('          ');
     gotoxy(35,8);
     write('          ');
     gotoxy(35,9);
     write('          ');
     sound(200);
     delay(200);
     nosound;
     textbackground(green);
     gotoxy(35,4);
     write('          ');
     gotoxy(35,5);
     write('          ');
     gotoxy(35,6);
     write('          ');
     gotoxy(35,7);
     write('          ');
     gotoxy(35,8);
     write('          ');
     gotoxy(35,9);
     write('          ');
    end;

PROCEDURE ciano;

    begin
     textbackground(white);
     gotoxy(35,18);
     write('          ');
     gotoxy(35,19);
     write('          ');
     gotoxy(35,20);
     write('          ');
     gotoxy(35,21);
     write('          ');
     gotoxy(35,22);
     write('          ');
     gotoxy(35,23);
     write('          ');
     sound(400);
     delay(200);
     nosound;
     textbackground(cyan);
     gotoxy(35,18);
     write('          ');
     gotoxy(35,19);
     write('          ');
     gotoxy(35,20);
     write('          ');
     gotoxy(35,21);
     write('          ');
     gotoxy(35,22);
     write('          ');
     gotoxy(35,23);
     write('          ');
    end;

{---------------------------PROGRAMA PRINCIPAL------------------------------}

    begin


     { TELA DE APRESENTACAO }

     1: textbackground(blue);
     clrscr;

     gotoxy(24,2);
     textcolor(white+16);
     write(' **  BEM-VINDO AO GENIUS **  ');

     y:= 11;
     gotoxy(33,y);
     textcolor(white);
     textbackground(blue);
     write('  SAIR  ');
     y:= 10;
     gotoxy(32,y);
     textbackground(white);
     textcolor(black);
     write('  COMECAR  ');

     { animacao do menu }

     flag:= false;

     repeat

     if readkey= '2' then
     begin
      y:= 10;
      gotoxy(32,y);
      textbackground(blue);
      textcolor(white);
      write('  COMECAR  ');
      y:= 11;
      gotoxy(33,y);
      textcolor(black);
      textbackground(white);
      write('  SAIR  ');
     end;

     if readkey= '8' then
     begin
      y:= 11;
      gotoxy(33,y);
      textcolor(white);
      textbackground(blue);
      write('  SAIR  ');
      y:= 10;
      gotoxy(32,y);
      textbackground(white);
      textcolor(black);
      write('  COMECAR  ')
     end;

     if readkey= #13 then
      flag:= true;

     until flag;


     { condicao das opções }

     if y= 11 then
     begin
      textbackground(black);
      clrscr;
      textcolor(yellow+16);
      gotoxy(25,10);
      write('  OBRIGADO POR TER JOGADO! ');
      delay(1000);
      halt(1);
     end;

     if y= 10 then
      goto 2;


     { Random no vetor }

     2: randomize;
     for i:= 1 to 30 do
      v[i]:= random(4)+1;


     { Tela do jogo }


     textbackground(lightgray);
     clrscr;
     gotoxy(32,2);
     textbackground(blue);
     textcolor(white+16);
     write('   * GENIUS*    ');
     textcolor(black);

     { sombras }

     textbackground(black);
     gotoxy(24,12);
     write('          ');
     gotoxy(24,13);
     write('          ');
     gotoxy(24,14);
     write('          ');
     gotoxy(24,15);
     write('          ');
     gotoxy(24,16);
     write('          ');
     gotoxy(24,17);
     write('          ');

     textbackground(black);
     gotoxy(48,12);
     write('          ');
     gotoxy(48,13);
     write('          ');
     gotoxy(48,14);
     write('          ');
     gotoxy(48,15);
     write('          ');
     gotoxy(48,16);
     write('          ');
     gotoxy(48,17);
     write('          ');

     textbackground(black);
     gotoxy(36,5);
     write('          ');
     gotoxy(36,6);
     write('          ');
     gotoxy(36,7);
     write('          ');
     gotoxy(36,8);
     write('          ');
     gotoxy(36,9);
     write('          ');
     gotoxy(36,10);
     write('          ');

     textbackground(black);
     gotoxy(36,19);
     write('          ');
     gotoxy(36,20);
     write('          ');
     gotoxy(36,21);
     write('          ');
     gotoxy(36,22);
     write('          ');
     gotoxy(36,23);
     write('          ');
     gotoxy(36,24);
     write('          ');

     { botões }

     textbackground(blue);
     gotoxy(23,11);
     write('          ');
     gotoxy(23,12);
     write('          ');
     gotoxy(23,13);
     write('          ');
     gotoxy(23,14);
     write('          ');
     gotoxy(23,15);
     write('          ');
     gotoxy(23,16);
     write('          ');

     textbackground(red);
     gotoxy(47,11);
     write('          ');
     gotoxy(47,12);
     write('          ');
     gotoxy(47,13);
     write('          ');
     gotoxy(47,14);
     write('          ');
     gotoxy(47,15);
     write('          ');
     gotoxy(47,16);
     write('          ');

     textbackground(green);
     gotoxy(35,4);
     write('          ');
     gotoxy(35,5);
     write('          ');
     gotoxy(35,6);
     write('          ');
     gotoxy(35,7);
     write('          ');
     gotoxy(35,8);
     write('          ');
     gotoxy(35,9);
     write('          ');

     textbackground(cyan);
     gotoxy(35,18);
     write('          ');
     gotoxy(35,19);
     write('          ');
     gotoxy(35,20);
     write('          ');
     gotoxy(35,21);
     write('          ');
     gotoxy(35,22);
     write('          ');
     gotoxy(35,23);
     write('          ');

     { funcionamento do jogo }
     azul;
     verde;
     vermelho;
     ciano;

     cont:= 1;

     repeat

     i:= 1;

     for i:= 1 to cont do
     begin

      if chr(v[i])= '1' then
       azul;

      if chr(v[i])= '2' then
       vermelho;

      if chr(v[i])= '3' then
       verde;

      if chr(v[i])= '4' then
       ciano;

      c:= readkey;

      if (c=chr(v[i])) and (v[i]=1) then
      begin
       azul;
       cont:= cont+1;
      end;

      if (c=chr(v[i])) and (v[i]=2) then
      begin
       vermelho;
       cont:= cont+1;
      end;

      if (c=chr(v[i])) and (v[i]=3) then
      begin
       verde;
       cont:= cont+1;
      end;

      if (c=chr(v[i])) and (v[i]=4) then
      begin
       ciano;
       cont:= cont+1;
      end;

      if chr(v[i])<> readkey then
      begin
       textbackground(black);
       textcolor(red+16);
       clrscr;
       gotoxy(31,12);
       write('  voce PERDEU!  ');
       gotoxy(31,14);
       textcolor(blue);
       write('  PONTUACAO: ', CONT);
       delay(1000);
       goto 1;
      end;

     end;

     until c<>chr(v[i]);


    end.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!