IPB
ЛогинПароль:

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Игра - Шарики с пластинами
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Здравствуйте!
Помогите пожалуйста написать игру или найти исходник для нее!
Я не знаю как она действительно называется, но суть такова : пользователь управляет шариком(вправо-влво),небольшие пластины движутся вверх; шарик должен перемещаться по этим пластинам так, чтобы не упасть в "бездну" и не дойти до верней точки игрового поля.

Спасибо за внимание!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Не думаю, что для кого-то кроме тебя это так уж важно smile.gif
Возникли вопросы:
1). Режим: графика или текст (псевдографика).
2). Умеет ли шарик двигаться влево-вправо или только вверх/вниз.
3). Решение на Pascal'е? На каком?
4). До когда тебе это надо?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Спасибо Вам большое! Вы единственный кто откликнулся!
1)-графический режим
2)-пользователь может двигать шарик только влево-вправо, а сам по себе арик, когда находится на пластине, двигается вместе с пластиной вверх...
3)-да! решение только на паскале! 7.0 вроде бы
4)-вообще ето надо до четверга-пятницы..., а там уж как повезет
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Только я чего-то недопонял. Если пластины движутся вверх, то шарику достаточно стать на пластину, чтобы добраться до верхней точки. Или надо с одного угла в другой дойти?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Так... Сейчас все попробую обьяснить!

@
-------

------ -------


--------

---------
Пластины движутся вверх! (игра заканчивается, если шарик достигает либо верхней либо нижней границы игрового поля) Шарик располагается на пластине в начальный момент времени(и движется вместе с пластиной вверх). Юзер может двигает шарик влево-вправо. Шарик, достигая границы пластины падает вниз, если под ним есть пластина, то он падает на нее и дальше аналогично...

Понятней или попробовать обьяснить подругому?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Изящно ты меня тупым назвал smile.gif
Посмотрю сегодня, что можно сделать. Тебе по-проще?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Ой... Извените пожалуйста, если так со стороны показалось!!!! sad.gif
Мне многие говорят, что я очень резко изьясняюсь...но я так совсем не считаю...

И я эта... девушка... blink.gif

Ну как сказать попроще... наверно да...

СПАСИБО
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Что-то меня зацепило... ;) Взялся без особого интереса, но...
Сделано все плохо, но стандартными паскалевскими средствами! Никакого асма. + до кучи подсчет дырок.
Только без пинков по поводу шлейфа около круга, это не от кривых рук, а для красотищи.. smile.gif

И еще, товарищи, давайте обойдемся без тупых вопросов, графика не инициализируется и все такое... <_<

Код

Uses
   Graph,Crt;
Const
    LineCount = 10;
    HoleSize  = 30;
    Step      = 01;
    LineC     = White;
    R         = 10;
    Pause     = 4500;
Var
  i,j:Word;
  Gd,Gm:Integer;
  S:String;
  LineH:Word;
  A:array[1..LineCount,1..3] of Word;
  Process,MustMove:Boolean;
  X,Y:Word;  {Љ®®а¤Ё­ вл и аЁЄ }
  C:Char;
  HC:LongInt;

Procedure OutLine(N:Word);
begin
    If (A[N,1]>0) and (A[N,1]<641) then
    begin
         Line(1,A[N,1],A[N,2],A[N,1]);
         Line(A[N,2]+HoleSize,A[N,1],A[N,3],A[N,1]);
         Line(A[N,3]+HoleSize,A[N,1],640,A[N,1]);
    end;
end;

Begin
    Randomize;
    Gd:=Detect;
    InitGraph(Gd,Gm,'');
    {‚ᥠЁ§­ з «м­® ®ЇвЁ¬Ё§Ёа®ў ­® Ї®¤ а §аҐиҐ­ЁҐ 640е480}
    LineH:=640 DIV (LineCount+5);
    For i:=1 to LineCount do
    begin
         A[i,1]:=i*LineH;
         A[i,2]:=Random(320)+10;
         A[i,3]:=Random(200)+320;
         OutLine(i);
    end;
    Y:=LineCount;
    X:=((A[i,3]-A[i,2]+HoleSize) DIV 2) + HoleSize + A[i,2];
    Circle(X,A[Y,1]-R,R);
    Process:=True;
    MustMove:=False;
    {j:=1; {‘зҐвзЁЄ ®в­®бЁвҐ«м­®Ј® ᬥ饭Ёп}
    ReadLn;
    HC:=0;
    While Process do
    begin
         If KeyPressed then
         begin
              C:=ReadKey;
              Case C of
              #122:If X<>1 then Dec(X);
              #120:If X<>640 then Inc(X);
              #27:Process:=False;
              end;
              If ((A[Y,2]+HoleSize DIV 2)=X) or
              ((A[Y,3]+HoleSize DIV 2)=X) then
              begin
                   Inc(HC);
                   Inc(Y);
                   If Y=LineCount+1 then Process:=False;
              end;
         end;
         SetColor(Black);
         Circle(X,A[Y,1]-R,R);
         For i:=1 to LineCount do
         begin
              {‘вЁа Ґ¬ бв а®Ґ}
              Line(1,A[i,1],640,A[i,1]);
              Dec(A[i,1],Step);
         end;
         {Џа®и«  ЇҐаў п Ё ўв®а п}
         If (A[1,1]=1) then MustMove:=True; {Check range}
         SetColor(LineC);
         If MustMove then
         {Move array}
         begin
              MustMove:=False;
              For i:=1 to LineCount-1 do
              begin
                   A[i,1]:=A[i+1,1];
                   A[i,2]:=A[i+1,2];
                   A[i,3]:=A[i+1,3];
              end;
              Dec(Y);
              If Y=0 then Process:=False;
              {Last line}
              i:=LineCount;
              A[i,1]:=i*LineH;
              A[i,2]:=Random(320)+10;
              A[i,3]:=Random(200)+320;
         end;
         For i:=1 to LineCount do
         begin
              OutLine(i);
         end;
         Circle(X,A[Y,1]-R,R);
         Delay(Pause);
    end;
    ClearDevice;
    SetTextStyle(TriplexFont,0,7);
    SetColor(Red);
    Str(HC,S);
    OutText('CRASH!!! BABAX!!!');
    If HC=0 then OutTextXY(10,200,'XEPOBO!!!')
    else
        OutTextXY(10,200,S+' HOLES!');
    ReadLn;
    CloseGraph;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Код

Uses CRT,Graph;
Const
sShar=100;
sPlo=200;
KP = 30; {Ї«®в­®бвм ЇаҐЇп¤бвўЁ©}


type shar = record
             x:word;
             y:word;
            end;

     plo = record
            x:word;
            y:word;
           end;

Var grDriver : Integer;
      grMode : Integer;
    prep: array[1..kp] of plo;
    preptemp:plo;
    i:byte;
    s:shar;
    is,ip:byte;
    nk:byte;
    kv:byte;
{- 400 }
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, '');
randomize;
for i:=1 to kp do prep[i].y:=480;
prep[1].x:=random(400); prep[1].y:=479;
s.x:=random(400); s.y:=3;

repeat

{ delay(20);}
  putpixel(s.x,s.y,15);
  {аЁб㥬 «Ё­ЁЁ}
  setcolor(15);
  for i:=1 to kp do If (prep[i].x<>0) and (prep[i].y<>480) then
           line(prep[i].x,prep[i].y,prep[i].x+70,prep[i].y);
  inc(is); inc(ip);
  {®ЇгбЄ Ґ¬ и а}
  If is=Sshar then
  begin
   putpixel(s.x,s.y,0);
   inc(s.y);
   is:=0
  end;
  {Ї®¤­Ё¬ Ґ¬ Ї«®й ¤ЄЁ}
  If ip=sPlo then
  begin
   setcolor(0);
   for i:=1 to kp do If (prep[i].x<>0) and (prep[i].y<>480) then
           line(prep[i].x,prep[i].y,prep[i].x+70,prep[i].y);

   for i:=1 to kp do If (prep[i].y)<>480 then dec(prep[i].y);

   setcolor(15);
   for i:=1 to kp do If (prep[i].x<>0) and (prep[i].y<>0) then
           line(prep[i].x,prep[i].y,prep[i].x+70,prep[i].y);
  end;

  If random(2)=1 then for i:=1 to kp do If prep[i].y=480 then
     If random(65000)=455 then begin prep[i].x:=random(400); prep[i].y:=479 end;


  for i:=1 to KP do If prep[i].y=0 then prep[i].y:=480;

  If keypressed then
  begin
   putpixel(s.x,s.y,0);
   nk:=ord(readkey); If nk=49 then dec(s.x);
   If nk=50 then inc(s.x);
   If (nk=27) then kv:=1;
  end;

  If getpixel(s.x,succ(s.y))=15 then
  begin
   putpixel(s.x,s.y,0);
   If ip=splo-1 then dec(s.y,2) else dec(s.y);
   putpixel(s.x,s.y,15);
   If is>2 then dec(is)
  end;

until (s.y=0) or (s.y=480) or (kv=1);

closegraph;
If s.y=0 then writeln('‚л Їа®ЁЈа «Ё');
If s.y=480 then writeln('‚л ўлЁЈа «Ё');
If (s.y<>0) and (s.y<>480) then writeln('‚л ўли«Ё Ё§ ЁЈал');
writeln('­ ¦¬ЁвҐ «оЎго Є« ўЁиг ...');
while not keypressed do;
readkey;
ClrScr; Halt;
end.


Мой вариант.
Что бы было из чего выбирать smile.gif

Сообщение отредактировано: Oleg_Z -


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Во-первых работает ТОЛЬКО моя.
Во вторых в моей управление - клавиша 1 - влево, 2 - вправо.
Могу переделать на кнопки -> and <- если надо.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Да, действительно только вторая работает...

Ща сидела рубилась.... Прикольно,....
Спасибо большое! Только вот иногда шарик падает с половины пластины...


Щас еще потестю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Ща проверю....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Товарищи у Вас стандартный компилер??!!
У меня все канает..
А так как у тебя Oleg_Z и нужно было сделать (question к Kio)??

Что за ошибка вылетает??

Может Ввод забыли нажать?? blink.gif

Сообщение отредактировано: GLuk -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Только вот иногда шарик падает с половины пластины...

Гы ... lol.gif
Я даже знаю почему, но не скажу. Сама подумай. Догадаешься, тогда подправлю! :P
Цитата
Что за ошибка вылетает??


No ERROR :D
Просто шар вниз не летит!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


Проблема не в этом.... Шарик с пластиночки (када она заканчивается) не падает! Вот!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Проблема не в этом.... Шарик с пластиночки (када она заканчивается) не падает! Вот!


Это у меня??? У меня такого нет!
У меня шар в середине проваливается! (иногда smile.gif )


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


2 GLuk- про шарик, который не падает с пластиночек huh.gif
2 Oleg_Z - только что назвал свою ошибку!!!!! lol.gif исправляй...(футка)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Дая не назвал ошибку, а просто указал где она появляется. А сожешь сказать почему она появляется?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


АААААААААААА!! Ты имеешь ввиду, то что при переходе с пластины на пластину, он падает сразу, а наверху, над дыркой остается след, который после исчезает: ДЫК - ЭТО ФИЧА, а так все катит, если упал вниз - хана, уперся вверх - ТОЖ, или я чой-то не догоняю...?? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

Группа: Пользователи
Сообщений: 11

Репутация: -  0  +


2Gluk --- да вроде все так, тока шарик не падает....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.12.2024 1:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name