Форум » » Чего урочникам нехватает в QSP. » Ответить

Чего урочникам нехватает в QSP.

Nex: Вот например, noname пытается применить к QSP "урочный" стиль программирования - это не выходит, т.к. QSP - другой язык! Невероятно, но факт! Не клон и не вариант URQL, а другой язык, с другим подходом к программированию. Обижается, и жалуется, что в QSP работа с данными сделана "плохо". На самом деле - не "плохо", а просто "по-другому"! noname, если тебе нужна урка с расширенными возможностями - добро пожаловать к разработчикам Милены. Найти соотв. тему можно на форуме урки. Я советовал уже не преходить с одной платформы на другую. Что ни говори, ты уже прикипел к урке, и "перестроиться", особенно неопытному программисту, будет сложно. Это также касается всех, кто с URQ пытается(или попытается) перейти на QSP.

Ответов - 57, стр: 1 2 3 All

noname: Вы видели прогу qwerty-bench-vic на сайте уркоганов? в ответ на мой запрос Victor написал её то ли за час, то ли за два. (по-моему вообще минут 30) небольшая такая прога. сколько времени займёт создание аналогичной проги на QSP? это не праздный вопрос: в этой проге содержится 60% того, что мне нужно для живого игрового мира буду рад примеру кода в соответствующей теме

noname: я думаю, что в том стиле, в котором пишу я, прогу ещё никто не делал. многие средства языков URQL и QSP для меня лишни, но кое-чего нехватает. нехватает в-основном удобства написания кода и простоты получающегося кода. пробовал писать на дельфях- задалбывает невозможность давать русские названия и большая подготовительная работа. когда писал на дельфях, склонялся к использованию внешнего скриптового языка. но у вас-то он почти готов! досурка меня по-большому счёту не устраивает русификацией qsp привлекает доп функциями иначе бы вообще плюнул на всё и писал бы свой интерпретатор.

Nex: noname пишет: у вас-то он почти готов! Не почти, а готов. Всё необходимое в нём есть, факт. noname пишет: и писал бы свой интерпретатор И пишите. Кто мешает? Клепайте "платформы-недоделки", если на игру у вас терпения не хватает. Так обычно и заканчивают все недовольные, которые кричат на каждом углу про необходимую только им какую-то мифическую "простоту кода". А довольные - пишут игры.


Byte: noname пишет: Вы видели прогу qwerty-bench-vic на сайте уркоганов? Не видел и желания смотреть что там - нет.

noname: там пример использования массивов: на шахматном поле на своих местах находятся белый конь и чёрная королева (других фигур нет) игрок играет белыми (если б можно было выбирать за кого играть- вообще зашибись!- но тогда я про живой мир не думал- а подумал сразу после того, как увидел этот пример) он на своём ходу делает ход конём по шахматным правилам за чёрных играет комп- если он может побить коня- бьёт(выйгрыш), иначе- он выбирает с равной вероятностью один из возможных ходов. забавная игра. конём выйграть можно. но можно и проиграть по невнимательности. а вообще это был пример на использование массивов. но если можно будет выбирать, за кого играть- то это уже 80% живого игрового мира. короче, фэны qsp- объединяйтесь! буду рад, если кто сможет реализовать такое.

Byte: мда.. ты считаешь, что сделать это проблематично? :)

noname: я считаю, что полную версию (с выбором за кого играет игрок) я могу сделать хоть на урке хоть на дельфях на урке я новичок- написал всего пару простых квестов, но такой пример сделать смогу. пример на qsp мне поможет разобраться с языком P.S. да и другим может быть интересен

Byte: если до завтра никто не напишет, выложу) PS: у меня уже час ночи, нужно спать :)

noname: "что, больше никого?" - крик Ахиллеса в новом фильме "Троя" в посте: Отправлено: Сегодня 17:14. Заголовок: там пример использов.. (см выше) описано техническое задание.

elmortem: noname Интересно, как это тебе поможет разобраться с QSP лучше, чем хелп и куча уже написаных игр?

noname: elmortem, с qsp я уже почти неделю долблюсь и достиг кое-каких успехов, но проги в таком стиле, как я хочу, ещё никто не делал. а в приведённом выше примере описано, что мне от qsp надо.

Byte: noname, код см. в теме "Примеры кода".

