⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snake.pas

📁 Standar Snake Using Pascal
💻 PAS
字号:
uses crt;
var
 x,y,dx,dy:array[1..100]of integer;
 bdnular:array[1..100]of char;
 ditekan:char;
 i:integer;
 pjgsnake:integer;
 xmakan,ymakan:integer;
 muncul:integer;
 makanan:char;
begin
 randomize;
  x[1]:=5;
  x[2]:=4;
  x[3]:=3;
  x[4]:=2;
  x[5]:=1;

  y[1]:=5;
  y[2]:=5;
  y[3]:=5;
  y[4]:=5;
  y[5]:=5;
  bdnular[1]:='*';
  bdnular[2]:='*';
  bdnular[3]:='*';
  bdnular[4]:='*';
  bdnular[5]:='*';
  pjgsnake:=5;
  xmakan:=random(70)+1;
  ymakan:=5;
  muncul:=1;
  makanan:=chr(random(26)+65); {chr(65)='A' ord('A')=65}
  i:=ord('A');
{  chr(65);}
 repeat
   if keypressed then
   begin
    ditekan:=readkey;
   end;
    if ditekan=#77 then
    begin
     for i:=pjgsnake downto 2 do
     begin
       x[i]:=x[i-1];
       y[i]:=y[i-1];
     end;
      x[1]:=x[1]+1;
    end;

    if ditekan=#75 then
    begin
     for i:=pjgsnake downto 2 do
     begin
       x[i]:=x[i-1];
       y[i]:=y[i-1];
     end;
      x[1]:=x[1]-1;
    end;

    if ditekan=#72 then
    begin
     for i:=pjgsnake downto 2 do
     begin
       x[i]:=x[i-1];
       y[i]:=y[i-1];
     end;
      y[1]:=y[1]-1;
    end;

    if ditekan=#80 then
    begin
     for i:=pjgsnake downto 2 do
     begin
       x[i]:=x[i-1];
       y[i]:=y[i-1];
     end;
      y[1]:=y[1]+1;
    end;

   delay(100);
   clrscr;
   for i:=1 to pjgsnake do
   begin
    gotoxy(x[i],y[i]);write(bdnular[i]);
   end;
   if muncul=1 then
   begin
    gotoxy(xmakan,ymakan);write(makanan);
   end;
   if (x[1]=xmakan)and(y[1]=ymakan) then
   begin
     muncul:=0;
     inc(pjgsnake);
     bdnular[pjgsnake]:=makanan;
     if ditekan=#77 then
     begin
       x[pjgsnake]:=x[pjgsnake-1]-1;
       y[pjgsnake]:=y[pjgsnake-1];
     end;

     if ditekan=#75 then
     begin
       x[pjgsnake]:=x[pjgsnake-1]+1;
       y[pjgsnake]:=y[pjgsnake-1];
     end;
     if ditekan=#72 then
     begin
       x[pjgsnake]:=x[pjgsnake-1];
       y[pjgsnake]:=y[pjgsnake-1]+1;
     end;

     if ditekan=#80 then
     begin
       x[pjgsnake]:=x[pjgsnake-1];
       y[pjgsnake]:=y[pjgsnake-1]-1;
     end;
    if muncul=0 then
    begin
      xmakan:=random(70)+1;
      ymakan:=random(20)+1;
      muncul:=1;
      makanan:=chr(random(26)+65); {chr(65)='A' ord('A')=65}
    end;
   end;
 until ditekan=#27;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -