Siarshai Опубликовано 14 мая, 2011 Жалоба Поделиться Опубликовано 14 мая, 2011 Апдейт. Признаюсь, днём я просматривал алгоритм боя наискосок, поэтому вопросы появились только сейчас. Альтир, у тебя в коде локации playerturn обрабатывается каждая ситуация в отдельности? Не проще ли сначала модифицировать if'ами pdam, endam и т.д., а потом запустить общую для всех проверку на получение повреждений? Проверка на смерть и победу в каждом if'e тем более кажется лишней, можно поместить одну общую после ссылки :batcon (там где печать полученных и нанесённых повреждений). Кстати, из-за такой архитектуры не показывается информация о последнем ударе. Короче говоря, получается, что твоя программа рассматривает каждую комбинацию arg[] в отдельности, в обособленных кусках. Разве это логично? Я что-то не понимаю? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 15 мая, 2011 Жалоба Поделиться Опубликовано 15 мая, 2011 (изменено) Что ж, если ты настаиваешь на дайсах, то пусть будут. Я не настаиваю, просто с дайсами уже проверенная система. Наверное, перед началом игры стоит пустить краткую обучаловку, чтобы объяснить игроку, что здесь за что отвечает? Может просто написать это в отдельном файле, или перед первым боем вывести описание боя. Делать полноценное обучение, по-моему, не стоит - не настолько все сложно, чтобы все разжевывать по шагам и на примере. Можно запихнуть это в начале, где идут воспоминания героя. Иногда из списка возможных ударов пропадает "сильный", даже если на него хватает сил - это бага или фича? Пропадает после его использования? Его можно использовать только через 3 хода (можно изменить, если нужно). Если пропадает после другого удара - надо смотреть. Противник иногда зависает, когда у него остаётся мало сил. Я исправил один баг в пересчете вероятностей выбора удара, если случайное число выпадало максимально возможным, то не выбиралось ни одно действие. Поставил в разбросе -1, думаю неточность в 1-2 десятых процента не существенна. Сила в течение боя меняется крайне редко, так что незачем и ей давать прикрышку "/30" Я сначала думал сделать как раньше - сильный удар уменьшает силу, но потом решил не делать. Можно убрать или оставить, если потом что-то будет изменять силу (например, грибы силы)). Альтир, у тебя в коде локации playerturn обрабатывается каждая ситуация в отдельности? На счет этого. Все бы было хорошо и можно было бы выводить на экран только сообщение об ударе игрока и врага. Но для каждой ситуации нужно информировать игрока что произошло. Например, ты бьешь простым ударом, враг тоже - пишется что и ты и враг ударили/неударили, отняли столько-то хп, если ты бьешь обычным ударом, а враг защищается - выводится, что ты попытался ударить/неударил, но враг удачно/неудачно защитился, отнял/неотнял столько-то хп. То есть для двух вариантов действий уже 7 вариантов вывода сообщений, кроме проверок и вывода сообщений о смерти от соответствующего удара. Все это, наверное, можно уменьшить и переделать, но потом получится такая каша, что добавление чего-то нового будет реальной проблемой (сейчас достаточно с копипастить и немного подредактировать). Есть еще вариант заготовить куски фраз, а потом их скомпоновать в одну строчку, что-то вроде: 'Враг'+$ename+'использует'+$acttext1[args[1]]+'и'+$acttext2[enhitch]+.... Но по-моему возни с этим будет больше, чем написать пару десятков строчек комментариев (в основном используя тот же копипаст). Это было бы нужно, если бы в игре было пара сотен видов ударов и заклинаний. Но если есть идеи как все это упростить... Изменено 15 мая, 2011 пользователем Альтир Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Siarshai Опубликовано 15 мая, 2011 Жалоба Поделиться Опубликовано 15 мая, 2011 Пропадает после его использования? Его можно использовать только через 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 16 мая, 2011 Жалоба Поделиться Опубликовано 16 мая, 2011 Как ты себе представляешь пополнение и замену строк? Через $MID и $replace? Все равно получится куча if-ов, может только не один в другом, а вряд. enemytext = "Противник ударил и нанёс " + pdam +" урона" А если ты защитился? "Противник нанес вам 20 урона.""Вы полностью защитились от удара противника". А если промах? "нанес вам 0 урона"? К тому же, по идее нельзя нанести больше урона, чем есть хп. Все это переписывать заново? А нужно было тогда вообще сохранять эти переменные? Впрочем, можешь попробовать написать так как хочешь. Возможно получится лучше. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 16 мая, 2011 Жалоба Поделиться Опубликовано 16 мая, 2011 Я тут подумал, если в бою интеллект особо роли играть не будет (как сейчас), то нужно в текстовой части делать способы, как избежать сложных боев с помощью интеллекта. А иначе выбор умного будет заведомо не играбельным. Или ввести в бой что-то использующее интеллект, магию там или еще что. Или, например, сделать чтобы кол-во зарядов дыхания зависело от интеллекта. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Siarshai Опубликовано 16 мая, 2011 Жалоба Поделиться Опубликовано 16 мая, 2011 Впрочем, можешь попробовать написать так как хочешь. Возможно получится лучше. Я совсем не настаиваю на изменениях, в конце-концов ты намного лучше в этом разбираешься. Я просто не до конца понял алгоритм и спросил почему так, а не иначе. Я тут подумал, если в бою интеллект особо роли играть не будет (как сейчас), то нужно в текстовой части делать способы, как избежать сложных боев с помощью интеллекта. А иначе выбор умного будет заведомо не играбельным. Это само собой. Посмотри, даже сейчас в "мышах" есть обходные пути. Или ввести в бой что-то использующее интеллект, магию там или еще что. Или, например, сделать чтобы кол-во зарядов дыхания зависело от интеллекта. Это не кажется логичным. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Винг Алый Опубликовано 17 мая, 2011 Жалоба Поделиться Опубликовано 17 мая, 2011 Наконец-то буходные закончились.... закончил с генерацией, статы подкорректировал, вот выкладываю, что получилось на счет интеллекта - он может влиять на критический удар. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 17 мая, 2011 Жалоба Поделиться Опубликовано 17 мая, 2011 Винг Алый, если все согласны с этим вариантом, то выкладывай файл с текстом, я начну его реализовывать. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Винг Алый Опубликовано 18 мая, 2011 Жалоба Поделиться Опубликовано 18 мая, 2011 Что то нету никого.... тихо как то... Альтир, тебе в каком формате текст скидывать, у меня все в MS offis visio 2002-2010, но если надо могу и вытащить текст от туда Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 19 мая, 2011 Жалоба Поделиться Опубликовано 19 мая, 2011 У меня нет визио, так что нужно вытаскивать. Да и удобнее будет, наверное, копировать текст из текстового файла. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Винг Алый Опубликовано 19 мая, 2011 Жалоба Поделиться Опубликовано 19 мая, 2011 Вот вытащил текст, выкладываю: генерация в тексте.rar без схемы смысла в нем мало. не думаю что при генерации нужно выводить много текста, но может я и не прав. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 20 мая, 2011 Жалоба Поделиться Опубликовано 20 мая, 2011 Создание персонажа.rar Вот, готово. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Винг Алый Опубликовано 22 мая, 2011 Жалоба Поделиться Опубликовано 22 мая, 2011 Альтир, отлично поработал! Протестировал... есть один баг, после шага выборы ветки развития, выбор "общение" три из четырех выборов выдают ошибку 119 (строка 2) локация pcreate общение, это выборы бегали по логову, наблюдали за играми и играли в салочки, причем саму строчку текста они выписывают а переход не работает. а так вроде все нормально Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 22 мая, 2011 Жалоба Поделиться Опубликовано 22 мая, 2011 Создание персонажа.rar Исправил. Забыл стереть строчки, оставшиеся при копировании из текстового файла. Странно что при запуске из редактора эта ошибка не появляется и играет дальше. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Винг Алый Опубликовано 22 мая, 2011 Жалоба Поделиться Опубликовано 22 мая, 2011 (изменено) Альтир, кстати, ты скидываешь старый файл, с ошибкой... Я ее там где ты сказал нашел, и у себя подправил - вроде все работает нормально. теперь надо чем то далее заниматься... Возможно проблема возникает в следствии одинаковости имен и скачивается старая версия... Попробую поработать над замком, глава б что-ли, исследование и все такое прочее, кричите ежели что... кстати Альтир, благородство в статах специально не отображается? Изменено 22 мая, 2011 пользователем Винг Алый Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Альтир Опубликовано 23 мая, 2011 Жалоба Поделиться Опубликовано 23 мая, 2011 кстати Альтир, благородство в статах специально не отображается? Да нет, забыл просто. Пока что это тестовый вариант отображения статов, думаю, нужно немного подробнее написать, и начинать отображать только после завершения создания персонажа (сейчас сделано просто чтобы видно было). Ну и имя, цвет и пол, думаю, не стоит писать (типа чтоб не забыть, что ли?) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Странник Опубликовано 16 ноября, 2012 Жалоба Поделиться Опубликовано 16 ноября, 2012 Все же, жаль, что сия затея была забыта. Однако, её тема еще пригодится. Вот здесь имеет место быть уже готовая и отлично работающая вещь, по сути своей похожая на то, что задумывалось в этой теме. С драконом в главной роли, да. И хотя сюжет содержит много заезженнейших штампов (горы золота, похищенные принцессы прилагаются) однако, оно стоит времени на него потраченного. Присутствует даже некий элемент стратегии х) Ах да, знание английского настоятельно рекомендуется, т.к. даже скопировать текст в переводчик не выйдет. Лапками всё, господа. Или мозгами ::cool И напоследок. Создатели сего сайта (ссылка выше) разработали эдакий скриптовый язык, на котором и пишут свои "игры" - и он находится в свободном доступе кое-кому может быть интересна и кнопочка внизу их сайта. "Мы ищем талантыписателей" Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Khael Опубликовано 16 ноября, 2012 Жалоба Поделиться Опубликовано 16 ноября, 2012 Прошел. Маало) И да. Штампы) Но мне понравилось Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Дракончик Опубликовано 16 ноября, 2012 Жалоба Поделиться Опубликовано 16 ноября, 2012 Хорошая вещь, порадовала. Спасибо за ссылку, Буран Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.