Помощь - Поиск - Пользователи - Календарь
Полная версия: чертова змейка
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
Илья S.
Задолбало.Я всё со своей ЧЁРТОВОЙ!!! змейкой

uses crt;
const
  h='@';
  xmin=1;
  ymin=1;
  xmax=80;
  ymax=25;
var
	x,y,vx,vy:integer;
  ch:char;
  xe,ye,i:integer;
begin
	clrscr;
  Randomize;
  x:=xmin;
  y:=ymax div 2;
  xe:=12;
	ye:=12;
  gotoxy(xe,ye);
  write ('a');
  while (x>=1) and (x<=80) and (y>=1) and (y<=25) do begin
  	GoTOXY(x,y);
  	write(h);
    delay(20);
    if keypressed then begin
    	ch:=readkey;
    	case ch of
      	'd':begin vx:=1; vy:=0 end;
      	'a':begin vx:=-1; vy:=0 end; 				 	
		   	'w':begin vx:=0; vy:=-1 end;      	
      	's':begin vx:=0; vy:=1 end;     	
      end;
    end;{if}
    gotoxy(x,y);
    write(' ');
    inc(x,vx);
    inc(y,vy);
    if (x=xe) and (y=ye) then begin
    	i:=i+1;
      clrscr;
      xe:=random(70);
      ye:=random(20);
      gotoXY(xe,ye);
      write('a');
    end;
  end;{while}
  write('i=',i);
end.
Помогите . нужно сделать задержку не по времени, а по очереди.
напешите алгоритм к понедельнику
СРОЧНО!!!!!!!!!!!!
М
Ставь теги!! Lapp

Lapp
Цитата(Илья S. @ 22.12.2006 11:39) *

нужно сделать задержку не по времени, а по очереди.

Что означает "по очереди"?

PS
пожалуйста, не ругайся..
Илья S.
Цитата(Lapp @ 22.12.2006 12:11) *

Что означает "по очереди"?

PS
пожалуйста, не ругайся..

Э то значит что когда я задаю задержку по времени у меня сначала движется бошка а через время которое я задаю движется хвост, а нужно чтобы все точки двигались последовательно плавно и равномерно! !help.gif !help.gif !help.gif !help.gif

ПОМОГИТЕ!!!!!!!!
!help.gif
!help.gif
!help.gif
!help.gif
!help.gif
!help.gif
!help.gif
!help.gif
!help.gif
Илья S.
[quote name='Илья S.' date='24.12.2006 14:55' post='85838']
Э то значит что когда я задаю задержку по времени у меня сначала движется бошка а через время которое я задаю движется хвост, а нужно чтобы все точки двигались последовательно плавно и равномерно! !help.gif !help.gif !help.gif !help.gif

ПОМОГИТЕ!!!!!!!! К этой пятнице последний срок. mega_chok.gif mega_chok.gif mega_chok.gif mega_chok.gif mega_chok.gif

Гость
МИФИст? =))
Malice
Не понял про задержку, но решил добавить хвост, там его не было совсем. Добавил буквально 3 строки:
uses crt;
const
  h='@';
  xmin=1;
  ymin=1;
  xmax=80;
  ymax=25;
var
  x,y,vx,vy:integer;
  cx,cy:array [0..99] of byte;
  ch:char;
  ps,xe,ye,i:integer;
begin
	clrscr;
  Randomize;
  x:=xmin; ps:=0;
  y:=ymax div 2;
  xe:=12;
	ye:=12;
  gotoxy(xe,ye);
  write ('a');
  while (x>=1) and (x<=80) and (y>=1) and (y<=25) do begin
        ps:=(ps+101) mod 100;
  	GoTOXY(x,y); cx[ps]:=x; cy[ps]:=y;
  	write(h);
    delay(100);
    if keypressed then begin
    	ch:=readkey;
    	case ch of
      	'd':begin vx:=1; vy:=0 end;
      	'a':begin vx:=-1; vy:=0 end;
   	'w':begin vx:=0; vy:=-1 end;
      	's':begin vx:=0; vy:=1 end;
      end;
    end;{if}
    gotoxy(cx[(ps-i+100) mod 100],cy[(ps-i+100) mod 100]);
    write(' ');

    inc(x,vx);
    inc(y,vy);
    if (x=xe) and (y=ye) then begin
    	i:=i+1;
      clrscr;
      xe:=random(70);
      ye:=random(20);
      gotoXY(xe,ye);
      write('a');
    end;
  end;{while}
  write('i=',i);
end.

Илья S.
Цитата(Malice @ 29.12.2006 9:35) *
Не понял про задержку, но решил добавить хвост, там его не было совсем. Добавил буквально 3 строки:


Большое спасибо! Еще бы 20 минут и все - хана.А так та успел во время.Большое спасибо give_rose.gif
Bard
Народ оцените.......
TarasBer
Цитата(arximed @ 26.02.2007 14:32) *

Народ оцените.......

1. При чём здесь змейка?
2. Ну красиво, да.
3. С заставкой с медленно ползущей надписью тикткатое надо что-то делать.
4. А если я тупой и английску мову не знаю?
5. А нельзя без делэй? Чтобы скорость не зависела от компа.
6. При вводе имени глюк, когда жмёшь на стрелочку влево, а потом вводишь другой символ.
7. При выводе имени в главном меню используйте OutTextXY для всей строки, а не для каждого символа по отдельности, предполагая равные интервалы между ними. Векторные шрифты не моноширинны!
8. Мерцание. Либо используйте вывод через буфер (свой модуль пишите...) либо выводить через видеостраницы в режиме 640 на 350 на 4 (бита), при этом надо ждать обратный ход луча (что это такое, не знаю, потому что от модуля грапх отказался давно).
9. Мои крестики-нолики с тупым компом на большой доске 5 в ряд (извиняюсь за то, что не по теме):
T i m e
Да уж действительно... Причём тут змейка??? blink.gif Не в тему!
Чё то много больно глюков в твоих крестиках ноликах... (имеется ввиду в оформление)
Контроль ввода вообще тупит... dry.gif
Меню почему то мигает при передвижение...
Единственное, что бросилось в глаза - это мерцание цветных точек слева при самой игре... гламурненько.
А так вообще в целом на троечку я бы оценил... не в обиду! wink.gif

P.S. сам просто с дизайном люблю работать в играх всяких и тому подобное...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.