|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
||||||
Разработка "игры" для зачета08.02.2010, 17:14. Показов 12011. Ответов 77
Метки нет (Все метки)
Идея такова: есть автобус, он ездит и собирает людей по остановкам, по дороге самособой. Кругом ездят другие машины. Когда автобус доезжает до края экрана появляется новая локация и т.д. Пока все что успел: более менее настроить управление. Вот полный код:
0
|
||||||
| 08.02.2010, 17:14 | |
|
Ответы с готовыми решениями:
77
задачка для зачета
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|||||||||||
| 10.02.2010, 13:33 | |||||||||||
|
Поясняю:
1.На форме Image1(TImage), pnt(TValueListEditor), bus_t(TTimer) Размер Image1 20*20; Положение 0,0; pnt - это обьект куда заносится вся информация о карте: Положение дорого и остановки. ________________________________________ ________________________________________ _ 2.
Теперь на таймер вешаем код:
0
|
|||||||||||
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 10.02.2010, 17:13 [ТС] | |
|
Спасибо. Но уже Otaka помог. Плюс сегодня преподователь объяснила как там все сделать, дорассказала неточности...
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 10.02.2010, 17:27 | |
|
Да, не за что, Luntegg.
0
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
||||||||||||||||
| 10.02.2010, 18:29 [ТС] | ||||||||||||||||
ошибка list index out of bounds (1) как быть, что не так?
0
|
||||||||||||||||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|||||||||||
| 10.02.2010, 18:40 | |||||||||||
0
|
|||||||||||
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 10.02.2010, 18:43 [ТС] | |
|
тоже самое
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 10.02.2010, 18:46 | |
|
А у меня нормально работает, если местами поменять...
0
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
||||||
| 10.02.2010, 18:48 [ТС] | ||||||
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||||||||||||||||||
| 10.02.2010, 21:34 | ||||||||||||||||||||||
Удалять вообще можно так: list->Clear(); Но тут кроется главная ошибка: Ужасные утечки памяти. Сначала память нужно очистить, а потом уже удалять из списка. То есть:
А рисуешь двоих в случае, если список не равняется 0, то есть двух даже в случае если уже человека нет. Мне вот интересно, а если тебе нужно будет сделать 100 людей, ты тоже будешь для каждого хардкодить координаты, и удаление? Разве нельзя было сделать так: Изначальная позиция человека X=cos(random(360 градусов))*random(20)+20+X_остановки. Так же и Y. Тем самым ты можешь равномерно распределить людей возле остановки. Необходимые переменные(у тебя в условиях какие-то странные 2000+DX, 2010+DX итд...) вынести в члены класса, и обрабатывать людей в цикле. Таким образом сможешь организовать сколько угодно людей в скольких угодно местах.
1
|
||||||||||||||||||||||
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 10.02.2010, 21:48 [ТС] | |
|
Я бы с радостью сделать последнее, только не совсем понимаю, как это сделать, и по этому делаю так
![]() У меня был только такой вариант: люди стоят каждые у своей остановки. Если автобус стоит у одной остановки и двери открыты, то все люди с этой остановки удаляются. И так с каждой остановкой. Как это сделать? Поточнее если можно, а то не совсм понятно, куда там позицию человека писать и т.д.
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 11.02.2010, 09:39 | |
|
Вот я тут тебе по быстренькому смастерил примерчик, как по экрану ездит автобус, и забирает человечков с остановок.
Там я использовал не TPoint, а FPoint(Смотри в файл myclasses.cpp) для того, чтобы вычислять угол от одной точки к другой, расстояния между ними. Автобус давит людей просто по дистанции(если автобус едет и расстояние между ним и человеком < чего-то, то человек давится). Как сделать коллизию по прямоугольнику который можно еще и поворачивать, смотри в соответствующий раздел темы "Создание игры 2d".
2
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 11.02.2010, 18:02 [ТС] | |
|
Ааааааааааа, огромное спасибо!!!!!!
Ты показал как сделать еще больше, чем я хотел
0
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 11.02.2010, 21:23 [ТС] | |
|
Вроде совместил два документа, но не работает
![]() Автобус не по центру экрана и не могу это никак исправить... Уверен что это из-за FPoint... Прошу устранить ошибку, ибо мне её не найти >_<
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 11.02.2010, 22:18 | |
|
Скачал я твой проект, запустил, как он должен работать я если честно так и не понял и автобуса мне не видно вообще. А так как у меня не 2010(или 2007(9)) версия Билдера, а всего лишь старенькая шестая, то запустить я не могу, а переделывать проект сейчас не особо есть время(лениво мне), продебажить я не могу.
Но проглядев код могу сказать следующее: Ты взяв мой код, не учел того, что у меня двигается автобус, а у тебя фон, поэтому коэффициенты нужно обратить, а автобус рисовать просто по центру. За FPoint ручаюсь, они работают так как надо.
0
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
||||||||||||||||
| 11.02.2010, 23:41 [ТС] | ||||||||||||||||
|
Ну если что, то у меня тоже вроде как 6
![]() Пробовал так, нифига, сейчас опять поменяю опять чего-нибудь... Добавлено через 11 минут сделал.... забыл вставить
![]() Добавлено через 1 час 7 минут все работает, но люди в автобус не садятся не давятся... это конечно же из-за координат...
0
|
||||||||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 12.02.2010, 09:33 | ||||||
|
Я просто в примере взял не так систему координат, и это тебя запутало. Это происходит из-за того, что координаты автобуса у тебя не bus.pos, а центр экрана. Ты можешь написать
1
|
||||||
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 12.02.2010, 13:33 [ТС] | |
|
И куда вставить?
Пробовал, ничего не меняется.....
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 12.02.2010, 14:13 | |
|
Ладно, как прийду домой, переделаю пример так, чтобы двигался не автобус, а карта.
1
|
|
|
8 / 8 / 1
Регистрация: 06.02.2010
Сообщений: 87
|
|
| 12.02.2010, 14:23 [ТС] | |
|
Спасибо.
Ща двигается карта, а автобус и пешеходы на месте стоят...
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 13.02.2010, 20:57 | |
|
Тарам!!!
А вот и исправленный вариант. На твоей совести сделать, чтобы автобус был не жестко привязан к центру, и чтобы он мог ездить только по дорогам. !Внимательный читатель заметит, что внесено было очень мало изменений по сравнению с предыдущей версией.
1
|
|
| 13.02.2010, 20:57 | |
|
Помогаю со студенческими работами здесь
60
С++ Создать понятную программу с объяснениями ( для зачета)
Разработка игры для Android Разработка игры для Дипломной Работы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|