Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Перейти к содержимому раздела

Blind games - Звуковые игры незрячим

Форум сайта "blind.games". Добро пожаловать.

Архивный режим

Форум переводится в архивный режим. Это значит, что все учетные записи, темы и сообщения остаются на момент 19.07.2018, а добавлять новые уже нельзя. То есть, закрыта регистрация, добавлен запрет на создание новых тем и ответы в существующих.
По всем вопросам, как и ранее, вы можете писать на support (собачка) blind (точка) games.

(Страница 11 из 14)

Страницы Назад 1 9 10 11 12 13 14 Далее

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Topic RSS feed

Сообщений с 101 по 110 из 135

101

Re: BGT

всем здравствуйте. у кого завалялся русский учебник? я его к очень большому сожалению утерял. а если скачивать с сайта влат мас, то к сожалению он закрыт.
дайте пожалуйста ссылку на учебник.

102

Re: BGT

Там и намёка на это нет. Условие гласит о том,   больше, чем 345 и меньше 15.

Хорошо(+) Плохо(-)

Re: BGT

вот ссылка на учебник:
https://yadi.sk/d/h1lA6LIdu77pe

Хорошо(+) Плохо(-)

104

Re: BGT

Ну значит нужно писать >345 or <15

105 (Fri-08-16 20:18:04 отредактировано la Gata)

Re: BGT

А разве условие должно быть не больше 345 и меньше 15, а не или?

Хорошо(+) Плохо(-)

106

Re: BGT

Я разочаровался в sound_pool, хоть в встроенном, хоть от Sam Tupy, придётся своё что-то писать, вернее уже пишу. главные недочёты в том, что звук проигрывается не верно.
После анализа выяснил что расстояние до объектов высчитывается абсолютно не верно на мой взгляд.
Для примера, можно подойти к объекту, чтобы он достаточно четко звучал и громко, и начать крутиться вокруг своей оси, будет слышно что звук утихает до 45 градусов а потом снова нарастает до 90 градусов и его вновь так же слышно только справа, такая же петрушка каждые 45 градусов.
поэтому в игре ощущается не круг а квадрат.
Я уважаю разработчиков, но высчитывать расстояние как они, это придумать надо, сейчас расскажу как они его высчитывают.
Берут две точки, например 0;0;0 и 5;5;5
считают расстояние по каждой оси и складывают, получают 15.
На самом деле тут расстояние будет около 8.6.
Естественно в таких условиях звук тише, а должен он звучать громче, ведь расстояние не 15.
при поворотах на определенный градус звук искажается по нескольким причинам, но описывать тут не буду.

Вообщем вопрос к тем, кто писал в 3d или в 2D, заметили ли вы такие казусы со звуком?
Если нет, то посмотрите, за несколько клеток от звука повернитесь на 45 градусов.
Если кто решал эти проблемы, отзовитесь, я пишу свой вариант этих модулей, но мало ли, вдруг я ошибаюсь и тут есть простое решение.

Хорошо(+) Плохо(-)

107

Re: BGT

Игорь, я тоже разочаровался в sound_pool от сэма.  со звуком там реал косяк, я писал свой ротэйшен по принципу точки, которая бегает по единичной окружности. потом умножал реальное расстояние на получившуюся дробь и получал необходимый результат, вот только всёравно что-то не довёл до ума и забросил. надо бы вновь этим заняться.

108

Re: BGT

Друзья! кто-нибудь ещё занимается кодингом на bgt? я вот к чему.
дело в том, что когда-то наткнулся на статью про линейную алгебру. помоему на хабе, ну найти её не сложно, там описывалось векторное програмирование, что посути намного интереснее чем тригонометрия.
во-первых оно быстрее работает, во-вторых логика проще и нагляднее.
там с помощью векторов описывается всё почти, например направление пули это вектор из трёх чисел.
через векторы вычисляется такие вещи как направление, скорость, позиция, ну это понятно, вычисляются через простые формулы все необходимые параметры в игре, например, поле зрения кого либо при разных углах зрения.
у меня есть желание это всё поюзать, с векторами по-моему работать правильнее, тригонометрия при большом количестве сильно грузит процессор.
кто этим занимался отзовитесь, если хотите вместе это поизучать тоже, давайте этот момент разберём.

Хорошо(+) Плохо(-)

109

Re: BGT

Здравствуйте. Подскажите, пожалуйста, как можно решить такую задачу в BGT. Как результат, каждый заход, игра выдаёт ряд случайных чисел, минимум три. Числа друг от друга не зависят. random каждого от 1 до 4, то есть как результат могут появляться разные комбинации. Одни из комбинаций - выигрывают и дают очки, другие - ничего не прибавляют, третьи - уменьшают счёт игрока. Как легче проверить, какая комбинация выпала. Думаю о регулярных выражениях, но есть ли они в языке? А может быть есть другой способ? На всякий случай, может непонятно объяснил, опишу более определённо. Всё равно, ничего нового я создать не хочу. Игра - по типу однорукого бандита. Три слота. В каждом слоте могут выпасть: вишня, пчела, бабочка, апельсин. Ну, и так далее... То есть: 3 вишни - 100 очков, 2 вишни и любое - 80 очков, 3 пчелы - минус 100 очков, и т.д. и т.п.Если разнобой, то потеря очков, или 0, Не важно. Как выбрать несколько нужных комбинаций, Подозреваю, что через if перебрать - писать замучаешься их же достаточно много. Может же быть: вишня, пчела, вишня, а может: вишня, вишня, пчела, или: пчела, вишня, вишня, но комбинация всё равно выигрывает. Благодарю за помощь.

Хорошо(+) Плохо(-)

110

Re: BGT

Можно написать функцию которая возвращает числа в массиве, а потом с помощью другой функции конвертировать числа в предметы, например так.

// в главной функции по нажатию на энтер обрабатываем и выводим в сообщении
void main() {
show_game_window("название окна");
int[] numbers; // массив чисел
string[] str; // строковый массив, куда будут записываться названия предметов
while (true) {
if(key_pressed(KEY_RETURN)) {
numbers = get_numbers(4, 0, 9); // вернётся массив из 4 элементов, в каждом будет число от 0 до 9
str = convert_numbers_to_subject(numbers); // вернётся строковый массив с названиями предметов исходя из полученных чисел
// выводим в сообщении
string s =""; // строка для вывода
for (int a=0; a<str.length; a++) {
s +=str[a]; // добавили элемент массива в строку
if (a != numbers.length) s+=", "; // если элемент не последний, то добавили запятую и пробел
}
alert("получилось", s);
}
if(key_pressed(KEY_ESCAPE)) exit();
wait(5);
}
}

//сама функция
int[] get_numbers(int n, long min, long max) { // входное число n - это количество чисел, может надо 3 а может и больше, min и max - диапазон случайных чисел
int[] numbers(n); // массив который будем заполнять случайными числами, размера n
for (int a=0; a<n; a++) {
numbers[a] = random(min, max);
}
return numbers; // вернули массив чисел
}

// функция конвертирует массив чисел в массив строк
string[] convert_numbers_to_subject(int[] numbers) {
const string[] subjects = {"вишня","апельсин","пчёлка","малинка","кузнечик","муха","одуванчик","яблоко","груша","роза"};
string[] str(numbers.length);
for (int a=0; a<numbers.length; a++)
str[a] = subjects[numbers[a]];
return str;
}

Всё, только единственный момент, если рандомить числа больше чем 0 до 9, то и в массив subjects надо добавлять другие предметы, их должно быть не меньше чем получившееся рандомное число, иначе выход за пределы массива.
да, ещё можно константный массив с предметами сделать глобальным, чтобы проще было редактировать.

Хорошо(+) Плохо(-)

Сообщений с 101 по 110 из 135

Страницы Назад 1 9 10 11 12 13 14 Далее

Чтобы отправить ответ, вы должны войти или зарегистрироваться



Currently installed 4 official extensions. Copyright © 2003–2009 PunBB.

Сгенерировано за 0.078 секунды (87% PHP — 13% БД) 10 запросов к базе данных