noname: Byte пишет: noname, код см. в теме "Примеры кода". интересно, что у вас с victor-ом мысли идут одинаково не туда noname пишет: за чёрных играет комп- если он может побить коня- бьёт(выйгрыш), иначе- он выбирает с равной вероятностью один из возможных ходов. он с первого раза тоже схалтурил и это стало заметно во время игры в твоём примере ты выбираешь случайно направление и расстояние. немного не то. алгоритм крайне не оптимален, (случайно генерим любое напр и расст пока не попадём на возможный ход!) зато могу порадоваться краткости кода и его читабельности. ожидал гооораздо худшего. зато я ожидал, что будет выбор за кого играть- но тут, видимо возникнет заморочка с отрисовкой кнопочек в процедуре. и ожидал, что будет наглядное представление- ну, просто больше людей заинтересовалось бы этой прогой. к слову, у Victora шахматные поля отличались по цвету (ч/б) и координаты были шахматными (b1,d8)

noname: т е из списка возможных ходов выбирается один никаких случайных попаданий- всего один рандом оптимально в твоём коде мне, к сожалению, нехватает некоторых(2-х перечисленных в пред посте) важных моментов спасибо я тебе шлёпнул в обеих темах. ну правда, спасибо.

Byte: noname, добавить отрисовку поля - очень просто :) для оптимальности там нужно проверять какие направления допустимы и на сколько клеток - также несложно добавить :)

noname: Byte пишет: для оптимальности не для оптимальности, а для того, чтоб я посмотрел, как ЭТО сделать на qsp я ведь делаю списки действий и из них выбираю. подобную отрисовку я где-то видел в квестах. пока не разобрался. эххх, был бы в природе нормальный интерпретатор urql- делал бы всё на нём... p.s. (облизываясь), а выбор за кого играть (чтоб развести связку процедуры-кнопочки...)

Byte: список ходов для той задачи делать как раз неоптимально :) хотя если ты пишешь о возможных направлениях - то да.. а прорисовку - можно HTML'ом таблицей рисовать поле с фигурами. проверку на допустимость хода - сам не напишешь?

noname: Byte проблема НЕ в оптимальности и не в проверке на допустимость ходов, а в составлении списка, но, думаю, разберусь...

noname: на сайте урки ваши пару раз упомянули конвертер с урк на куэспе- но я его не нашёл. где можно взять?

Byte: noname, http://elmortem.mirgames.ru/?link=27 но это утилита для помощи в конвертации.. то есть, по заверению разработчика, всё равно нужно править ручками, но основная часть конвертируется автоматически

noname: смотрел... попробовал пару квестов без изысков и пару позамудрённее. 1. в простых квестах конвертер делает ошибки, которые легко исправимы в ручную, и, которые он мог бы и не делать, если его доработать. длина квеста увеличивается примерно вдвое. 2. проблемы с конвертацией сложных квестов решить куда сложнее, чем переписать квест вручную. я верю, что в qsp теоретически можно повторить любой урк-шный квест, но прийдётся приложить столько усилий, что лучше плюнуть на это дело сразу. и размер будет раз в десять больше. вывод: ясно, что программирование на чурке и на куспели по стилю сильно отличается. чурка щазз переживает не лучшие времена, но, со временем, будет и у неё и хороший интерфейс и много функций. куэспе щазз на подьёме. но, когда в голову приходит идея, можно быстро записать её в файл.txt, и легко сделать из него квест.qst(URQL). куспель пошла по другому пути... на мой взгляд, такие ограничения, как jump только в пределах локации- не кместу. на фига такие 'стильные' ограничения? если уж косить под большие языки, то начинать надо бы не с доп ограничений, а с доп возможностей и доп удобств. p.s. уйду я от всех на РТАДС нахрен. хотя и там своих болячек вагон...

Nex: noname Милена как раз и "косит под большие языки", точнее, "универсальный" язык. И доп. возможности и удобства в неё добавлялись в первую очередь. Что ж на ней не пишешь? А QSP не "косил" и не будет "косить" под "большие" языки. Единственное, под что он "косит", если здесь вообще применимо такое слово - BASIC, причём не VB, а "старый" вариант. Только ради легкости восприятия и обучения. Никто не спорит, что научиться делать URQ-квесты несколько проще для новичка, но ты сам видишь, к каким последствиям это приводит, на собственном примере. Начав с урки, сколько головной боли и мучений ты огрёб в итоге?

noname: на урке вся головная боль заключается в плохой поддержке её авторами так например, версия с графическим интерфейсом перестала доделываться и обезбаживатья а в досурке, хотя и нет багов, но нереализован заявленный в хелпе xbtn. под закосом под большие языки я имел ввиду невозможность перехода на метку в другой локации- это довольно 'продвинутое' ограничение, впрочем, возможно, вы с этим что- нибудь сделаете. милену я ещё не освоил. и 'большие языки' мне нафик не нужны. мой идеал= досурка+русификация+графика. дело не в лёгкости обучения- я довольно неплохо разобрался в qsp. но идеология qsp такова, что реализовать эффективный код довольно сложно- делая большую прогу я не смогу сократить свой труд за счёт уловок, которых предоставляла урка. и ещё: сделайте вы наложение картинок, или вы решили заставлять авторов прописывать/прорисовывать все варианты вручную из религиозных соображений? вообще, я считаю, что для новичка qsp- идеал. да и мне он нравится, просто моя текущая идея, которой я сильно увлёкся, к qsp 'не приклеивается'.

