Advertisement
Jonas_3k

(*- GAME @ Alien Ataca -*)

May 14th, 2011
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.92 KB | None | 0 0
  1. // Comentários /agradecimentos //
  2. // quero agradecer ao emos da ToH \o/ //
  3. // alien ataca versão 0.2        //
  4. // desenvolvido por jonas dos santos //
  5. // projeto\ design\ elaboração : jonas dos santos //
  6. // ToH Games LTDA //
  7. uses crt;
  8. var  alien,nave,bala,tecla:char; // variaveis que controlam a forma da nave aliens e as teclas //
  9.      de,linha,coluna,desce,tiro,
  10.      erro,ponto,sair,movimento:integer; //variaveis que controlam os movimentos pontos etc.. //
  11.      aln: array [1..25] of char;
  12.      nome:string;
  13.      Begin
  14.      gotoxy(25,10); write('Nomedo jogador ',nome ); read(nome); nome:=upcase(nome);
  15.      alien:=chr(2);
  16.      nave:=chr(30);
  17.      bala:=chr(9);
  18.      desce:=2;
  19.      Ponto:=0;
  20.      tiro:=25;
  21.      coluna:=25;
  22.      for de:=1 to 24 do
  23.      Begin
  24.       aln[de]:=chr(1);
  25.       gotoxy(20,1);  write('|----------------------------------|');
  26.       gotoxy(20,de); write('|                                  |');
  27.       gotoxy(20,de); write('|                                  |');
  28.       gotoxy(20,24); write('|----------------------------------|');
  29.      End;
  30.      Begin
  31.       repeat
  32.          tiro:=22;
  33.          movimento:=22+random(8);      
  34.         begin  
  35.           for de:=2 to 23 do
  36.           begin
  37.             gotoxy(22,de); write('                                 ');
  38.           end;
  39.             // Aliens //
  40.           repeat
  41.              desce:=desce+1;
  42.              delay(200);         
  43.              gotoxy(22,2); write(aln[1],aln[2],aln[3],aln[4],aln[5],aln[6],aln[7],aln[8],aln[9],aln[10]);
  44.              gotoxy(32,2); write(aln[11],aln[12],aln[13],aln[14],aln[15],aln[16],aln[17],aln[18],aln[19],aln[20]);
  45.             // usuário/você //
  46.             gotoxy(movimento,desce-1); write('                  ');
  47.             gotoxy(movimento,desce); write(alien); gotoxy(movimento+1,desce); write(' Mira:   [-',movimento,'-]');
  48.             gotoxy(coluna,23); write(nave); gotoxy(56,11); write(' Tiros Perdidos ',erro);
  49.             gotoxy(56,12); write(' Precisão: ',coluna); gotoxy(coluna+1,23); write(' Naves derrubadas ',Ponto);
  50.             gotoxy(56,10); write(' Jogador: ',nome);
  51.           until keypressed;
  52.          if movimento=coluna then
  53.          Begin
  54.             gotoxy(coluna+1,22); write(' Atire agora ',nome,' !');
  55.          End;
  56.          tecla:=readkey; tecla:=upcase(tecla);
  57.          case tecla of
  58.           'A': coluna:=coluna-1;
  59.           'D': coluna:=coluna+1;
  60.           'O': sair:=1;
  61.           ' ': begin
  62.                   // Faz a bala subir //
  63.                   for de:=22 downto desce+1 do
  64.                   Begin
  65.                     tiro:=tiro-1;
  66.                     gotoxy(coluna,tiro);write(bala);
  67.                     delay(80);
  68.                   End;
  69.                   if (coluna=movimento) and (tiro=desce) then
  70.                   Begin
  71.                     desce:=2;
  72.                     tiro:=22;
  73.                     ponto:=ponto+1;
  74.                     if ponto>0 then   aln[ponto]:=chr(32);  //verifica se já é possivél remover 1 alien da barreira//
  75.                   End
  76.                   // este algoritimo vê se vose atirou fora do alcance do alien caso sim dar o valor erro 1 ponto//
  77.                   else if (coluna<>movimento) then  
  78.                   begin
  79.                     erro:=erro+1;
  80.                     tiro:=22;
  81.                   end;
  82.                end;
  83.          end;
  84.          //comentários //
  85.          // área que controla o caimento dos aliens //
  86.          // essa área também mostra resultado de vitória ou de perda //
  87.           if desce=23 then
  88.           Begin
  89.            desce:=2;
  90.            ponto:=ponto-1;
  91.            tiro:=23;             
  92.            if ponto>0 then   aln[ponto]:=chr(1);
  93.           End;
  94.           if ponto=-5 then
  95.           Begin
  96.            gotoxy(23,25); writeln(' Desculpe ',nome,' você perdeu .');
  97.            readkey;
  98.            sair:=1;          
  99.           End;
  100.           if ponto=20 then
  101.           Begin
  102.            alien:=chr(31);
  103.            ponto:=ponto;             
  104.           End;   
  105.           if ponto=23 then
  106.           Begin
  107.            gotoxy(23,25); writeln(' Parabéns ',nome,' você Ganhou .');
  108.            readkey;
  109.            sair:=1;          
  110.           End;
  111.         End;
  112.       until sair=1;
  113.       Desce:=25;
  114.       repeat
  115.          delay(500);
  116.          Desce:=Desce-1;
  117.          Gotoxy(5,desce);  write('JonasDS');
  118.          Gotoxy(5,desce+2);write('-Emos-');
  119.          Gotoxy(5,desce+4);write(' Isral ');
  120.          Gotoxy(5,desce+6);write(' arthur ');
  121.          Gotoxy(5,desce+8);write(' alexander');
  122.          Gotoxy(5,desce+9);write('          ');
  123.       until (Desce=1) or (keypressed);
  124.      End;
  125.      End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement