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

> Перемещение мячиков одновременно, Помогите написать игру....ПОКА пусто....Тока начинаю делать!!&
сообщение
Сообщение #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 килобайт ) Кол-во скачиваний: 516

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

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

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

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


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

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

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


Новичок
*

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

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


народ.
Будет ли лучше..
если я сделаю масив 3х3?
т.к. я посмотрел..и подумал, что лучше будет, если просто на экране...
после того как нарисую 9 квадратиков..буду просто перемещать свои шарики...
Допустим...
У меня для каждого шарика есть своё значение...mestox1,mestoу1 ..mestox2,mestoy2...mestoх3,mestoу3...
Значения будут const....
и...я ставлю перед всем этим while , который будет сравнивать эти значения через каждый ход, совершённый пользователем.
ДО ТЕХ ПОР ПОКА mestox1<>х1 and........и так далее......

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


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Олежечег(быв. Олежик) @ 18.04.2007 1:18) *

народ.
Будет ли лучше..
если я сделаю масив 3х3?
т.к. я посмотрел..и подумал, что лучше будет, если просто на экране...

Массив (доску, 3х3) завести надо, имхо.
Ты подошел с другого конца. У тебя есть массив (на самом деле - не совсем массив, и это еще хуже..) шариков, каждый элемент его - две координаты. Такой подход имеет право на жизнь, конечно, но подумай вот, о чем..
Когда ты ты перемещаешь шарик на новую клетку, тебе нужно проверить, не занята ли она. Для этого в твоей реализации нужно пройтись по всему массиву шариков и проверить их позиции. В схеме с массивом доски нужно проверить всего одно поле - клетку доски.
Далее, тебе вообще не потребуется никаких специальных координат - их роль будут с успехом выполнять индексы массива. Массив этот должен содержать всего одно число - номер шарика, находящегося в этой клетке, либо ноль, если она пустая.

Далее, тебе надо задать цвет клеток на доске - это тоже желательно делать в массиве доски, 3х3 (добавляется еще один элемент, то есть желательно делать
array [1..3,1..3] of record 
Shar,Color:integer
end


Еще один совет: не замешивай сразу с графикой.. Сделай основной модуль, который двигает шары в соответствии с правилами игры. В нем используй процедуру ShowDesk, которая сначала может быть просто пустой, или ты в ней можешь просто в тексте распечатать матрицу, при этом цвет клетки и шара указывать номером или делать цвет цифры и фона соответствующими. Потом эту процедуру сделаешь в графике.

Добавлено через 1 мин.
А проверку на выигрыш сделать очень просто: проходишь по всей доске (двойной цикл по клеткам) и проверяешь на равенство Shar=Color


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


а по какому критерию лучше выискивать лидера в таблице рекордов....
?????
Задать время......или сказать, сколько он потратил ходов?
Как это реализовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(Олежечег(быв. Олежик) @ 18.04.2007 5:35) *

Задать время......или сказать, сколько он потратил ходов?
Как это реализовать?

И то и другое неплохо. Сам выбирай.
Реализовать - время берешь с помощью GetTime. А ходы считать как - сам думай smile.gif

Я вижу еще одну трудность. Не совсем понимаю, как задавать стенки между клетками.. Думаю, надо добавить в запись для клетки еще два поля - скажем, Left и Up. Наличие 1 в них будет означать стенку, а 0 - нет стенки.
 К началу страницы 
+ Ответить 

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


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

 





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