Nex: noname пишет: под закосом под большие языки я имел ввиду невозможность перехода на метку в другой локации- это довольно 'продвинутое' ограничение, впрочем, возможно, вы с этим что- нибудь сделаете. По-моему, так как есть сейчас - гораздо лучше - потому что меньше путаницы. Необходимость перейти на конкретную метку в другой локации редко возникает, и уже был описан способ, как это реализовывается/обходится/решается средствами QSP. Отделение переходов на "уровне локаций" от переходов на "уровне меток" очень логично, а значит, в конечном итоге, и более полезно. Что за "наложение картинок" нужно? Подробнее.

Korwin: noname пишет: но нереализован заявленный в хелпе xbtn. help к досурке писал тоже я... убей не помню, где он там заявлен? Виноват, нашел! "14. Появилась возможность использования нескольких действий в одной кнопке – xbtn. Разработка продолжается, так что если Вам чего-то не хватает в работе, можно обратиться к автору интерпретатора - и, вполне возможно, недостающая функция появится." В данном случае имелась в виду программа сделанная Виктором по обработке файлов .qst перед интерпретацией. - http://tightbow.narod.ru/XBTN.RAR По сравнению с реализацией стандартной функции action в QSP - это конечно, не то... совсем не то.

noname: Nex пишет: Что за "наложение картинок" нужно? Подробнее. говорят, в Акурке такое возможно. ну, например: нужно вывести картинку комнаты, в комнате- шкаф с колбами, черепами и пр. если надо, что бы отрисовывались только те предметы, которые в шкафу есть, то делаем так: выводим картинку комнаты с пустым шкафом накладываем на него картинки с предметами, которые в нём есть. подобные вещи для квестов с графикой нужны довольно часто. (если в квесте предусмотрен вывод изображения локации, то было бы хорошо, чтоб оно соответствовало настоящему состоянию локации) p.s. выложенный xbtn для сложных примеров не годится. перейти что-ли на Акурку pre1 ? там вроде бы есть всё, что надо.

Byte: noname, заметь - "текстовые игры". цитата с ifwiki.ru, "Интерактивная Литература": "К ней относятся любые интерактивные программы, которые преподносят пользователю информацию преимущественно в текстовом виде (не в виде графики, анимации, звука и т.п.)" графика здесь совсем вторична, для графических игр существуют другие средства разработки. noname пишет: подобные вещи для квестов с графикой нужны довольно часто. с учётом вышесказанного, фраза "выглядит" смешной.

Nex: noname если желаешь сделать полуграфическую или графическую адвенчу, то для этого есть специальные движки. Не стоит забивать микроскопом гвозди.

noname: Byte пишет: с учётом вышесказанного, фраза "выглядит" смешной. однако, авторы и на куспе и на акурке вставляют, порой графику в квесты и, для платформы, авторы которой считают урку 'устаревшей по всем параметрам' странно не иметь такой возможности. Nex пишет: есть специальные движки. да- Акурка, например. пока можно работать на версии pre1, а если растормошить Акеллу, то... хотя, это уже- из области фантастики. p.s. а что за движки для графических квестов?

fireton: и, для платформы, авторы которой считают урку 'устаревшей по всем параметрам' странно не иметь такой возможности Это называется "разумное планирование". ;) а что за движки для графических квестов? Wintermute Engine

Nex: noname "вставлять порой графику" - и вырисовывать комбинации картинок - это разные вещи.

Korwin: Noname, ты успел покритиковать URQ, QSP и RTADS. Delphi еще лягнул:) все тебя не устраивает. Если не секрет, ты на БуКо игру сделаешь или все платформы будешь перебирать?

Nex: Korwin да это ж разве критика - "мне в QSP нехватает урочных #$ вставок!"

fireton: "Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмина, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича -- я бы тогда тотчас же решилась. А теперь поди подумай!" (с) Гоголь :)

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

fireton: Nex да я о другом. Типа "вот если б у меня был совершенный инструмент, то я сразу б написал супер-игру. а так..."

