Перейти к содержанию

Нектар звезд


Рекомендуемые сообщения

Апдейт. Признаюсь, днём я просматривал алгоритм боя наискосок, поэтому вопросы появились только сейчас.

Альтир, у тебя в коде локации playerturn обрабатывается каждая ситуация в отдельности? Не проще ли сначала модифицировать if'ами pdam, endam и т.д., а потом запустить общую для всех проверку на получение повреждений? Проверка на смерть и победу в каждом if'e тем более кажется лишней, можно поместить одну общую после ссылки :batcon (там где печать полученных и нанесённых повреждений). Кстати, из-за такой архитектуры не показывается информация о последнем ударе. Короче говоря, получается, что твоя программа рассматривает каждую комбинацию arg[] в отдельности, в обособленных кусках. Разве это логично? Я что-то не понимаю?

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 143
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Что ж, если ты настаиваешь на дайсах, то пусть будут.

Я не настаиваю, просто с дайсами уже проверенная система.

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

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

Можно запихнуть это в начале, где идут воспоминания героя.

Иногда из списка возможных ударов пропадает "сильный", даже если на него хватает сил - это бага или фича?

Пропадает после его использования? Его можно использовать только через 3 хода (можно изменить, если нужно). Если пропадает после другого удара - надо смотреть.

Противник иногда зависает, когда у него остаётся мало сил.

Я исправил один баг в пересчете вероятностей выбора удара, если случайное число выпадало максимально возможным, то не выбиралось ни одно действие. Поставил в разбросе -1, думаю неточность в 1-2 десятых процента не существенна.

Сила в течение боя меняется крайне редко, так что незачем и ей давать прикрышку "/30"

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

Альтир, у тебя в коде локации playerturn обрабатывается каждая ситуация в отдельности?

На счет этого. Все бы было хорошо и можно было бы выводить на экран только сообщение об ударе игрока и врага. Но для каждой ситуации нужно информировать игрока что произошло. Например, ты бьешь простым ударом, враг тоже - пишется что и ты и враг ударили/неударили, отняли столько-то хп, если ты бьешь обычным ударом, а враг защищается - выводится, что ты попытался ударить/неударил, но враг удачно/неудачно защитился, отнял/неотнял столько-то хп. То есть для двух вариантов действий уже 7 вариантов вывода сообщений, кроме проверок и вывода сообщений о смерти от соответствующего удара. Все это, наверное, можно уменьшить и переделать, но потом получится такая каша, что добавление чего-то нового будет реальной проблемой (сейчас достаточно с копипастить и немного подредактировать). Есть еще вариант заготовить куски фраз, а потом их скомпоновать в одну строчку, что-то вроде: 'Враг'+$ename+'использует'+$acttext1[args[1]]+'и'+$acttext2[enhitch]+.... Но по-моему возни с этим будет больше, чем написать пару десятков строчек комментариев (в основном используя тот же копипаст). Это было бы нужно, если бы в игре было пара сотен видов ударов и заклинаний.

Но если есть идеи как все это упростить...

Изменено пользователем Альтир
Ссылка на комментарий
Поделиться на другие сайты

Пропадает после его использования? Его можно использовать только через 3 хода (можно изменить, если нужно).

Мне кажется незачем. Если игрок хочет поскорей закончить бой, пускай сливает силу.

Можно убрать или оставить, если потом что-то будет изменять силу (например, грибы силы)).

Если использовать грибы (хотя в их необхоимости сомневаюсь даже я), то в стате получится "32/30". Это глупости.

Но если есть идеи как все это упростить...

Я предоплагал, что в таких случаях используются вот такие проверки:

if args[0]=0:


 pdam=(func('dice', pbdem[0], pbdem[1], pbdem[2])*(100+cpstr)/100+cpstr/5)*hitch/ptire


 enemytext = "Противник ударил и нанёс " + pdam +" урона" //Текст, разумеется, должен быть более распрёстранённым


end if




if args[0]=1:


 pdam=0


 enemytext = "Противник защитился"


end if 




if args[0]=2:


 pdam=(3*(func('dice', pbdem[0], pbdem[1], pbdem[2])*(100+cpstr)/100+cpstr/5)*hitch/2)/ptire


 enemytext = "Противник использовал мощный удар и нанёс " + pdam +" урона"


end if 




if args[1]=0:


 endam=(func('dice', enbdem[0], enbdem[1], enbdem[2])*(100+censtr)/100+censtr/5)*enhitch/entire


  playertext = "Вы ударили и нанесли " + pdam +" урона"


