|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.08.2012, 16:36 | #1 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 15
|
Где то лаг
Начал писать танчики на паскале, столкнулся с проблемой, немогу найти лаг. В общем, если моб первый запускает снаряд, а я за ним, то когда счётчик движения моего снаряда заканчивается, танк моб, стоит на месте и недвигается, хотя мой танк и двигается и стреляет. При повторном моём выстреле, танк моб опять же двигается, но пока счётчик полёта снаряда идёт. код ниже, кому не лень разберитесь с этим бредом))
|
24.08.2012, 16:38 | #2 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 15
|
кидаю код частями, тк ограничение((
в таких скобках {} синим, это самые подозрительные места самые подозрительные места. Код:
Последний раз редактировалось InoyKe; 24.08.2012 в 16:52. |
24.08.2012, 16:39 | #3 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 15
|
{procedure vystrel; label m,w,s1,w1,d1,a1,uq; var a:array[1..2] of integer; sb1:integer; cht:integer; begin a[2]:=y; a[1]:=x; cht:=1; hodr:=1; while (true) do begin uq: if cht=600 then goto m; if keypressed then begin s:=readkey; case s of 's': begin if s='f' then goto s1; le:=s; s1: if (le='s') and (r1=396) or (r1>396) then goto uq; if (le='s') and (r1<396) then shag; end; 'w' : begin if s='f' then goto w1; le:=s; w1: if (le='w') and (r1=87) then goto uq; if (le='w') and (r1>87) then shag; end; 'd' : begin if s='f' then goto d1; le:=s; d1:if (le='d') and (rf=576) then goto uq; if (le='d') and (rf<576) then shag; end; 'a' :begin if s='f' then goto a1; le:=s; a1:if (le='a') and (fr=57) then goto uq; if (le='a') and (fr>57) then shag; end; end; end; if vy=1 then begin setpencolor (clWhite); Circle(a[1],a[2]-2 , 1); cht:=cht+1; if cht=600 then goto m; a[2]:=a[2]+1; setpencolor (clRed); Circle(a[1],a[2] , 1); end; if vy=2 then begin setpencolor (clWhite); Circle(a[1],a[2]+2 , 1); cht:=cht+1; if cht=600 then goto m; a[2]:=a[2]-1; setpencolor (clRed); Circle(a[1],a[2] , 1); end; if vy=3 then begin setpencolor (clWhite); Circle(a[1]+2,a[2] , 1); cht:=cht+1; if cht=600 then goto m; a[1]:=a[1]-1; setpencolor (clRed); Circle(a[1],a[2] , 1); end; if vy=4 then begin setpencolor (clWhite); Circle(a[1]-2,a[2], 1); cht:=cht+1; if cht=600 then goto m; a[1]:=a[1]+1; setpencolor (clRed); Circle(a[1],a[2] , 1); end; if sct3=1 then begin setpencolor (clWhite); Circle(ab[1],ab[2]-2, 2); chtb:=chtb+1 ; if chtb>600 then goto w; ab[2]:=ab[2]-1; setpencolor (clRed); Circle(ab[1],ab[2] , 2); end; if sct3=2 then begin setpencolor (clWhite); Circle(ab[1],ab[2]-2, 2); chtb:=chtb+1 ; if chtb>600 then goto w; ab[2]:=ab[2]+1; setpencolor (clRed); Circle(ab[1],ab[2] , 2); end; if sct3=3 then begin setpencolor (clWhite); Circle(ab[1]+2,ab[2], 2); chtb:=chtb+1; if chtb>600 then goto w; ab[1]:=ab[1]-1; setpencolor (clRed); Circle(ab[1],ab[2] , 2); end; if sct3=4 then begin setpencolor (clWhite); Circle(ab[1]-2,ab[2], 2); chtb:=chtb+1; if chtb>600 then goto w; ab[1]:=ab[1]+1; setpencolor (clRed); Circle(ab[1],ab[2] , 2); end; w: if (x=bot[7]) and (y<bot[8]) or (x>bot[7]+9) and (x<bot[7]-9) and (y<bot[8]) then sb:=3; if (x=bot[7]) and (y>bot[8]) or (x>bot[7]+9) and (x<bot[7]-9) and (y>bot[8]) then sb:=4; if (x<bot[7]) and (y=bot[8]) or (y=bot[8]+9) and (y=bot[8]-9) and (x<bot[7]) then sb:=1; if (x>bot[7]) and (y=bot[8]) or (y=bot[8]+9) and (y=bot[8]-9) and (x>bot[7]) then sb:=2; if shtb>1 then sb1:=0; if sb=1 then begin if (bot[12]=396) or (bot[12]>396) then goto uq; if bot[12]<396 then bothod; end; if sb=2 then begin if bot[12]=11 then goto uq; if bot[12]>11 then bothod; end; if sb=3 then begin if bot[9]=576 then goto uq; if bot[9]<576 then bothod; end; if sb=4 then begin le:=s; if bot[11]=68 then goto uq; if bot[11]>68 then bothod; end; end; m: end;}[ Последний раз редактировалось InoyKe; 24.08.2012 в 16:52. |
24.08.2012, 16:41 | #4 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 15
|
Код:
Последний раз редактировалось InoyKe; 24.08.2012 в 16:46. |
24.08.2012, 16:41 | #5 |
Пользователь
Регистрация: 24.08.2012
Сообщений: 15
|
Код:
Последний раз редактировалось InoyKe; 24.08.2012 в 16:50. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить по данным массива, где есть сигнал, а где его нет. | AnutkaSolnce | C# (си шарп) | 1 | 28.12.2011 17:09 |
Visual Studio 2010 Trial лаг или так задумано... | Casper-SC | Софт | 2 | 07.06.2010 18:35 |
То ли лаг, то ли хз | Жека-старший | Общие вопросы Delphi | 1 | 16.05.2010 18:05 |
Лаг со скриптом | Shaitan63 | PHP | 4 | 13.04.2010 15:05 |
лаг при смене картинки | DANNY | Общие вопросы Delphi | 9 | 19.05.2008 11:19 |