ShamanEdy: Вот вы тут рассуждаете о "простоте и удобстве". Какая платформа лучше Qsp или URQ? Какая лучше для начинающих? И вот, что я хочу спросить. Вы играли в игру Космические рейнджеры( 1 или 2)? Если играли, то должны помнить, что там есть такая штука, как "планетарные текстовые квесты". Штука вообщем з замечательная. Так вот на сайте игры был выложен редактор для создания этих самых квестов. Вот этот редактор и стал моей первой "текстовой платформой". Когда я начал создавать там квесты, я вообще не знал никакого языка программирования. Но в т TGE(так называется этот редактор) мне этого и ненужно было. Так как там вообще не используется никакой язык программирования. Игры состояли из переходов, локаций, описаний, игр. параметров и условий(if, and, or, but). Но что это были за игры. Достаточно в квест "Тюрьма"(множество квестов гораздо лучше), чтобы понять какими возможностями обладал редактор. Кстати к нему была приложена обширная справка, плюс у игры есть громадный форум(больше 40 человек онлайн 18 часов в сутки), так что все вопросы решались очень быстро. Существует даже целое сообщество СНК(союз независимых квестописателей), регулярно проводятся конкурсы, а а с авторами луших квестов зкалючают контракты(для введения квестов в КР2). Так вот там как раз очень ПРОСТО и УДОБНО!!! Из недостатков только 2: 1)отсутствие сохранения. 2) отсутствие нормального плеера(зато в самой игре Кр2 всё выглядит круто). Все они связаны с тем, что редкатор тесно интегрировани с Кр2( для которой он и был создан, поэтому в игре этих недостактков нет. Конечно, я не спорю, что для самостоятельного написания квестов, никак не зависищих от Кр2, TGE не подходит и лучше воспользоваться QSP. Но для начинающих TGE гораздо проще. P.S Не подумайте, что это была реклама, просто я решил выразить своё мнение о "простоте и удобстве".

Byte: Думаю, про TGE все знают :) Конечно, TGE прост и при этом имеет множество ограничений.

Nex: ShamanEdy мы всё это знаем. А насчёт "что лучше QSP или URQ" - дело вкуса. На урке сравнительно легче написать первый квест, а QSP богаче по возможностям и гораздо более логичен. Поэтому кого что более привлекает, тот то и выбирает.

noname: ответ to ShamanEdy может быть только один- интересные квесты, которые довольно легко сделать на соответствующих платформах, а на TGE- невозможно

Ajenta: Nex пишет: Я советовал уже не преходить с одной платформы на другую. Что ни говори, ты уже прикипел к урке, и "перестроиться", особенно неопытному программисту, будет сложно. Это также касается всех, кто с URQ пытается(или попытается) перейти на QSP. Я прекрасно перешла с урки на кусп и никаких минусов не обнаружила, одни плюсы. Более простых языков программирования чем урка и кусп я ещё не видела, а урку вообще и языком-то сложно назвать :) В урке и правда очень многого нет, а кусп я ещё до конца не изучила, ну просто потому, что ещё не все функции нужны были, но меня это только радует, потому что значит есть потенциал, значит на любой мой изврат фантазии в куспе найдутся средства для воплощения. А потому по-моему всё просто - если хочешь писать простенькие игрушки, то пиши на урке - там всего вполне хватит. Если хочешь сделать игру посерьёзнее, пиши на куспе, а если хочешь вообще чего-нибудь эндакого, то учи программирование и пиши хоть на чём - хоть на VB, хоть на C++, хоть на JavaScript Лично я выбрала, мне куспа вполне хватает.

noname: Ajenta пишет: а урку вообще и языком-то сложно назватьесли хочешь писать простенькие игрушки, то пиши на урке - там всего вполне хватитвот, выше процитирован какой-то текст. что бы это могло быть? наверное, заклинание вызова меня на диалог? по первому: лучший язык в своей области назвать языком не должно быть сложно. основные преймущества куспа в том, что урочники никак не сделают нормальную графическую платформу. но и на том, что есть была написана технически сложная игра "Бриг КРИК" такого уровня, которого достичь на куспе невозможно никакое кол-во новых функций не упростят структуры языка, не изменят методов реализации твоих собственных идей впрочем, не в технических сложностях, и лёгкости реализации сложных алгоритмов счастье. главное- сюжеты, идеи, авторские находки рад твоему успешному дебюту с 'зонтиками фей'. желаю дальше творить и вытворять так же легко и интересно p.s. если хочешь вызвать меня на 'URQ-QSP дуэль', то не выйдет- болею я щаззз p.p.s. работа на куспом проделана действительно титаническая, и новые кугены- просто пальчики оближешь. при таких темпах развития кусп может достичь сколь угодно больших высот, но некоторая часть авторов (а какое тебе до них дело?) останутся на урке. к сожалению, шансов удержать новичков у урки меньше(или нет?), но есть у нас и 'новые бойцы'. посмотри, например 'Рыцари математики'. это первый квест от Лемурка: http://www.urq.plut.info/knights // и да, возможно, кое-что там реализовано 'не очень'. не суди строго

