Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.09.2012, 01:14
Аватар для AKIFKA
AKIFKA AKIFKA вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 10
Версия Delphi: Borland 7
Репутация: выкл
Хорошо Readme. Создание игры Танчики

Здравствуйте!
Уважаемые участники форума, хотелось-бы попросить вас о помощи. Не давно началось курсовая на языке программирования Delphi.
И на стал момент когда учитель спросил меня "что я буду программировать" и, со скоку я ответил что игра Танчики...
Вот теперь друзья я задумываюсь с чего начать, как сделать и поможет ли мне кто нибудь?
Ответить с цитированием
  #2  
Старый 29.09.2012, 01:22
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Начни с начала. Возьми листок, карандаш и распиши как это всё представляется. Потом пытайся части своего проекта переводить в код. А вот когда возникнут конкретные вопросы, задавай их.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 29.09.2012, 01:30
Аватар для AKIFKA
AKIFKA AKIFKA вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 10
Версия Delphi: Borland 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от angvelem
Начни с начала. Возьми листок, карандаш и распиши как это всё представляется. Потом пытайся части своего проекта переводить в код. А вот когда возникнут конкретные вопросы, задавай их.
к примеру игра "Battle city" как на счет него?
а вот, теперь надо писать глобальные перемены, алгоритмы что к чему прям голова вариться ;(

Последний раз редактировалось AKIFKA, 29.09.2012 в 01:59.
Ответить с цитированием
  #4  
Старый 29.09.2012, 01:33
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Хорошо хоть не bottle
Battle, гений. Зачем брался, если опыт на нуле? Бери теперь книги, и читай. Много читай.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #5  
Старый 29.09.2012, 01:35
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от angvelem
... А вот когда возникнут конкретные вопросы, задавай их.

Цитата:
Сообщение от AKIFKA
а вот, теперь надо писать глобальные перемены, алгоритмы что к чему прям голова вариться

Это конкретный вопрос что не получается? Написать за вас? В работу, в халяву.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #6  
Старый 29.09.2012, 04:47
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

ТАнчики........
Я пишу(пока в голове) тоже наподобие танчиков, и это, скажу вам сэр задача не из легких..
Приведу пример, с чего я начал этот проект(самые самые нюансы):
1. постановка задачи(цель игры)..
Управляя неким объектом,в некотором пространстве, попасть на следующий уровень(локацию) если будут выполнены некоторые условия(уничтожение какое-то количество ботов или достижение какой-то точки)
При этом: Пространство непрерывное(векторное), неоднородно(состоящее из каких-то препятствий, зон с определенным уровнем прохождения). Следовательно, управляемый объект не должен проходить сквозь стены. Боты, двигаясь к своей цели, должны обходить эти препятствия, причем, каждый бот, является препятствием для другого бота.
2. Разработка.
а. Создание алгоритма взаимодействия управляемого объекта с пространством(управление).
в. Создание алгоритма поведения бота(ИИ):взаимодействия ботов с игровым пространством, его поведение при определенных ситуациях.

дальше расписывать не буду, но скажу, что управление объектом делается на раз два, т.е. чистая тригонометрия.
Самое сложное ИИ ботов, а точнее их взаимодействие между собой(кто кого должен пропускать, если например двое ботов пытаются попасть в одну "дырку", или что делать ботам, если один встречается у другого на пути(кто кому должен уступить) Пока я пришел к тому, что нужно, походу, разработать ПДД для ботов(способ не слишком гибкий), но эта идея пока мне не нравиться..

Своими рассуждениями, я хочу показать с чем вам придется столкнуться... Выберите, лучше, попроще тему, я когда-то писал пак-мен(2-й курс). Это как говориться классика жанра.
Ответить с цитированием
Этот пользователь сказал Спасибо Pilot_Red за это полезное сообщение:
AKIFKA (29.09.2012)
  #7  
Старый 29.09.2012, 10:20
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Pilot_Red, да это самое простое, что ни есть Все это у меня сделано, и юниты норм ездят, и если один режим включить, то и стреляют без промаха (со второго раза - 100%). А я вот остановился на звуке - не мое это. Чет перепады громкости наблюдаются, когда сэмплов много. А так игра почти законченная. Даже редактор уровней есть (кстати, с него я начинал первым, тогда более понятно, что делать дальше). Жаль залить не могу - из-за текстур и звуков весит 20 мб. А так все реализовано:
—Нахождение кратчайшего пути на карте. Поиск происходит по ячейкам волновым алгоритмом - так лучше всего (оптимальнее).
—Проверка столкновений(для ботов и не требуется теоретически, ибо они в преграду то и не едут).
—Проверка на видимость врага(тоесть меня).
—Взаимодействие юнитов - не стрелять по своим, каждый юнит занимает определенные ячейки на карте, соответственно другие юниты его огибают при движении.
—Если бот увидел одну цель - атаковать, пока не убьешь или не убежит, на других не отвлекаться (там у меня проработано "возвращение во времени" - если тебя убили, все возвращается в исходное положение, ездит твой (твои) клон(ы) из прошлого, повторяют твои предыдущие действия.
—Все обьекты разрушаются, как самым танком, так и пулями/снарядами/ракетами. Клоны при движении идут напролом-крушат все к чему прикоснутся
—Есть поверхности-трава, грунт, дорога, вода с соответствующими проходимостями.
Вот и все, похоже. А делал не так уж долго-летом в августе, в сентябре уже не открывал проект даже. Так что не так уже сложно, если учесть, что половину написанного здесь я уже когда-то реализовал на java ME
Ответить с цитированием
  #8  
Старый 29.09.2012, 11:50
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от YVitaliy
Pilot_Red, да это самое простое, что ни есть

Как я уже сказал, моя версия будет реализована на непрерывном пространстве(так реалистичнее). Моделируя ИИ бота, иногда при определенных ситуациях получаются коллизии(решением которых я как раз и занимаюсь).
Скинь на какой нибудь ресурс, я посмотрю твои танчики.
Ответить с цитированием
  #9  
Старый 29.09.2012, 18:14
Аватар для AKIFKA
AKIFKA AKIFKA вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 10
Версия Delphi: Borland 7
Репутация: выкл
По умолчанию

Даа Конечно Постоновка задачи готова, пример ,уничтожел все танчики на своем уровне перешол на другой тур, а если уничтожели тебя ТО GAME OVER
конечно не из легких, но начел... вот буквально Часа три назад
и конечно же вышла ошибка, Посмотришь?
http://zalil.ru/33800554
Ответить с цитированием
  #10  
Старый 01.10.2012, 17:17
Аватар для ined
ined ined вне форума
Начинающий
 
Регистрация: 16.11.2008
Адрес: Российская Федерация!! :)
Сообщения: 165
Версия Delphi: Delphi 2010
Репутация: 1272
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
path:=extractFileDir(Application.ExeName);
//Загрузка картинок танков
for i:=1 to 4 do
for j:=1 to 2 do
begin
Tanki[1,i,j]:=Tbitmap.Create;
Tanki[2,i,j].TransparentColor:=clwhite;
Tanki[1,i,j].LoadFromFile(path+'\img\'+'t'+inttostr(i)+inttostr(j)+'.bmp');
Tanki[2,i,j]:=Tbitmap.Create;
Tanki[2,i,j].TransparentColor:=clWhite;
Tanki[2,i,j].LoadFromFile(path+'\img\'+'q'+inttostr(i)+inttostr(j)+'.bmp');
end;
В этом блоке я нашёл ошибку.
__________________
11011111 INED Home code
VK
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter