Всем привет.. вот столкнулся с проблемой.. хочу сделать систему боя в игре, но эти одноразывае бои типо нажал атакавать и у кого больше параметров выграл как то надоело.. хотел там с разными умениями.. чтоб урон зависил от силы ударившего и зашиты отбивающего.. подскажите как лучше сделать.. не пойму че то.. + уклоны всякие смотря сколько ловкость... просто как с чем сравнивать что подсчитывать и тд
ОБСУЖДЕНИЕ
Система боя
Хм... ну не знаю)
Помойму очевидно что если у атакуещего параметр "Атака" к примеру 1500 а у защищаегося параметр защита "750" то урон по нему будет 750 :) Зачем всë усложнять, прямо так и делай :D
Помойму очевидно что если у атакуещего параметр "Атака" к примеру 1500 а у защищаегося параметр защита "750" то урон по нему будет 750 :) Зачем всë усложнять, прямо так и делай :D
WebNovichok, А если больше зашита у отбивающегося??
все расписывать долго придется, та и врядли с первого раза получится все растолковать.. А в общем, бери с БД параметры персонажа + рандом
вычисляем среднее защиты, используя так сказать теорию вероятности , как бэ влияет от условий боя (во всяком случае играющему будет так это казаться)
формула атаки:
$защита = rand(1, параметр силы) + rand(1, параметр броня) + rand(1, параметр ловкости);
Для большей реальности , можно еще добавить +- какоц то еще %, в зависимости от определенного условии
Урон можно примерно так
$урон= (rand(1, параметр силы) - какой то процент от брони) + какой то % от ловности;
Мотивация - - % от брони, так как броня это тяжесть, соответственно нужна доп сила на нанисение урона; + % ловности, так как ловкость влияет на скорость и точность удара..
Ну как т так... можно отдельно сделать для каждого доспеха значение утомляемости и тд..
В общем это самый простой вариант который придумал на скорую руку как говорится, а дальше сам можеш развивать как и че будет влиять на тот или иной параметр
вычисляем среднее защиты, используя так сказать теорию вероятности , как бэ влияет от условий боя (во всяком случае играющему будет так это казаться)
формула атаки:
$защита = rand(1, параметр силы) + rand(1, параметр броня) + rand(1, параметр ловкости);
Для большей реальности , можно еще добавить +- какоц то еще %, в зависимости от определенного условии
Урон можно примерно так
$урон= (rand(1, параметр силы) - какой то процент от брони) + какой то % от ловности;
Мотивация - - % от брони, так как броня это тяжесть, соответственно нужна доп сила на нанисение урона; + % ловности, так как ловкость влияет на скорость и точность удара..
Ну как т так... можно отдельно сделать для каждого доспеха значение утомляемости и тд..
В общем это самый простой вариант который придумал на скорую руку как говорится, а дальше сам можеш развивать как и че будет влиять на тот или иной параметр
предсказуемо, черство, скучно и не правдоподобно... Ведь в реальности на силу урона влияет много факторов (одежда, настроение,окружающая среде и т.д)
Nefest, А если у отбивающегося защита 3000 а у нападающего атака 1500 то урон будет парирован по атакуещему в размере 1500 :D Жестоко, банально но справедливо!))
Valen, Еще один вопрос.. вот если тупо шас сделать систему боя в одном файле смогу ли я когда сделаю там какой то бой допустим "арена" не писать там код системы боя а просто инклудом подключить тот файл в котором она есть.. или не стоит так делать??
Valen, Ясен пень :D Зато всë стабильно :)
WebNovichok, Как то не то:D но все равно спасибо))
Nefest, Да я же шучу :D Я еще об этом и не задумываюсь если честно) Я пока с готовым скриптом вожусь, ковыряю его, розбираюсь по чуть-чуть... А на деле даже вывод последнего действия криво написал :D
Сам вот писал игру, но там и не дошел еще до системы боя (заказчик где то пропал) но сам бы все делал просто в функции
что то типа
Аналогично выполнять и с защитой
ДЛя корректности там, все таки наверное придется что то придумать с соотношением урон-здоровье.. это на практике уже нужно будет все смотреть и производить коррекцию формул.
что то типа
function atack($us_id)
{
$arr_us = берем массив с данными пользователя с БД
//исходя из данных с массива, по выше предложенной формуле, формируем значение
$урон = формула урона;
return $урон;
}
// При самом бое делаем просто вот
mysql_query ("UPDATE `users` SET `здоровье`= `здоровье`- atack($us_id) WHERE id='$us_id'");
Аналогично выполнять и с защитой
ДЛя корректности там, все таки наверное придется что то придумать с соотношением урон-здоровье.. это на практике уже нужно будет все смотреть и производить коррекцию формул.
ага, как у нас в стране прям - стабильно продвигаемся все глубже и глубже в анус, наверное по такой же формуле правительство работает
Valen, Неее) Правительство работает чуть по другой системе. Побольше награбить и вовремя свалить из страны потом, чтоб ворованое кто-то другой не своровал :D Граберы однако)
.путин8.
.путин8.
WebNovichok, .смех. это отдельная тактика - отхода.
Лан, давай прекращаем флудить тут
Лан, давай прекращаем флудить тут