Nex: Что там в Бриг крике глючном реализовано, что "невозможно" сделать на QSP?

ASBer: Опять таки прошу прощения что вмешиваюсь в чужую эпархию... Тем кто хочет подняться выше, развитые языки предоставляют не только готовую лесницу, но и надежные проверенные перила к ней. Простые языки предоставляют возможность построить свою собственную лесницу без перил. Несмотря на кажущуюся простоту, строительство лесниц имеет свои тонкости, неизвестные новичкам. Короче. Если выросли из языка - ищите другой более продвинутый.

Byte: ASBer, оффтоп - никто о "выросли из языка" не говорил :)

Ajenta: noname Никаких дискуссий. Просто сказала то, что сказала. Урка очень проста, проще куспа, в этом её преимущество для не программистов. Мне как программеру больше люб кусп, вот собственно и всё. И я ничего не имею против того, что ты сказал, кроме одного - делать сложные игры на урке - это извращение В принципе это даже на куспе извращение , но не такое сильное. А вообще мне всё нравится. Я на урку тоже поглядываю периодически. Может и на ней чего-нито наваяю.

noname: Ajenta пишет: Мне как программеру больше люб кусп, вот собственно и всё ого как! зацени тогда, своим программистским взглядом небольшую прогу под досурку. я сделал генератор случайных лабиринтов: первая версия(отрисовывает карту): даю листинг генератора лабиринтов. суть в том, что из любой точки можно прийти в любую другую. привожу простейший случай: лабиринт полностью заполняет собой прямоугольный полигон, все комнаты имеют размер 1х1, зацикливаний нет. ; maxxr ; maxyr ; maxx ; maxy ; crx ; cry ; world_x_y - мир, точка (1,1)- левый верхний угол ; maxap ; x1 ; y1 ; t ; crn ; dir ; ndir :генератор invkill perkill maxxr = 8 ; кол-во комнат по горизонтали maxyr = 8 ; кол-во комнат по вертикали maxx = maxxr*2+1 ; кол-во ячеек(комнаты+стены/проходы) по горизонтали maxy = maxyr*2+1 ; кол-во ячеек по горизонтали crx=0 ; переменные- счётчики :цикл1_x crx=crx+1 cry=0 :цикл1_y cry=cry+1 world_#crx$_#cry$ = -1 ; заполняем мир ; pln world_#crx$_#cry$ = #world_#crx$_#cry$ $ if cry<maxy then goto цикл1_y if crx<maxx then goto цикл1_x maxap=1 ; кол-во активных точек x1=2*rnd#maxxr$ ; координаты первой активной точки y1=2*rnd#maxyr$ ; точки всегда указывают на комнаты world_#x1$_#y1$=2 ; создаём первую пустую комнату :генератор_выбор_точки ;proc отображение t=rnd#maxap$ ; выбираем текущую активную точку ;pln точка #t$ crn=0 ; счётчик направлений пробива dir1=0 & dir2=0 & dir3=0 & dir4=0 ;pln world_#x#t$ $_#y#t$ $ if world_#x#t$ $_#y#t$ -2$= -1 then crn=crn+1 & dir1=1; пробив возможен: север if world_#x#t$ -2$_#y#t$ $= -1 then crn=crn+1 & dir2=1; запад if world_#x#t$ $_#y#t$ +2$= -1 then crn=crn+1 & dir3=1; юг if world_#x#t$ +2$_#y#t$ $= -1 then crn=crn+1 & dir4=1; восток ;pln кол-во возможных направлений #crn$ if crn>0 then dir=rnd#crn$ & goto пробиватор if crn=0 then x#t$= x#maxap$ & y#t$= y#maxap$ & maxap=maxap-1 ; гасим точку ;pln активных точек #maxap$ if maxap>0 then goto генератор_выбор_точки if maxap=0 then goto начало end :пробиватор ;pln активных точек #maxap$ ndir=0 ;pln выбираем #dir$-е направление if dir1=1 then ndir=ndir+1 ;pln напр #ndir$ if dir=ndir then goto пробив1 if dir2=1 then ndir=ndir+1 ;pln напр #ndir$ if dir=ndir then goto пробив2 if dir3=1 then ndir=ndir+1 ;pln напр #ndir$ if dir=ndir then goto пробив3 if dir4=1 then ndir=ndir+1 ;pln напр #ndir$ if dir=ndir then goto пробив4 pln пробиватор капут end :пробив1 ;pln на север world_#x#t$ $_#y#t$ -1$=2 & world_#x#t$ $_#y#t$ -2$=2 ; пробиваем проход и делаем комнату maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$ ; указывающую на эту комнату y#maxap$=y#t$-2 goto генератор_выбор_точки end :пробив2 ;pln на запад world_#x#t$ -1$_#y#t$ $=2 & world_#x#t$ -2$_#y#t$ $=2 maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$-2 ; указывающую на эту комнату y#maxap$=y#t$ goto генератор_выбор_точки end :пробив3 ;pln на юг world_#x#t$ $_#y#t$ +1$=2 & world_#x#t$ $_#y#t$ +2$=2 maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$ ; указывающую на эту комнату y#maxap$=y#t$+2 goto генератор_выбор_точки end :пробив4 ;pln на восток world_#x#t$ +1$_#y#t$ $=2 & world_#x#t$ +2$_#y#t$ $=2 ; пробиваем проход и делаем комнату maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$+2 ; указывающую на эту комнату y#maxap$=y#t$ goto генератор_выбор_точки end :начало proc отображение end :отображение cry=0 ; переменные- счётчики :отображение1_y pln cry=cry+1 crx=0 :отображение1_x crx=crx+1 if world_#crx$_#cry$=2 then p . if world_#crx$_#cry$=-1 then p O if crx<maxx then goto отображение1_x if cry<maxy then goto отображение1_y ;input vvod end UPD да, забыл сказать: писал под DOS_URQ. точки с обеими чётными координатами- комнаты, остальное- стены и проходы. вторая версия( 'вид' с точки зрения монстра- единственного персонажа. он же- непись): ... ; исправлен баг поведения: раньше на развилках никогда не шёл на восток ; не выводить стены, только выходы :генератор invkill perkill maxxr = 8 ; кол-во комнат по горизонтали maxyr = 8 ; кол-во комнат по вертикали maxx = maxxr*2+1 ; кол-во ячеек(комнаты+стены/проходы) по горизонтали maxy = maxyr*2+1 ; кол-во ячеек по горизонтали crx=0 ; переменные- счётчики :цикл1_x crx=crx+1 cry=0 :цикл1_y cry=cry+1 world_#crx$_#cry$ = 1 ; заполняем мир if cry<maxy then goto цикл1_y if crx<maxx then goto цикл1_x maxap=1 ; кол-во активных точек x1=2*rnd#maxxr$ ; координаты первой активной точки y1=2*rnd#maxyr$ ; точки всегда указывают на комнаты world_#x1$_#y1$=2 ; создаём первую пустую комнату :генератор_выбор_точки t=rnd#maxap$ ; выбираем текущую активную точку crn=0 ; счётчик направлений пробива dir1=0 & dir2=0 & dir3=0 & dir4=0 if world_#x#t$ $_#y#t$ -2$= 1 then crn=crn+1 & dir1=1; пробив возможен: север if world_#x#t$ -2$_#y#t$ $= 1 then crn=crn+1 & dir2=1; запад if world_#x#t$ $_#y#t$ +2$= 1 then crn=crn+1 & dir3=1; юг if world_#x#t$ +2$_#y#t$ $= 1 then crn=crn+1 & dir4=1; восток if crn>0 then dir=rnd#crn$ & goto пробиватор if crn=0 then x#t$= x#maxap$ & y#t$= y#maxap$ & maxap=maxap-1 ; гасим точку if maxap>0 then goto генератор_выбор_точки if maxap=0 then goto начало end :пробиватор ndir=0 if dir1=1 then ndir=ndir+1 if dir=ndir then goto пробив1 if dir2=1 then ndir=ndir+1 if dir=ndir then goto пробив2 if dir3=1 then ndir=ndir+1 if dir=ndir then goto пробив3 if dir4=1 then ndir=ndir+1 if dir=ndir then goto пробив4 end :пробив1 world_#x#t$ $_#y#t$ -1$=2 & world_#x#t$ $_#y#t$ -2$=2 ; пробиваем проход и делаем комнату maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$ ; указывающую на эту комнату y#maxap$=y#t$-2 goto генератор_выбор_точки end :пробив2 world_#x#t$ -1$_#y#t$ $=2 & world_#x#t$ -2$_#y#t$ $=2 maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$-2 ; указывающую на эту комнату y#maxap$=y#t$ goto генератор_выбор_точки end :пробив3 world_#x#t$ $_#y#t$ +1$=2 & world_#x#t$ $_#y#t$ +2$=2 maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$ ; указывающую на эту комнату y#maxap$=y#t$+2 goto генератор_выбор_точки end :пробив4 world_#x#t$ +1$_#y#t$ $=2 & world_#x#t$ +2$_#y#t$ $=2 ; пробиваем проход и делаем комнату maxap=maxap+1 ; добавляем новую активную точку x#maxap$=x#t$+2 ; указывающую на эту комнату y#maxap$=y#t$ goto генератор_выбор_точки end :начало ggrx= 2 & ggry= 7 & instr ggface= север ggx=ggrx*2 & ggy=ggry*2 instr letters= a b c d e f g h tokens letters instr w1= стена instr w2= выход instr ситуац= /в тупике/на прямом пути/на повороте/на развилке/на перекрёстке/ :начало_метка_1 pln pln я- монстр. стою в комнате #%token#ggrx$$#9-ggry$, мордой на #%ggface$. pln на севере- #%w#world_#ggx$_#ggy-1$$$, на западе- #%w#world_#ggx-1$_#ggy$$$, на юге- #%w#world_#ggx$_#ggy+1$$$, на востоке- #%w#world_#ggx+1$_#ggy$$$. crn=0 dir1=0 & dir2=0 & dir3=0 & dir4=0 if world_#ggx$_#ggy-1$= 2 then crn=crn+1 & dir1=1; выход: север if world_#ggx-1$_#ggy$= 2 then crn=crn+1 & dir2=1; выход: запад if world_#ggx$_#ggy+1$= 2 then crn=crn+1 & dir3=1; выход: юг if world_#ggx+1$_#ggy$= 2 then crn=crn+1 & dir4=1; выход: восток if crn=1 then ситуац = "в тупике" & goto м_назад ; идём в единств возм сторону ; на момент начала игры монстр может оказаться в тупике лицом в любую сторону if (crn=2)and(dir1=dir3) then ситуац = "на прямом пути" & goto м_дальше ; идём куда угодно, Только НЕ назад ; монстр теоретически может оказаться на прямом пути лицом к стене на момент начала игры if (crn=2)and(dir1<>dir3) then ситуац = "на повороте" & goto м_дальше ; идём куда угодно, Только НЕ назад if crn=3 then ситуац = "на развилке" & goto м_дальше ; идём куда угодно, Только НЕ назад if crn=4 then ситуац = "на перекрёстке" & goto м_дальше ; идём куда угодно, Только НЕ назад :начало_метка_2 pln так что я нахожусь #%ситуац$, и пойду теперь на #%ggface$ ; перемещаем монстра: if ggface="север" then ggry=ggry-1 & ggy=ggy-2 if ggface="запад" then ggrx=ggrx-1 & ggx=ggx-2 if ggface="юг" then ggry=ggry+1 & ggy=ggy+2 if ggface="восток" then ggrx=ggrx+1 & ggx=ggx+2 btn начало_метка_1, press ENTER end :м_назад if dir1=1 then ggface="север" if dir2=1 then ggface="запад" if dir3=1 then ggface="юг" if dir4=1 then ggface="восток" goto начало_метка_2 end :м_дальше crn=crn-1 ; отбрасываем одно направление (назад) и получаем кол-во допускаемых алгоритмом выходов dir = rnd#crn$ ; выбираем номер допустимого выхода, в который выйдем ndir=0 if (dir1=1)and(not(ggface="юг" )) then ndir=ndir+1 if dir=ndir then ggface="север" & goto начало_метка_2 if (dir2=1)and(not(ggface="восток")) then ndir=ndir+1 if dir=ndir then ggface="запад" & goto начало_метка_2 if (dir3=1)and(not(ggface="север" )) then ndir=ndir+1 if dir=ndir then ggface="юг" & goto начало_метка_2 if (dir4=1)and(not(ggface="запад" )) then ndir=ndir+1 if dir=ndir then ggface="восток" & goto начало_метка_2 end ... работают под досурку(dos32/urq_dos.exe). долго собирался с духом, но написал довольно быстро дальше спорить не буду. твоя позиция ясна. моя позиция в том, что то, что в урке можно сделать сравнительно легко, на куспе- мрак тьмущий. да, кусп очень удобен в определённых, довольно широких рамках. шаг в сторону- чащи беспросветные. впрочем, для сюжетных хороших квестов сложных алгоритмов и не надо, ведь так? с удовольствием наблюдаю за соперничеством куспа и урки на КРИЛях... как-то ты потемнела :) и да, я не программист и да, у меня есть идеи, которые я хочу реализовать именно на куспе. когда-нибудь

