Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Полезные функции

Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново...

Ответ
 
Опции темы
Старый 14.05.2011, 18:59   #31
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: очень маленькие хинты

Всегда подобное использовал для тайлов..
Только разница в том, что я подумал а не искал, тем самым извлёк знания и опыт.
(Offline)
 
Ответить с цитированием
Старый 14.05.2011, 23:03   #32
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: очень маленькие хинты

Сообщение от Harter
Представляю вам первый алгоритм из серии "не думай @ ищи".

уголок дорога как сделать круто бесплатно без регистрации 2D 3D ну клеточки чтоб работало
Блочная графика #1
Что там значат 8 и 4?
Написали от балды, чтобы запутать?

И что за 1+2=3
Нельзя тупо ввести 3 и всё..

Глупых вопросов больше не напишу..
Не понял я левую картинку.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (14.05.2011)
Старый 14.05.2011, 23:37   #33
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: очень маленькие хинты

Сообщение от LLI.T.A.L.K.E.R. Посмотреть сообщение
Что там значат 8 и 4?
Написали от балды, чтобы запутать?

И что за 1+2=3
Нельзя тупо ввести 3 и всё..

Глупых вопросов больше не напишу..
Не понял я левую картинку.
Омг, если для тебя это не понятно, то это не значит что написали от балды.


Есть тайл, и четыре к нему прилегающих, тебе нужно высчитать какую картинку вставлять.
Можешь сделать тупо кучей If'ов (16*4), и будет у тебя гипер говнокод, на строк 70. А можно тупо сделать по умному немного приложив логику.
Разжую.
Исходя из картинки сверху, поле является таким:
0 1 0 0
0 1 0 0
0 1 1 1
0 0 0 0
Нужно правильно подобрать тайлы, чтобы они исходя из поля, заполнили дорогу.
Смотрим на тайл в первой картинке по координате 2,3. Относительно ему есть тайл сверху и справа.
Если за условность взять нумерацию как показано на первой картинке:
вверх - 1; вправо - 2; вниз - 4; влево 8. Числа кратные двум, и их можно плюсовать как угодно. В одно число можно запаковать все четыре, или любую другую комбинацию. Например 4+2+1 = 7, при этом иначе ты 7 не разберёшь, как только на 4, 2 и 1. (кратные двум). Если рассмотреть в бинарном коде, то тут всё просто:
1: 0001
2: 0010
4: 0100
8: 1000
Получается 7 будет: 0111.
Такой подход используют много где, в тех же флагах в виде параметров для функций. Но длина ограничена естественно, 16 чисел - это будет 16 бит. Если брать уже 32 числа, то это будет весьма длинное число: 2^32-1 = 4,294,967,295. Столько флагов обычно не используют.
Вернёмся назад. Значит у нас есть 4 числа, и нужно получить флаг. Предположим мы разбираем центральную ячейку и поле такое:
0 0 0
0 1 0
0 0 0
Сверху 0, справа 0, снизу 0, слева 0. Получается при сумме 0. Смотрим на вторую картинку - по индексу будет 0.
Далее рассмотрим такой сценарий:
0 1 0
0 1 0
0 1 0
Сверху 1, значит +1. Снизу тоже 1, значит +4. В результате 5. Идём снова в картинку с тайлами: Вертикальная дорога.
Смотрим если все вместе (1+2+4+8 = 15), это будет последняя перекрёсток.
Если справа пусто, а везде в других есть, то будет 1+4+8 = 13, и по картинке с тайлами сходится.

Это весьма хорошая смекалка, и если кто-то додумался до подобного сам, то ему огромный зачёт (себя хвалю ).

LLI.T.A.L.K.E.R., если ты не понял сам, то не гони, а лучше скажи что не понимаешь, тебе объяснят, если сам не способен.
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
Dimon638 (26.11.2015), impersonalis (15.05.2011), LLI.T.A.L.K.E.R. (15.05.2011), Randomize (17.05.2011), St_AnGer (15.05.2011)
Старый 15.05.2011, 01:20   #34
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: очень маленькие хинты

Напечатано в журнале «The American Scientist», 46, №3 (1958):
Но наибольший успех достигается с помощью такого приема: из готовой рукописи вы вырываете две страницы выкладок, а вместо них вставляете слово «следовательно» и двоеточие. Гарантирую, что читатель добрых два дня будет гадать, откуда взялось это «следствие». Еще лучше написать «очевидно» вместо «следовательно», поскольку не существует читателя, который отважился бы спросить у кого-нибудь объяснение очевидной вещи. Этим вы не только сбиваете читателя с толку, но и прививаете ему комплекс неполноценности, а это одна из главных целей.
http://n-t.ru/ri/fz/fz208.htm
Придумать шифрующий алгоритм проще, чем его взломать. Додуматься до приведённого выше алгоритма кодирования - просто, расшифровать картинку без пояснений? ололо - тему в раздел "загадки" (ну или разрешите наконец писать HEX-ом).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Dream (15.05.2011), LLI.T.A.L.K.E.R. (15.05.2011), moka (15.05.2011)
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:30.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com