RPG: Интересное задание, помогите!!!!
От: Mover  
Дата: 21.04.03 12:24
Оценка:
Всем привет! Я сейчас занимаюсь новым проектом онлайновой РПГ игры, и есть необходимость рисовать карты игровых полей. Может кому интересно или хочет помочь нашему проекту:

http://www.rada.gov.ua/laws/pravo/mover/rpg/

Задание заключается в следующем. Надо написать редактор уровней. На вход — картинка (цветная или чернобелая) .bmp или байтовая матрица, на выход цветная картинка и байтовая матрица.

Алгоритм:
Надо "раскрасить" черно-белую картинку, где 0 (черный цвет) — обозначает воду, 1 (белый) — обозначает сушу.

Надо пройтись по всем клеткам и проставить там где суша соединяется с водой — песок (2) на расстоянии неболее 1 клетки. землю (3) — для клеток 2-3 от воды, и траву (4) — для оставшихся клеток внутрь острова. Если это полуостров — то клетки примыкающие к границе "раскрашивать", так если бы остров еще продолжался. Ну а на воде тоже самое, только заменяешь (2) на (5) — неглубокая вода, (3) на (6) — обычная вода и (4) на (7) — глубокая вода... Приблизительно понятно? =)

Сейчас намалюю...

Было так:

001111111111110000
000011101111111100
000111000111111110
001111000011111100
000011110001110000
001000011111110000
011100000000000000
001000000000000000

Стало приблизительно так:

1) "Раскрашиваем"сушу

002222222334332000
000023202233332200
000222000223333220
002232000022322200
000222220002320000
002000022222220000
022200000000000000
002000000000000000

2) "Раскрашиваем"воду

651111111111111556
655511151111111155
655111555111111115
651111555511111155
655511115551115556
551555511111115666
511156555555555666
551556666666666667

3) Соединяем картинки:

652222222334332556
655523252233332255
655222555223333225
652232555522322255
655222225552325556
552555522222225666
522256555555555666
552556666666666667

без разноцветных картинок трудно представить, но можно! =)


Заранее спасибо, исходники присылайте мне почтой или говорите ссылку — выкачаю...
Re: А ключ от квартиры?
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 21.04.03 12:29
Оценка:
Здравствуйте, Mover, Вы писали:

[]

Сабж.
Re[2]: А ключ от квартиры?
От: Mover  
Дата: 21.04.03 12:36
Оценка:
Здравствуйте, Flamer, Вы писали:

F>Здравствуйте, Mover, Вы писали:


F>Сабж.


Не хочешь — не помогай! Дело добровольное... =)
Кстати, это было мое задание на районной олимпиаде по программированию, где я выиграл. исходники на бейсике, жаль утеряны. =((( Столько воды утекло с 1992 года. =)
Re: RPG: Интересное задание, помогите!!!!
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.04.03 12:47
Оценка:
Здравствуйте, Mover, Вы писали:

Ничего интересного. Примитивный алгоритм:
1. Обходим все клетки.
2. Для каждой клетки: если это — вода, то 3. Иначе, 6.
3. Есть ли суша в соседней клетке? (проверяем 8 клеток).
4. Если есть — то это мелкая вода. Иначе-проверяем, есть ли суша на расстоянии 2-3 клетки.
5. Если есть — то это обычная вода. Иначе-глубокая.
6. Есть ли вода в соседней клетке?
7. Если есть — то это песок. Иначе-проверяем, есть ли вода на расстоянии 2-3 клетки.
8. Если есть — то это земля. Иначе-трава.

Вот матрица для проверки наличия на шагах 3 и 6:
..........
..[][][]..
..[]XX[]..
..[][][]..
..........

Двумя иксами представлена текущая клетка
А вот — примерная матриуа для проверки наличия на шагах 4 и 7:
....[][][]....
..[][][][][]..
[][]......[][]
[][]..XX..[][]
[][]......[][]
..[][][][][]..
....[][][]....

(подправить по желанию).
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: RPG: Интересное задание, помогите!!!!
От: Mover  
Дата: 21.04.03 14:56
Оценка:
Ура! Свершилось... =) Нашлись добрые люди в лице Бориса Новгородова.
Прислали мне код на Делфи, который я оформил и разместил там же на сайте,
со скриншотами.. милости просим:

http://www.rada.gov.ua/laws/pravo/mover/rpg/
Re[3]: А ключ от квартиры?
От: WolfHound  
Дата: 21.04.03 15:02
Оценка:
Здравствуйте, Mover, Вы писали:

M>Кстати, это было мое задание на районной олимпиаде по программированию, где я выиграл. исходники на бейсике, жаль утеряны. =((( Столько воды утекло с 1992 года. =)

Вот только не надо пальци веером.
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: RPG: Интересное задание, помогите!!!!
От: disop Украина  
Дата: 22.04.03 08:16
Оценка: :)
Здравствуйте, Mover, Вы писали:

M>http://www.rada.gov.ua/laws/pravo/mover/rpg/

Так вот чем программисты в Верховной Раде Украины занимаются...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.