Byte: Хватит уже троллить то :)

luciofulci: noname, можно в двух словах, что эта прога делает, по какому принципу и почему конкретно то же самое нельзя проделать в куспе? самое большое преимущество куспа - это один автор, один язык, один интерпретатор. Все остальное - например, возможность дальнейшего развития QSPL, - производные.

noname: luciofulci, спасибо. приятно послушать разумного человека мой алгоритм генерации лабиринта можно реализовать в куспе. хотел продемонстрировать, что неправда, что на урке сложно сделать хоть что-нибудь сложное. сколько помню урку и кусп, всегда было наоборот. впрочем, щазз кусп вырос, окреп, и встал на ноги что он делает в двух словах- запусти, и посмотри. подробнее- дольше объяснять моя позиция в том, что... (см фразу целиком в моём предыдущем посте) "самое большое преймущество куспа.."- активно работающий над ней автор. насколько я знаю, над ним работает не один человек насчёт остального- я уже отвечал на довольно назойливые замечания эльмортема в урк-шных темах, что если какой-то фанат напишет ещё один кусп, ваш язык/интепретатор от этого хуже не станет // впрочем, я уже думаю, что некий новичок abcdef, начавший писать aurq- 'засланный' казачок. во-первых его ник напоминает ник qwerty, ведущего 'уроки URQ', а название платформы схоже с названием популярной AkURQ. а во-вторых, это было бы вполне в духе некоторых ваших модеров, устраивающих троллинг на форумах конкурентов

Byte: noname пишет: сколько помню урку и кусп, всегда было наоборот Что за фантазии? :) noname пишет: в духе некоторых ваших модеров, устраивающих троллинг на форумах конкурентов Это именно то, чем ты сейчас занимаешься :) Куча каких-то надуманных фактов, с реальностью имеющих мало общего.

Nex: Byte да ладно, это специальная тема для таких кадров. Пусть резвится. Он так и не сформулировал чётко, чего же именно ему нехватает. фразу то, что в урке можно сделать сравнительно легко, на куспе- мрак тьмущий. сдежует читать так то, что в урке noname может сделать сравнительно легко, на куспе для него - мрак тьмущий. noname приведи конкретный код из реальной игры, который покажет что в урке он будет проще чем в QSP.

Ajenta: noname пишет: хотел продемонстрировать, что неправда, что на урке сложно сделать хоть что-нибудь сложное У нас видимо разное представление о "технической сложности" игры. Самое забавное, что чем сложнее алгоритм или система обработки событий, тем проще и приятнее выглядит игрушка, как ни странно. Но вот повторять ту же "King's bounty" в текстовом виде на урке или на куспе я бы не решилась и именно из-за сложности технического плана. noname пишет: как-то ты потемнела :) Настроение поменялось.

noname: Nex, конкретный код приведён чуть выше в двух экземплярах. как видишь, на урке это сделать не сложно если нужен код из игры- можно взять практически любую. например, того же хомяка. уж проще он точно будет. в этом урка вне конкуренции если нужны игры посложнее- ну так в среднем урочники больше склонны к экспериментированию, чем куспэшники. и готовые игрухи со сложным кодом имеются Byte, а такие фантазии: "уже был описан способ, как это реализовывается/обходится/решается средствами QSP"- сказал Nex по поводу перехода на метку в другой локации. тихий ужас! возможно, на этот раз мои доводы не так весомы, как обычно, но к реальности они имеют отношение самое непосредственное. другие авторы могут с этими неудобствами не столкнуться- мне просто 'повезло', что попытавшись сделать поведение нескольких персонажей, за одного из которых играл бы игрок(номер персонажа хранится в переменной), я столкнулся с некоторыми неудобными моментами реализации кнопок в куспе и да, кусп- замечательная платформа с замечательным редактором, и я не стал бы отвечать на пост Ajenta, если бы не встретил в нём утверждение об урк и кусп, верное с точностью до наоборот боюсь, урка щаззз не для новичков(из-за состояния платформ) а 'опытные' вырастают именно из новичков. вот такая вот петрушка... так что программируйте на куспе, и не обращайте на меня внимания и раз пошла такая тема: а вот у меня есть маленькие квадратные картинки, и я хочу сделать головоломку, где они убираются по 3-и в ряд.(головоломка всем уже приевшаяся, хочу запрограммить просто для разминки пальцев). вопрос: можно ли в куспе вывести поле 8х8 картинок в верхнем углу, что бы рядом с ним мог идти обычный текст описания локации //и ещё насчёт троллинга: 1- ну не в 'уроках QSP' я ж эту бодягу развожу 2- я лишь отвечаю на ваши реплики 3- надеюсь, теперь ясно, что мои факты не надуманны. пишу о том, с чем столкнулся сам. можно поискать историю моих мучений на форуме 4- спасибо Byte и Nex за помощь в изучении куспа 5- и да, мне самому неприятно всё это мусолить. давайте прекратим это обсуждение. НО на ваши вопросы ответы у меня есть

Byte: noname пишет: можно ли в куспе вывести поле 8х8 картинок в верхнем углу, что бы рядом с ним мог идти обычный текст описания локации Можно.

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

Ajenta: noname, Я тебя обожаю :-* А вообще у нас получилось такое милое бурчание на тему.



полная версия страницы