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

> Перемещение мячиков одновременно, Помогите написать игру....ПОКА пусто....Тока начинаю делать!!&
Олежечег(быв. Олежик)
сообщение 15.04.2007 18:02
Сообщение #1


Новичок
*

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

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


Всем привет...
В институте курсовой работой будет игра.
Я предложил свой варант игры....и преподы дали мне согласие.

Игра будет реализовывать перемещение мячиков( 3 штуки ) по доске 3х3..( т.е. 9 сегментов ).....

ОПИСАНИЕ.

1.на поле 3х3 расположены 3 шарика разного цвета....
- СИНИЙ
- КРАСНЫЙ
- ЗЕЛЁНЫЙ

2.на поле 3х3 есть 3 сегмента разного цвета...
- СИНИЙ
- КРАСНЫЙ
- ЗЕЛЁНЫЙ

3. КРАСНЫЙ шарик расположен на ЗЁЛЁНОМ сегменте.....
СИНИЙ шарик расположен на СИНЕМ сегменте(т.е. на своём месте он находится)............
ЗЕЛЁНЫЙ шарик расположен на КРАСНОМ сегменте.........

3.Их месторасположение вы увидите на картинках, скачав предварительно АРХИВ с этими картинками.....
Прикрепленный файл  Raspologenie_polya__rasstanovka_i_pokaz_samoy_igru_v_kartinkah.rar ( 8.57 килобайт ) Кол-во скачиваний: 429

( В архиве содержатся 6 картинок, последовательностью от 1 до 6 )

4.Представьте, что это как доска, которую вы держите в руках....и при наклоне ВПЕРЁД( а на экране вверх ) перемещаются все шарики ВПЕРЁД( Если , конечно, перед этим шариком нет препятствия )...

5.На поле расположены несколько стенок, через которые шарики перекатиться не могут

ЗАДАЧА ( В чём же заключается победа игры)
Надо, путём совместного передвигания шариков, поставить каждый шарик на свой сегмент....


Хотелось бы услышать ваши предложения......

А сделать я бы хотел её совместно с вами....
Меню хотелось бы найти на вашем форуме
(ЕДИНСТВЕННЫЙ МИНУС....модуль ГРАФ будем тока проходить в инсте в этот понедельник, поэтому особо незнаю, как там что =) )

Сообщение отредактировано: Олежечег(быв. Олежик) - 15.04.2007 18:08
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Олежечег(быв. Олежик)
сообщение 5.06.2007 9:12
Сообщение #2


Новичок
*

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

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


Блин..
Я перепутал...
)))
а твоё сообщение пришло немного позже...
СПАСИБО!!!!
кстати..
посмотри мою прогу..
вроде доделал.....
Посмотри....
Вот сама прога...
Прикрепленный файл  APARIN_O.PAS ( 13.43 килобайт ) Кол-во скачиваний: 457

вот пасовский файл меню(который потом преращается в юнит)
Прикрепленный файл  MENU_1_1.PAS ( 5.49 килобайт ) Кол-во скачиваний: 552

И текстовый файл..
Прикрепленный файл  best.txt ( 64 байт ) Кол-во скачиваний: 399

..
У меня возникают проблемы с цветом.......
ещё я не могу понять, как мне сделать так(ведь у меня в игре ближе к 1 месту получает тот, кто набрал не большее, а меньшее кол-во ходов) чтобы выводилась нормально таблица...
Цитата

VOLVO.......
огромное спасибо!
Но...тот баг я понял как убрать, но не могу реализовать!!!
Когда после запуска программы нажимаешь вправо потом вверх...
синий шарик находится в правом верхнем углу, красный под ним, зелёный рядом.....
Вот..
Из этого положения нажать вниз..и синий шарик исчезнет...
Я понял почему...
т.к. у меня ошибка выводится после вот этого!
Кодp1^.drag(156,ch,p1);
p2^.drag(156,ch,p2);
p3^.drag(156,ch,p3);
потому что когда я двигаю вниз,
поначалу двигается зелёный шарик, синий оказывается на красном, а потом красный перемещается и смазывает за собой свою позицию.
т.е. синий!!!!
Мне там надо сделать проверку ифами?

я вот что в своей программе придумал...
но полностью не работает...
Код

repeat
   ch:=readkey;
    if ord(ch)=0 then
     begin
     ch:=readkey;
     score:=score+1;
     pomosh;
     case ord(ch) of
     72: if (p1^.y=240) and (p1^.x=510) then
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p1);
       end
       else if (p2^.y=240) and (p2^.x=510) then
       begin
        p2^.drag(156,ch,p1);
        p1^.drag(156,ch,p2);
        p3^.drag(156,ch,p1);
       end
       else if (p3^.y=240) and (p3^.x=510) then
       begin
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
       end
       else
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end;
      75:if ((p1^.x=354) and (p1^.y=240)) or
            ((p1^.x=354) and (p1^.y=396)) then
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end
       else if ((p2^.x=354) and (p2^.y=240)) or
               ((p2^.x=354) and (p2^.y=396))
       then
       begin
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
       end
       else if ((p3^.x=354) and (p3^.y=240)) or
               ((p3^.x=354) and (p3^.y=396)) then
       begin
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
       end
       else
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end;
      77:if p1^.x=354 then
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end
       else if p2^.x=354 then
       begin
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
       end
       else if p3^.x=354 then
       begin
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
       end
       else
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end;
       80:if p1^.y=240 then
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end
       else if p2^.y=240 then
       begin
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
        p1^.drag(156,ch,p1);
       end
      else if p3^.y=240 then
       begin
        p3^.drag(156 ,ch,p3);
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
       end
      else
       begin
        p1^.drag(156,ch,p1);
        p2^.drag(156,ch,p2);
        p3^.drag(156,ch,p3);
       end;
     end;
   end;
  until (((p1^.x=510) and (p1^.y=396)) and
        ((p2^.x=354) and (p2^.y=240)) and
        ((p3^.x=198) and (p3^.y=84))) or
        (ord(ch)=27);


Это вроде как разрешение шариков на движение..
но всё-равно некоторые шарики, в некоторые позиции не двигаются!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Олежечег(быв. Олежик)   Перемещение мячиков одновременно   15.04.2007 18:02
Олежечег(быв. Олежик)   народ. Будет ли лучше.. если я сделаю масив 3х3? т...   18.04.2007 0:18
Lapp   народ. Будет ли лучше.. если я сделаю масив 3х3? ...   18.04.2007 1:23
Олежечег(быв. Олежик)   а по какому критерию лучше выискивать лидера в таб...   18.04.2007 5:35
Гость   Задать время......или сказать, сколько он потрати...   18.04.2007 6:06
Lapp   Предыдущий пост - мой. Кстати, на всякий случай: п...   18.04.2007 6:56
Олежечег(быв. Олежик)   Вот.... уря...сделал менюшку... но вот проблема......   27.04.2007 17:31
Олежечег(быв. Олежик)   Тут попробовал новую тему..... Менюшку сделал... С...   22.05.2007 16:51
Олежечег(быв. Олежик)   LAPP... Посмотри пожалуйста.... Да и все.. посмотр...   31.05.2007 18:24
Олежечег(быв. Олежик)   Я отладил её..а он пишет что очень большая строка....   31.05.2007 23:51
SkIv   Я отладил её..а он пишет что очень большая строка...   1.06.2007 6:55
volvo   Где именно он тебе такое пишет? Ты бы программу-то...   1.06.2007 3:10
Олежечег(быв. Олежик)   Volvo .....// она у тебя не запускается......? Я п...   1.06.2007 10:25
SkIv   Покажи эту длинную строку.   1.06.2007 10:46
Олежечег(быв. Олежик)   ВОТ ПРОГА!! Вроде работает..... Но там ест...   1.06.2007 10:47
Archon   Ну еще бы... Ведь компилятор все это добро: 72:if ...   1.06.2007 11:10
volvo   Да можно, конечно... Вот один из способов: { Доба...   1.06.2007 12:13
Олежечег(быв. Олежик)   VOLVO....... огромное спасибо! Но...тот баг я ...   2.06.2007 23:18
Олежечег(быв. Олежик)   VOLVO// Я проверил.... Но как сделать для "На...   3.06.2007 22:38
Олежечег(быв. Олежик)   VOLVO... Смотри как я пишу... 72:if (x...   3.06.2007 23:00
volvo   само собой... Тебе нужны 2 версии функций типа che...   3.06.2007 23:23
Олежечег(быв. Олежик)   VOLVO Помоги мне,направо напиши..а налево я по пр...   3.06.2007 23:36
volvo   Я ж написал тебе и направо, и налево... Ты посты-т...   3.06.2007 23:37
Олежечег(быв. Олежик)   Блин.. Я перепутал... ))) а твоё сообщение пришло ...   5.06.2007 9:12


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

 



- Текстовая версия 15.07.2025 4:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"