АвторСообщение
хитрый латышский койот




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.01.06 20:16. Заголовок: Akurka


Ссылка на последнюю версию:
http://urq.allquests.ru/upload/AkURQ/AkURQ1.28pre6.rar

Ссылка на последний хелп от Корвина:
http://urq.allquests.ru/upload/AkURQ/help.zip

Ссылка richtx32.ocx:
http://urq.allquests.ru/upload/AkURQ/richtx32.rar

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 434 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 All [только новые]


постоянный участник


Сообщение: 363
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 15.04.08 12:35. Заголовок: dirold=0; направлени..


dirold=0; направление движения "откуда" не определено

:расчет
if svoystvo=3 then dir=rnd4; 1-north, 2-east, 3-south, 4-west
if dir=dirold then goto расчет; назад нельзя
if dir=1 then dx=5
if dir=2 then dx=1
if dir=3 then dx=-5
if dir=4 then dx=-1
newx=x+dx
if newx<1 or newx>25 then goto расчет
if dx=1 and (newx=6 or newx=11 or newx=16 or newx=21) then goto расчет
if dx=-1 and (newx=5 or newx=10 or newx=15 or newx=20 or newx=25) then goto расчет; Проверка на выход за край "доски"
dirold=dir
x=newx
pln x
btn начало
end

Не проверял - пока не на чем. И расчитан алгоритм не универсальный - а под конкретно эту карту.



Спасибо: 0 
Профиль Цитата Ответить
неизвестный человек




Сообщение: 124
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 16.04.08 09:05. Заголовок: Korwin пишет: алгор..


Korwin пишет:

 цитата:
алгоритм не универсальный


А как сделать его универсальным? допустим пусть будет 100х100 клеток. (Главное прописать физ. свойства клеток). Плюс допустим ввести n-количество npc. Главное указать их координаты и направление движения

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 0 
Профиль Цитата Ответить
постоянный участник


Сообщение: 364
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 16.04.08 09:45. Заголовок: Дружище, а можно вве..


Дружище, а можно ввести коодинату Y? Тогда меньше проверок будет на выходы за границы карты. И вычислять направление движения npc по отношению к главному герою будет проще гораздо!

0-99 по х
0-99 по у

Если можно, то алгоритм будет куда красивее и проще... Ты вообще квест пишешь или это учебная задача по программированию?

Спасибо: 0 
Профиль Цитата Ответить
неизвестный человек




Сообщение: 125
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 16.04.08 10:22. Заголовок: пишу квест. можно ко..


пишу квест. можно конечно ввести и х и у если так проще. без проблем. спасибо за все!!!

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 0 
Профиль Цитата Ответить
неизвестный человек




Сообщение: 126
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 18.04.08 11:56. Заголовок: вопрос все еще в сил..


вопрос все еще в силе...


А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 0 
Профиль Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.04.08 15:45. Заголовок: Да памагите иму ужо..


Да памагите иму ужо

Спасибо: 0 
Цитата Ответить
постоянный участник




Сообщение: 194
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 26.04.08 22:09. Заголовок: Так а в чем вопрос? ..


Так а в чем вопрос? Корв же ответил. Как специалист по извращениям над уркой, могу добавить только, что этот не тот случай, когда к ним стоит прибегать%).

Спасибо: 0 
Профиль Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 04.05.08 02:11. Заголовок: ­Простите, если боян... В AkURQ1.28pre6 небольшой баг.


Если открывать квест через "Историю", то не работает оператор Play (может, еще какие, я не проверял). Может, баг и не опасный, но мне из-за него весь квест под music пришлось переписывать :'(­

Спасибо: 0 
Цитата Ответить
неизвестный человек




Сообщение: 127
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 07.05.08 11:02. Заголовок: Chicago1920 пишет: ..


Chicago1920 пишет:

 цитата:
А как сделать его универсальным? допустим пусть будет 100х100 клеток. (Главное прописать физ. свойства клеток). Плюс допустим ввести n-количество npc. Главное указать их координаты и направление движения


Вопрос в том как сделать код универсальным

И еще.. Как в Акурке в html режиме на выведенную в окошко Акурки картинку повесить в центр экрана надпись. А то ндпись получается у меня под картинкой(((

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 0 
Профиль Цитата Ответить
постоянный участник


Сообщение: 370
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 08.05.08 05:43. Заголовок: Chicago1920 пишет: ..


Chicago1920 пишет:

 цитата:
Вопрос в том как сделать код универсальным

отвечу на праздниках, лады?

Спасибо: 0 
Профиль Цитата Ответить
неизвестный человек




Сообщение: 131
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 14.05.08 12:01. Заголовок: Korwin пишет: отвеч..


Korwin пишет:

 цитата:
отвечу на праздниках, лады?


С нетерпением буду ждать.

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 0 
Профиль Цитата Ответить
постоянный участник


Сообщение: 372
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 14.05.08 15:01. Заголовок: :initmap clrscr=1 ix..


:initmap
clrscr=1
ix=0
iy=0
sx=10 ;"ширина" поля-1
sy=10 ;"высота" поля-1

:loop0 ;Заполнение карты случайными значениями, мне неохота писать например 100х100=10000 клеток руками

svoystvo#ix$_#iy$=rnd3; присвоили значение очередной клетке
ix=ix+1
if ix<=sx then goto loop0
ix=0
iy=iy+1
if iy<=sy then goto loop0
;Массив заполнен, инициализируем "героя" в случайное место.
:loop1
x=rnd#sx+1$-1
y=rnd#sy+1$-1
if svoystvo#x$_#y$=1 then goto loop1; Если герой оказался "в стене", ищем другое место.
dir=rnd4 ;стороны света: 1-север,2-восток,3-юг,4-запад
pln Карта заполнена случайными значениями.
btn algoritm,Начинаем поход?
end

:algoritm
wall=0
if svoystvo#x$_#y$=2 then goto forwards;
:vybor
if svoystvo#x$_#y$=3 or svoystvo#x$_#y$=2 then dir=rnd4; 1-north, 2-east, 3-south, 4-west ;Выбор на перекрестке
if wall=0 and dir=dirold then goto algoritm; если не уперся в стену, назад нельзя!

:forwards

if dir=1 then newy=y+1&newx=x
if dir=2 then newx=x+1&newy=y
if dir=3 then newy=y-1&newx=x
if dir=4 then newx=x-1&newy=y ;расчет новых координат

if newx<0 or newx>sx then wall=1&goto vybor; Если x вышел за границы поля, меняем направление движения
if newy<0 or newy>sy then wall=1&goto vybor; Если y вышел за границы поля, меняем направление движения

if svoystvo#newx$_#newy$=1 then wall=1&goto vybor; Если стена, выбираем направление, в том числе и обратно.
dirold=dir
x=newx
y=newy
;-старый вывод пути
;if svoystvo#x$_#y$=2 then instr desc=дорога
;if svoystvo#x$_#y$=3 then instr desc=перекресток
;pln Координата х=#x$ у=#y$, #%desc$

:drawmap;рисуем карту - для наглядности
CLS
ix=0
iy=0
:loop2
if ix=x and iy=y then style_dos_textcolor=15 else style_dos_textcolor=7
p #svoystvo#ix$_#iy$$
ix=ix+1
if ix<=sx then goto loop2
ix=0
pln
iy=iy+1
if iy<=sy then goto loop2
btn algoritm,Идем дальше?

;По причине того, что карта генерится тупо-случайно, легко может возникнуть попадание в тупик и зацикливание. :( Алгоритм неоптимален - кое-что можно безболезненно выбросить, кое-что упростить и т.п. но эту творческую работу я с радостью переложу на твои могучие плечи, дружище chicago1920!


Спасибо: 0 
Профиль Цитата Ответить
постоянный участник




Сообщение: 139
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.05.08 20:01. Заголовок: делал случайные хоро..


делал случайные хорошие лабиринты, в которых всегда есть выход

если будет не слишком лень ( а я к тому же опять на работу устроился ), то выложу

вопрос: как определить, делится ли число X на N нацело? каков остаток?
- на досурке
- на акурке пре1

Спасибо: 0 
Профиль Цитата Ответить
постоянный участник


Сообщение: 378
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 16.05.08 15:14. Заголовок: Лабиринт - это интер..


Лабиринт - это интересно. Выкладывай, qwerty!

А насчет деления нацело: не знаю как в акурке, но в досурке был такой алгоритм.

fp_prec – числовая переменная, которая содержит точность вычислений, число знаков после запятой в #$ и инвентаре. По умолчанию 2.
:определитель
pln Введите делимое:
input X
pln Введите делитель
input N
if N<>0 then goto proverka else pln На ноль делить нельзя!&goto определитель

:proverka
fp_prec=5
real=X/N
fp_prec=0
int=#X/N$
fp_prec=5
if real>int then ost=real-int&pln #ost$ else ost=int-real&pln #ost$
IF OST<0 THEN OST=-OST ;функция abs (qst)
fp_prec=0
IF OST=0 THEN PLN ЧИСЛО ДЕЛИТСЯ НАЦЕЛО else PLN число делится с остатком #ost*N$
btn определитель,Еще раз?
btn ext,Выход
end

:ext
end

Спасибо: 1 
Профиль Цитата Ответить
Ответов - 434 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 7
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет