Pingvin писал(а):
А вот это можно.
Я это так вижу.
Есть "пресеты", например: "дробовик", "снайперская винтовка", "штурмовая винтовка", "пистолет", "автомат".
Есть соответствующее количество ключей.
Приложил один - "оживил" с настройками "дробовика".
Другой приложил - "оживил" как снайпера и т.д.
Сделаем!
А за переменные не переживайте - памяти хватит!
Но пульт, ИМХО, удобней всё же будет...
Да, по видам оружия все именно так.
За память как раз не переживаю. Переживаю за то, чтобы потом, вдруг захочется что либо новенькое вносить в программу, чтоб с минимальными переделками. Т.е. стоило бы прикинуть весь перечень возможных переменных параметров, которые могут пригодиться для игр. Просто не знаю ваших размышлений по пульту. При радиосвязи это все легко будет программироваться с управляющего игрой компа. К примеру, что думаю по максимуму применять в итоге, может и не нужно будет многое для именно этой прошивки но лучше выпишу:
Игровые параметры стартовыеКоличество патронов на игру. С возможностью или без получения дополнительных патронов от игроков или по выполнении квестов.
Количество жизней на игру с возможностью или без увеличения этого числа.
Время игры в минутах и часах или без времени.
Оружие:Название оружия
Тип оружия
массив градаций
ущерба от дальности (массив значений от и до ) здесь заложено минимальное и максимальное поражение и несколько (зависит от схемы) промежуточных значений.
апгрейд выстрелов - массив значений увеличения поражения после каждого апгрейда (на сколько единиц увеличиваются все значения по ущербу при каждом апгрейде)
апгрейд настильности - включает максимальные токи (включает в параллель доп резистор или еще как) на ИК диод для данного вида оружия (если на примере -по умолчанию пистолет стреляет на 30 метров, после апгрейда настильности на 50) если схемотехника будет общая и резистивная цепочка на ИК диод будет одинаковая во всех стволах, то можно будет организовать массив значений, как и на выстрелы, под каждый вид оружия.
обойма (количество патронов)- стандартная и массив апгрейдов.
Время перезарядки обоймы в сек. Тоже можно будет апгрейдить. Назовем удобством пользования. Нажал кнопку перезарядки и жди звука готовности. В это время или второе оружие или прикрывают друзья.
глушитель апгрейдом меняется звук выстрела на тихий - гасится вспышка выстрела.
Одиночные выстрелы, или несколько за один выстрел или очередямискорострельность 1. для данного типа оружия (ну снайперка например 10 выстрелов в минуту, глупо будет, если на расстоянии 200-300 метров снайпер будет выдавать 256 выстрелов в минуту с уроном в 70-100% жизни).
скорострельность 2. при нескольких выстрелах и при очередях.
Скорострельность тоже подлежит улучшениям.
Игровые деньги - в примитиве капают в том случае, если игрок в определенный промежуток времени не попадал под прицел противника и его жизнь не уменьшалась. Например - 1 уигрвой рубль каждые 15 мин. При радиосвязи будут капать за каждое попадание, а с учетом хетшотов будут добавляться бонусные величины. В квестовых играх будут добавляться за различные выполненные задания. Апгрейд оружия за эти деньги. Если они есть, апргейд проходит, деньги снимаются. Нет, увы. Лечение и прочие дела тоже покупаются за деньги. Этот параметр однозначно подымет интерес к точной стрельбе (не дать противнику заработать) и к более тщательному уворачиванию от выстрелов
Аптечки - аналог обойм, но при нажатии кнопки восстановление жизни на несколько процентов за нажатие. Длительное нажатие скажем 4 сек восстанавливает на максимум жизни, если есть достаточное количество оживления. Параметры - количество пунктов восстановления. Минимальное восстановление за одно нажатие и маскимальное восстановление за одно нажатие. Апгрейд позволяет экономнее тратить пункты восстановления при нажатии. Может быть заменено на игровую внешнюю аптечку, но функционал лучше сохранить, апгрейд тоже.
Бронежилеты думаю, что пока это не важно. Они интересны если много зон поражения на теле. Повязка и так... голову спрятал за дерево и уже "в бронежилете". Но пунктик стоит оставить, на сколько единиц снижается повреждение от попадания выстрела.
Это те параметры, которые желательны. Играбельность точно подымут. Их пока можно просто предусмотреть, объявить переменные и забить какие то стандартные значения. Мешать они вряд ли будут. А далее вдруг захочется изюминки
Достаточно будет вставить функцию управления этой переменной, не вклиниваясь в тело программы.