Автор | Сообщение |
|
| постоянный участник
|
Сообщение: 81
Зарегистрирован: 20.01.06
|
|
Отправлено: 12.01.09 15:42. Заголовок: уроки URQ
Они самые. предлагаю вести такую тему, где будет по шагам описано создание игры на досурке. UPD уроки по досурке (URQ_DOS от 30.11.04). Скачать её(досурку), а так же её описание можно здесь: http://urq.plut.info/soft (см ссылки: цитата: | Скачать URQ_DOS от 30.11.04 - 132 Кб Описание URQL для URQ_DOS версии 1.35 от 23.11.2006 года от Корвина. |
| ) UPD(11.02.09, 0:59): оказался недостаточно организован, что бы вести уроки. НО с удовольствием отвечу в этой теме на любые вопросы по urq_dos. появляюсь на форуме не реже 1 раза в неделю
|
|
Профиль
Цитата
Ответить
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
All
[см. все]
|
|
|
| постоянный участник
|
Сообщение: 148
Зарегистрирован: 20.01.06
|
|
Отправлено: 04.05.09 18:17. Заголовок: 1. для начала- приме..
1. для начала- пример с баттонами: Скрытый текст ; сделано под dos_urq32 (под wcl версию не тестил) Clrscr=1 Urq_delay=0 a=0 :1 cls a=a+1 pln #a$#%post$ btn a, a btn b, b btn fin, конец pause 2000 goto 1 end :a instr post= a goto 1 end :b instr post= b goto 1 end :fin end ; конец программы
| 2. цитата: | ..... так как нажатие клавиши прерывает паузу |
|
извиняюсь, ошибся. нажатие баттона прерывает паузу, а простое нажатие клавиш- нет. к сожалению... таким образом, приводить пример незачем 3. насчёт того, как засечь и сравнить время можно посмотреть в конце описания, среди полезных алгоритмов от "мэтров": цитата: | Goraph Паузы меньше секунды в досурке, как известно, не работают :) Однако есть алгоритм, который позволяет их реализовывать. В начале квеста замеряем величину паузы длиной в секунду (лучше взять паузу побольше если вам нужна точность - пауза в 40-60 секунда обеспечит вам лучшую точность чем секундная пауза). Зачем это нужно? Просто досурка и гуи досурка возвращают разные значение времени, плюс оно может быть разным на разных компьютерах - поэтому мы вычилсляем значение для той среды, в которой мы запущены. t1=time pause 1000 t2=time t_etalon=(t2-t1)/1000 ;Там где нам нужна пауза, пишем такой код - величина паузы в миллисекундах - в данном случае полсекунды пауза=500 & proc stop ; а вот и сама процедура, которая делает нашу паузу длинной меньше секунды :stop стоп_таймер=time пауза=пауза*t_etalon if t_etalon=0 then пауза=1 :stop_loop if (time-стоп_таймер)‹пауза then goto stop_loop end Данный код придуман и разработан всеми любимым Евгом. Я его лишь несколько уточнил (на этапе временного эталона). |
| 4. щаззз вышлю тебе личкой мыл. напиши, что ты хочешь сделать- подумаем, как... p.s. поскорее бы уйти от досурки к виндовому интерпретатору- надоело уже наблюдать, как всплывают очередные особенности работы досовских приложений под винду. хотя, говорят, под дос последняя досурка уже и не идёт, но от этого не легче
|
|
Профиль
Цитата
Ответить
|
|
| неизвестный человек
|
Сообщение: 193
Зарегистрирован: 08.06.07
|
|
Отправлено: 31.05.09 13:21. Заголовок: А вот подскажите, по..
А вот подскажите, почему этот код работает: :1 inv+ Оружие1 inv+ Оружие2 weapon=1 goto 2 end :2 cls p В руках оружие #weapon$ btn 2,2 end :Use_Оружие1_Взять в руки weapon=1 goto 2 end :Use_Оружие2_Взять в руки weapon=2 goto 2 end А этот уже нет: :1 inv+ Оружие1 inv+ Оружие2 weapon=1 goto 2 end :2 cls p В руках оружие #weapon$ pause 2000 goto 2 end :Use_Оружие1_Взять в руки weapon=1 goto 2 end :Use_Оружие2_Взять в руки weapon=2 goto 2 end Вернее неккоректная работа с инвентарем. Тестировалось на акурке.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 357
Зарегистрирован: 17.03.08
|
|
Отправлено: 31.05.09 19:57. Заголовок: А вот подскажите, по..
цитата: | А вот подскажите, почему этот код работает |
|
с точки зрения URQL правильно будет так: :1 inv+ Оружие1 inv+ Оружие2 weapon=1 goto 2 end :2 cls p В руках оружие #weapon$ btn 2,2 end :Use_Оружие1_Взять в руки weapon=1 end :Use_Оружие2_Взять в руки weapon=2 end НО 1. на AkURQpre6 корректно это работать НЕ будет 2. в досурке(dos32/dos_urq) - работает нормально, после выхода из инвентаря выполняется код локации 2, и игрок видит правильное отображение текущего оружия. (по умолчанию cls НЕ очищает весь экран- режим работы оператора cls задаётся системной переменной clrscr) 3. в fireurq это почти работает... куда конкретно передаётся управление по выходе из инвентаря- не ясно, НО во всяком случае не на метку 2. это видно потому, что при выборе оружия инфа не обновляется- надо жать баттон "2". зато твой, Chicago1920, некорректный пример работает одинаково хорошо на всех упомянутых интерпретаторах. в отличие от корректного варианта, который верно работает лишь на досурке. вот такие вот пироги... --- этот пример, равно как и его более корректная модификация (без переходов из инвентаря) работает лишь на fireurq. досурка "прощёлкивает", видимо, из-за отсутствия баттонов, а Акурка вообще имеет свою загадочную логику работы с инвентарём --- p.s. а вот если бы я делал боёвку, я бы сделал так: где-нибудь в начале игры ( или даже- внизу каждого экрана вывода) писал бы сообщение "h= help", или что-то в этом духе (естественно, это- не вместо, но в дополнение к инструкции во вступительном меню). в любой момент игры по нажатию кнопки "h" выводился бы список управляющих клавиш(по нажатию <esc>- возвращаемся к отображению текущей ситуации). список, например, такой: " h- показывает список управляющих клавиш 1- выбор оружия1 2- выбор оружия2 i- показать весь инвентарь для возврата нажмите h ещё раз " а вся обработка делалась бы через anykey. очень удачно это можно сделать на досурке. в смысле внешнего вида. ну, для тех, кому не страшен серый ДОС, я имею ввиду. с закосом под традиционные рогалики. это- лишь один из возможных вариантов, который хорошо подойдёт не ко всякой игрухе //--- и, да- буду рад комментариям знатоков Акурки и Фурки относительно того, куда уходит цирк передаётся управление после выполнения действия над предметом из инвентаря
|
|
Профиль
Цитата
Ответить
|
|
| неизвестный человек
|
Сообщение: 194
Зарегистрирован: 08.06.07
|
|
Отправлено: 31.05.09 21:00. Заголовок: noname пишет: а вот..
noname пишет: цитата: | а вот если бы я делал боёвку, я бы сделал так |
| я вот тоже уже склоняюсь к этому варианту. спасибо тебе за столь скурпулезный анализ!
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 1
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 18:25. Заголовок: Хэлп
Помогите вылажите норм ссылку на скачку проги для написания этих квестов, а то что не скачиваю так ток проигрыватели
|
|
Профиль
Цитата
Ответить
|
|
| неизвестный человек
|
Сообщение: 198
Зарегистрирован: 08.06.07
|
|
Отправлено: 09.06.09 18:37. Заголовок: Malevi4 , да можешь ..
Malevi4 , да можешь в блокноте или в вордпаде писать. потом сменишь расширение на *.qst
|
|
Профиль
Цитата
Ответить
|
|
| неизвестный человек
|
Сообщение: 199
Зарегистрирован: 08.06.07
|
|
Отправлено: 09.06.09 18:49. Заголовок: Вопрос к qwerty или ..
Вопрос к qwerty или к noname'у , так как он ловко решает любые задачки касательно кода. За что тебе огромное спасибо!!! Итак, вопрос связанный с математикой. Сразу скажу, ответа я не знаю, но хотел бы узнать. Допустим у нас есть трехмерное пространство. с координатами x,y,z. Причем, каждая из этих переменных может иметь значение от 0 до 100. И так же допустим, что каждая точка в этих координатах равна 0. Далее, вводим точку=1 с координатаи x=50,y=50,z=50. Задачка. Написать код, чтобы вокруг этой точки, создать куб допустим размерами 10/10/10, где все точки будут равны 1. Задачка2. Сложнее. Создать вокруг заданной точки шар, с заданным значением радиуса. Например 20 точек. Был бы очень признателен за ответ.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 155
Зарегистрирован: 20.01.06
|
|
Отправлено: 09.06.09 19:20. Заголовок: Chicago1920 пишет: ..
Chicago1920 пишет: цитата: | Malevi4 , да можешь в блокноте или в вордпаде писать. потом сменишь расширение на *.qst |
| истинно так. но скажу ещё: можно в своём менеджере файлов(о, какое умное слово!), ну т е в твоём Total Commander, или Far, или что там у тебя ещё, ну короче- можно в нём создавать и редактировать текстовые файлы. расширение можно сменить на *.qst простым переименовыванием. НО можно проигрывать и не переименованные файлы(например с расширением *.txt) Malevi4, если будут ещё вопросы- всегда рад ответить
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 360
Зарегистрирован: 17.03.08
|
|
Отправлено: 09.06.09 20:02. Заголовок: Chicago1920, попробу..
UPD: Задача2 тоже простая, но мне щазз срочно надо бежать в гости к нужному человеку- щазз пытаююсь устроиться на работу ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Chicago1920, попробую ответить на первую задачку. даже не буду пытаться понять, зачем это нужно, так что условия оставляю по возможности немодифицированными итак, Задача1: а) как только программа запустилась, мы уже вправе считать, что у нас есть такое пространство, заполненное нулями, и обращаться с ним соответственно- ведь изначально все переменные обнулены (однако не лишне использовать perkill для очистки переменных при игре заново, без выхода из программы). будем считать, что у нас есть массив x0..x100,y0..y100,z0..z100, заполненный нулями б) я так понимаю, что сама точка 50/50/50 должна содержать единицу. а так же одинаковое кол-во точек влево и вправо от неё, которые являются частью куба, тоже будут содержать единицы. тогда получаем: (N+N+1= нечётное число), а никак не 10. для решения задачи принял диаметр(то самое кол-во точек влево и вправо) равным 5, тогда куб будет иметь размеры 11/11/11 в) если б знал, зачем это нужно- возможно, сделал бы проще г) итак, вот сама прога: точки1 д) поскольку прикреплённые через zalil файлы уничтожаются через месяц после последнего скачивания, то выкладываю текст проги для истории (однако читать его с сайта не так уж и удобно- нет пробелов-отступов): Скрытый текст :1 invkill perkill xpixel= 50 ypixel= 50 zpixel= 50 diameter= 5 goto just_do_it end :just_do_it cx2=xpixel+diameter cy2=ypixel+diameter cz2=zpixel+diameter cx1=xpixel-diameter :loop_cx cy1=ypixel-diameter :loop_cy cz1=zpixel-diameter :loop_cz проверка=проверка+1 ; кол-во точек x#cx1$=1 y#cy1$=1 z#cz1$=1 cz1=cz1+1 if cz1<=cz2 then goto loop_cz cy1=cy1+1 if cy1<=cy2 then goto loop_cy cx1=cx1+1 if cx1<=cx2 then goto loop_cx goto report end :report надо=(diameter*2+1)*(diameter*2+1)*(diameter*2+1) if проверка=надо then goto успех pln pln в программу вкралась ошибка, о повелитель! pln (да прославится твоё имя в веках) pln не вели казнить, вели слово молвить: pln Твои никчёмные рабы(да падёт позор на их головы) pln заполнили #проверка$ точек, вместо #надо$! end :успех pln pln задание выполнено успешно pln заполнено #проверка$ точек end
|
|
|
Профиль
Цитата
Ответить
|
|
| неизвестный человек
|
Сообщение: 200
Зарегистрирован: 08.06.07
|
|
Отправлено: 09.06.09 20:28. Заголовок: noname кхм... там вн..
noname кхм... там внутри куба все точки=1 ? Может чуть закоментишь ход расчета?
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 2
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 21:14. Заголовок: Вот еще один вопрос ..
Вот еще один вопрос есть ли таки проигрыватели и команды что бы к описанию локации или персонажа и тд появлялись картинки, корочь чтоб игра сопровождалось не только описанием месности но и ее рисунком. Если да то скажите какая команда делает это и какие проигрыватели для этого существуют. То же самое касается и мелодии, музыки. Возможно ли это в таких играх?
|
|
Профиль
Цитата
Ответить
|
|
|
| |
Сообщение: 3
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 21:35. Заголовок: корочь планирую сдел..
корочь планирую сделать реал очь интересню игруху с картинками муз сопровождением и тд кто всегда готов помочь =) плз дайте аську свою иль контакт плз.
|
|
Профиль
Цитата
Ответить
|
|
| Юрист урки, адвокат дьявола
|
Сообщение: 51
Зарегистрирован: 07.12.06
|
|
Отправлено: 09.06.09 21:43. Заголовок: Malevi4 - да, исполь..
Malevi4 - да, использование музыки возможно. Оформление описаний локаций картинками так же возможно, делается это просто. Когда у нас заработает сайт, а сайт заработает когда мистер Ай-яй-яй (он же латыш, он же бревно, он же евг, он же хозяин http://urq.plut.info/ , он же повелитель вестника !Евг, где свежий выпуск вестника? народ жаждет!)... фу...какое улиточное предложение)) нельзя так писать. Так вот, когда заработает сайт (в оч ближайшее время) мы с удовольствие поделимся ссылками на те проигрыватели, которые поддерживают интересующие тебя возможности, а noname одним лёгким пассом над клавиатурой расскажет, как вставлять всякую там мультимедию в текстовые игры. =)
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 4
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 21:49. Заголовок: спс жду с нетерпение..
спс жду с нетерпением буду пока сюжед дальше продумывать
|
|
Профиль
Цитата
Ответить
|
|
| Юрист урки, адвокат дьявола
|
Сообщение: 52
Зарегистрирован: 07.12.06
|
|
Отправлено: 09.06.09 22:09. Заголовок: Malevi4 а вообще... ..
Malevi4 а вообще... скинь в ЛС адрес ящика, вышлю и прогу и справочник к ней. Менее пяти минут изучения последнего и ты с легкостью озвучишь и раскрасишь картинками тексты.
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 206
Зарегистрирован: 13.03.07
|
|
Отправлено: 09.06.09 22:29. Заголовок: Собственно, можно и ..
Собственно, можно и без лички. Вот здесь все ссылки на AkURQ (1.28 pre 1 и pre 6) рабочие. AkURQ 1.28 pre 1 считается несколько более стабильной. AkURQ и есть интерпретатор урки с поддержкой картинок. А здесь можно хелп по ней найти. AkURQ 2 - увы, глубокая бета и уже, видимо, навсегда.
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 5
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 22:32. Заголовок: скинул те ящик напиш..
скинул те ящик напишу на всяк еще здесь flop94@bk.ru
|
|
Профиль
Цитата
Ответить
|
|
| |
Сообщение: 6
Зарегистрирован: 09.06.09
|
|
Отправлено: 09.06.09 23:21. Заголовок: Почитаю мануалы но н..
Почитаю мануалы но надеюсь тут тож напишут как вставить картинку и музыку
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 361
Зарегистрирован: 17.03.08
|
|
Отправлено: 10.06.09 00:39. Заголовок: Chicago1920 пишет: ..
Chicago1920 пишет: цитата: | noname кхм... там внутри куба все точки=1 ? |
| нет, там- грубая ошибка. спешил. а теперь- засыпаю... но задача и вправду простая, только координаты точки надо было сделать x#cx1$y#cy1$z#cz1$=1 т е три координаты точки это- одно, а при обращении к массиву точек все эти три координаты должны быть в одной переменной (аналогично a[cx1,cy1,cz1]:=1 в паскале) завтра выложу правильное решение хорошо было бы ещё встроить более совершенную проверку, но на это уж времени может и не быть- щазз готовлюсь к поступлению на новую работу (когда высплюсь). старую я вчера бросил
|
|
Профиль
Цитата
Ответить
|
|
| постоянный участник
|
Сообщение: 156
Зарегистрирован: 20.01.06
|
|
Отправлено: 10.06.09 00:46. Заголовок: Malevi4 пишет: Почи..
Malevi4 пишет: цитата: | Почитаю мануалы но надеюсь тут тож напишут как вставить картинку и музыку |
|
напишут. завтра. насколько я помню, выложенные на одном из последних урковских конкурсах игрухи ВСЕ шли, в том числе и под Акурку пре6. несмотря на то, что были писаны под разные платформы(ну, там ещё про Алису в urq-ляндии было). так что думаю, имеет смысл ориентироваться именно на неё вообще, я Акурку плохо знаю, так что будем разбираться вместе. и следует учитывать тот факт, что: возможно, срок от запроса в тему до моего ответа на него увеличится до 1-й недели. впрочем, есть ещё надежда на 'помощь зала' да и на досурке мой опыт не велик. кстати, Malevi4, а ты не пробовал искать ответ на свой вопрос в этой теме? вдруг нечто подобное уже обсуждалось?
|
|
Профиль
Цитата
Ответить
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
All
[см. все]
|
|