Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2012, 13:36   #1
Yellowboy
Новичок
Джуниор
 
Регистрация: 04.01.2012
Сообщений: 1
Стрелка Змейка

Язык PascalAbc.
Прошу оценить мою первую игру , и немного помочь с тем что бы змейка не ехала в противоположную сторону.

PHP код:
Program Zmeya;
Uses graphabcevents,timers;

const
r=;
d=8;

type
TDirection 
= (NoneLeftRightUpDown);

var 
x,t,y,i,z,xr,yr,prin1,prin2,prin3,prin4,prin5,k,s4et,prin6integer;
  
Direction :TDirection;
  
xs,ys,bufx,bufy:array[1..200]of integer;


  
procedure shar3;
     
begin
     SetBrushColor
(clYellow);
     
circle(xs[k],ys[k],r);
     
end;
     
procedure Circl;
begin
  SetBrushColor
(clBlack);
  
circle(x,y,r);
end;

procedure rshar ;
      
begin
      xr
:=Random(WindowWidth) ;
      
yr:=RandomWindowHeight);
      
end;

procedure rshar2;
       
begin
       SetBrushColor
(clYellow);
      
circle(xr,yr,r);
      
end;
      
          
procedure XP(Key:integer);
            
begin
                                                 
case Key of
                                                 VK_Left
Direction := Left ;
                                                 
VK_Right:Direction := Right ;
                                                 
VK_UP:  Direction := UP ;
                                                 
VK_DownDirection :=Down ;
                                                 
end;
             
circle(x,y,r);
             
end;


           
procedure pause;
                       
begin
                  
for i:=1 to 1 do
                  
begin
                  Circl
;
                  
rshar2;
                  
ClearWindow;
                  
rshar2  ;
                  
prin1:=(xr-x+r)*(xr-x+r)+(yr-y)*(yr-y)  ;
                  
prin2:=(xr-x-r)*(xr-x-r)+(yr-y)*(yr-y)  ;
                  
prin3:=(xr-x)*(xr-x)+(yr-y+r)*(yr-y+r)  ;
                  
prin4:=(xr-x)*(xr-x)+(yr-y-r)*(yr-y-r)  ;
                  
prin5:=R*R;
                  if (
prin1)<=(prin5then begin
                                           rshar 
;
                                           
s4et:=s4et+1;
                                           
end;


                   if (
prin2)<=(prin5then begin
                                            rshar 
;
                                            
s4et:=s4et+1;
                                            
end;
                   if (
prin3)<=(prin5then begin
                                            rshar 
;
                                            
s4et:=s4et+1;
                                            
end;
                   if (
prin4)<=(prin5then begin
                                            rshar 
;
                                            
s4et:=s4et+1;
                                            
end;

                    case 
Direction of
                    Left
begin   x:=x-d; if x<=0 then x:=WindowWidth  end;
                    
Up:  begin    y:=y-d; if y<=0 then y:=WindowHeight  end;
                    
Rightbegin  x:=x+d; if x>=WindowWidth then x:=0  end;
                    
Downbegin   y:=y+d; if y>=WindowHeight then y:=0  end;
                    
end;
                            
xs[1]:=x;
                            
ys[1]:=y;
                            for 
k:=1 to s4et do
                            
begin
                             bufx
[k]:=xs[k];
                             
bufy[k]:=ys[k];

                            
end;
                            for 
k:=1 to s4et do
                            
begin
                            xs
[k+1]:=bufx[k];
                            
ys[k+1]:=bufy[k] ;
                            
end;
                            for 
k:=2 to s4et do
                            
shar3;
                           
Circl;
                     
end;
                
end;
 
begin
rshar
;
s4et:=2;

 
Direction := None;

 
x:=WindowWidth div 2;
 
y:=WindowHeight div 2;
  
OnKeyDown:=XP;
  
CreateTimer(150,pause);

end
Yellowboy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
змейка на с++ danzel1 Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 30.07.2011 09:06
змейка spydark91 Общие вопросы Delphi 4 16.07.2011 15:12
Змейка на с++ Banner Помощь студентам 5 26.02.2011 16:42
Змейка zamaevac Gamedev - cоздание игр: Unity, OpenGL, DirectX 20 01.07.2010 19:19
ЗМЕЙКА(((( mizantrop32 Общие вопросы C/C++ 2 07.04.2010 17:10