end if



<Тут проверки на остальные удары игрока по тому же принципу>



А тут общая проверка на попадание, блок, критический удар, победу или смерть. pdam, endam, enemytext и playertext дополняются или полностью заменяются по необходимости. 


*nl battleturn+' Ход| ' + enemytext + playertext 

Ссылка на комментарий
Поделиться на другие сайты

Как ты себе представляешь пополнение и замену строк? Через $MID и $replace?

Все равно получится куча if-ов, может только не один в другом, а вряд.

enemytext = "Противник ударил и нанёс " + pdam +" урона"

А если ты защитился?

"Противник нанес вам 20 урона.""Вы полностью защитились от удара противника".

А если промах? "нанес вам 0 урона"?

К тому же, по идее нельзя нанести больше урона, чем есть хп.

Все это переписывать заново? А нужно было тогда вообще сохранять эти переменные?

Впрочем, можешь попробовать написать так как хочешь. Возможно получится лучше.

Ссылка на комментарий
Поделиться на другие сайты

Я тут подумал, если в бою интеллект особо роли играть не будет (как сейчас), то нужно в текстовой части делать способы, как избежать сложных боев с помощью интеллекта. А иначе выбор умного будет заведомо не играбельным.

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

Ссылка на комментарий
Поделиться на другие сайты

Впрочем, можешь попробовать написать так как хочешь. Возможно получится лучше.

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

Я тут подумал, если в бою интеллект особо роли играть не будет (как сейчас), то нужно в текстовой части делать способы, как избежать сложных боев с помощью интеллекта. А иначе выбор умного будет заведомо не играбельным.

Это само собой. Посмотри, даже сейчас в "мышах" есть обходные пути.

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

Это не кажется логичным.

Ссылка на комментарий
Поделиться на другие сайты

Наконец-то буходные закончились.... закончил с генерацией, статы подкорректировал, вот выкладываю, что получилось

6fc554e993d5t.jpg

на счет интеллекта - он может влиять на критический удар.

Ссылка на комментарий
Поделиться на другие сайты

Винг Алый, если все согласны с этим вариантом, то выкладывай файл с текстом, я начну его реализовывать.

Ссылка на комментарий
Поделиться на другие сайты

Что то нету никого....

тихо как то...

Альтир, тебе в каком формате текст скидывать, у меня все в MS offis visio 2002-2010, но если надо могу и вытащить текст от туда

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Вот вытащил текст, выкладываю:

генерация в тексте.rar

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

Ссылка на комментарий
Поделиться на другие сайты

Альтир, отлично поработал! Протестировал... есть один баг, после шага выборы ветки развития, выбор "общение" три из четырех выборов выдают ошибку 119 (строка 2) локация pcreate общение, это выборы бегали по логову, наблюдали за играми и играли в салочки, причем саму строчку текста они выписывают а переход не работает. а так вроде все нормально

Ссылка на комментарий
Поделиться на другие сайты

Создание персонажа.rar

Исправил. Забыл стереть строчки, оставшиеся при копировании из текстового файла. Странно что при запуске из редактора эта ошибка не появляется и играет дальше.

Ссылка на комментарий
Поделиться на другие сайты

Альтир, кстати, ты скидываешь старый файл, с ошибкой... Я ее там где ты сказал нашел, и у себя подправил - вроде все работает нормально.

теперь надо чем то далее заниматься...

Возможно проблема возникает в следствии одинаковости имен и скачивается старая версия...

Попробую поработать над замком, глава б что-ли, исследование и все такое прочее, кричите ежели что...

кстати Альтир, благородство в статах специально не отображается?

Изменено пользователем Винг Алый
Ссылка на комментарий
Поделиться на другие сайты

кстати Альтир, благородство в статах специально не отображается?

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

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Все же, жаль, что сия затея была забыта. Однако, её тема еще пригодится.

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

С драконом в главной роли, да. И хотя сюжет содержит много заезженнейших штампов (горы золота, похищенные принцессы прилагаются) однако, оно стоит времени на него потраченного.

Присутствует даже некий элемент стратегии х)

Ах да, знание английского настоятельно рекомендуется, т.к. даже скопировать текст в переводчик не выйдет. Лапками всё, господа. Или мозгами ::cool

И напоследок. Создатели сего сайта (ссылка выше) разработали эдакий скриптовый язык, на котором и пишут свои "игры" - и он находится в свободном доступе

:roll:

кое-кому может быть интересна и кнопочка внизу их сайта. "Мы ищем талантыписателей"

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...