Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Вниз

Симуляция и анимация текстурой движения цвета   Найти похожие ветки 

 
Рацелий   (2007-06-22 17:26) [0]

Здравствуйте, мастера!

Вы играли в игру "Генерал"? Это экономическая игра нон-график, в которой нам предстояло быть и полководцем и экономистом и ученым. Она бесплатна, а главная цель - захватить всю территторию.

Так вот, на военной карте обозначены территории разных государств. Если вы выигрываете бой или проигрываешь то кусочек чужой/своей территории переходит вам/врагу. Это соответствующим образом отобразится на карте, причем не ровными линиями, а немного кривовато и, к тому же, ваш цвет увеличится по границам, а не окажется где-то посреди территории врага.

Я очень прошу вас помочь мне - помогите мне сделать подобную систему. Мне это необходимо для "войны микробов". Все, конечно же, увидят конечный результат, только прошу - помогите мне. Я даже не понимаю как подобную систему можно осуществить.

Заранее спасибо.


 
Рацелий   (2007-06-26 13:42) [1]

Неужеди никто не знает как???


 
Рацелий   (2007-06-26 13:42) [2]

Мне хотя бы примерно: какие функции/процедуры использовать и в каком напрвлении двигаться.


 
Сергей М. ©   (2007-06-26 16:35) [3]


> Мне это необходимо для "войны микробов". Все, конечно же,
>  увидят конечный результат


Диарея ?


 
@!!ex_   (2007-06-26 17:03) [4]

Автор, ты не прав. Линия там ровная.
делается банально.
У тебя есть граница.
Расчитываешь сколько пикселей ты должно отожрать.
Проходишь в цыкле по всей своей границе, где точка принадлежит грани ставишь флаг - граница.
Пробегаешь повтороно только там где стоит флаг, берешь точку лежащюю рядом и принадлежающуую госудрству, которое ты хаваешь, делаешь своей, выставляешь флаг граница, отнимаешь от общего количества, проходишь так по всей границе, с точек, которые уже границе не принадлежат флаг снимаешь.
Повторяешь проход до тех пор пока количество отожранных пикселей не равно 0.
Если не понял, могу пример набросать.


 
Рацелий   (2007-06-27 13:07) [5]

>2 @!!ex_
Сделай примерчик, плииз. Вот мыло: raceliy@list.ru

Спасибо большое если поможешь.


 
@!!ex ©   (2007-06-27 23:17) [6]

вот пример:
http://afera-net.narod.ru/Capture_color.rar

Пример УЖАСНО медленно работает. Для этого есть несколько причин:
1) Работает с битмапом через Pixels. Это очень медленнеый способ.
2) Вообще работать с полноцветным битмапом - это не правильно, нужно работать с массивом. Будет в разы быстрее.
3) Граница хрнаится опять же в битмапе, а должна - в отдельном массиве, где указаны только точки принадлежащие границе.

ДЛя работы примера нужна BMP картинка размером 256*256 24 битный.  На картинке должны быть нарисованы страны разными цветами. Просто цветные пятна. По границе картинке должна идти полоса толщиной в 1 пиксель цветом, которого нет на карте. Это нужно чтобы не было обращения за пределы массива, мне влом было проверку вставлять. В архиве уже лежит карта которую я юзал.

Выбираешь левой кнопку страну которая будет нападать, правой - страну на которую будешь нападать.
Выбираешь количество пикселей, которое отожрать надо. Не стоит ставить меньше 500, слишком мало.
Нажимаешь ATTACK. Карта изменится.
C Другими кнопками сам разберешься.


 
@!!ex ©   (2007-06-27 23:19) [7]

Учитывая что Generals одна из моих любимых игр - ты просто ообязан показать то что у тебя получиться. :)


 
Рацелий   (2007-06-28 08:13) [8]

спасибо, сейчас буду разбирать. Результат обязательно покажу :)



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
2-1212579950
Гость
2008-06-04 15:45
2008.07.06
Как ограничить кол-во символов в Label


2-1212792183
redlord
2008-06-07 02:43
2008.07.06
отображение каретки ввода в компоненте edit


15-1211475198
Мазут Береговой
2008-05-22 20:53
2008.07.06
Entire Network и ее дети


15-1211752649
Германн
2008-05-26 01:57
2008.07.06
CSIDL_COMMON_DOCUMENTS


2-1212753119
Инна
2008-06-06 15:51
2008.07.06
отображение в РичЕдите хтмл-страницы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский