Вопрос по циклу!

 
+
-
edit
 

chukcha

разработчик l2j-сервера
делаю цикл:
0 30 DO
I announce
"sleep" .
1000 sleep
-1 +LOOP
т.к. хочу, выводить (это пример)
10 sleep
9 sleep
...

Выводит
10
9 ...
1
sleep sleep...
А я так не хочу. Может кто знает в чем проблема.

"Лыжник висит на трамплине...
Рукав кимоно зацепился.
Чтобы избавить свой род от позора
Палкой
пытается сделать себе харакири
Тщетно.
Тупая..."
Russian Mafia TEAM (RMT) Lineage 2 C3 Server (L2J Fortress) http://www.la2c3.ru НИЧТО НЕ СЛИШКОМ.  
+
-
edit
 

masterXL

разработчик OpenWorlds
используй drop
Трудно быть богом... Не веришь? Спроси любого админа! можешь спросить у меня 175506816 ServerIP=193.41.172.19 Перенос доступен  
+
-
edit
 

chukcha

разработчик l2j-сервера
а как? Можно с кратким комментарием или где об этом можно прочитать?
Russian Mafia TEAM (RMT) Lineage 2 C3 Server (L2J Fortress) http://www.la2c3.ru НИЧТО НЕ СЛИШКОМ.  
+
-
edit
 

chukcha

разработчик l2j-сервера
Можно подругому сформулирую вопрос.
делаю:
5 0 DO
"sleep" .
"22222" .
1000 sleep
LOOP
По идее должна выводить каждую секунду
sleep 22222
А на самом деле ждет 5 секунд а потом выводит пять подряд sleep 22222

Продолжаю полет над океаном Форт с видимостью ноль (на ошупь)

ЗЫ: Бал, ты должен моей семье (шютка), т.к. ты подсадил меня на ентот язык - сидю часами :). Совершенно новый подход и синтаксис для меня - очень прикольно.
Russian Mafia TEAM (RMT) Lineage 2 C3 Server (L2J Fortress) http://www.la2c3.ru НИЧТО НЕ СЛИШКОМ.  
A2 Винтик #30.12.2005 04:57
+
-
edit
 

Винтик

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

Styx

разработчик l2j-сервера
chukcha> Можно подругому сформулирую вопрос.
chukcha> делаю:
chukcha> 5 0 DO
chukcha> "sleep" .
chukcha> "22222" .
chukcha> 1000 sleep
chukcha> LOOP
chukcha> По идее должна выводить каждую секунду
chukcha> sleep 22222
chukcha> А на самом деле ждет 5 секунд а потом выводит пять подряд sleep 22222
chukcha> Продолжаю полет над океаном Форт с видимостью ноль (на ошупь)
chukcha> ЗЫ: Бал, ты должен моей семье (шютка), т.к. ты подсадил меня на ентот язык - сидю часами :). Совершенно новый подход и синтаксис для меня - очень прикольно.

попробуй так:
code text
  1. 5 0 do
  2. "sleep 22222 ." I 10000 * do-timer
  3. loop

не уверен по поводу порядка команды и задержки, если не получится попробуй поменять местами:
I 10000 * "sleep 22222 ." do-timer
...and what better way to say goodbye than to kill everyone in sight? © Syntari  
+
-
edit
 

Balancer

администратор
★★★★★
chukcha> А на самом деле ждет 5 секунд а потом выводит пять подряд sleep 22222

Точка не отсылает пакет клиенту, а добавляет текст в буфер. По завершении работы Форт-кода содержимое буфера отдаётся клиенту.

Недавно задействовал ещё одно стандартное Форт-слово (но, как уже обычно, с JBF-спецификой) - TYPE. Оно отсылает аргумент клиенту пакетом, немедленно.

chukcha> ЗЫ: Бал, ты должен моей семье (шютка), т.к. ты подсадил меня на ентот язык - сидю часами :). Совершенно новый подход и синтаксис для меня - очень прикольно.

Ты ещё Unknown topic 4948 почитай :)
 
+
-
edit
 

Balancer

администратор
★★★★★
Винтик> и довольно гибкий.

Не просто гибкий. Это единственный известный мне метаязык - язык, для написания проблемно ориентированных языков :) Нужно ООП - дописываем легко. Нужно ФП - немного извратившись делаем и его. А уже про всякие прочие фишки и речи нет. Это язык, который позволяет реализовывать новые языковые конструкции. Правда, это всё касается Форта вообще, в JBF некоторые фундаментальные вещи (пока) не реализованы :)
 
+
-
edit
 

chukcha

разработчик l2j-сервера
Balancer> Ты ещё Unknown topic 4948 почитай :)

Не читал, но просматривал. Фанатик писал (в хорошем смысле этого слова).
Russian Mafia TEAM (RMT) Lineage 2 C3 Server (L2J Fortress) http://www.la2c3.ru НИЧТО НЕ СЛИШКОМ.  
+
-
edit
 

chukcha

разработчик l2j-сервера
Опять продолжаю мучиться с циклом своим.
Так как мне Мастера показали все работает. Но возникли две вещи:
1. Вопрос, что означает звездочка в примере, для чего она. Не нашел нигде где мог описание ейное.
2. Сделал цикл, но не выходит из него по EXIT при исполнении слова WFP (все выводы TYPE - это я тестил выполнение условий - все условия выполняются в зависимости жив игрок или мертв).
code text
  1. : get_life
  2.         player@ "CurrentHp" p@           проверим уровень жизни
  3. ;
  4.  
  5.  выходим, если уровень жизни меньше 1  +++НО!!!!!! Невыходит по exit - крутится дальше до конца цикла, хотя "exit" пишет!!!!!!!!!!!!
  6. : check_life                           
  7.         get_life 1 < if                                  
  8.         false to TTT-priz
  9.               'exit' type
  10.                 get_life type
  11.                 TTT-priz type
  12.                 exit
  13.         else
  14.                 true to TTT-priz
  15.                 get_life type
  16.                 TTT-priz type
  17.       then
  18.         get_life type
  19. ;
  20.  ждемс 20 сек, чтобы получить приз
  21. : wfp
  22.         0 20 do
  23.         "check_life" I 1000 * do-timer
  24.         -1 +loop
  25. ;

может кому будет не лень подсказать? Если возможно с "физикой процесса", хотя можа и так.
Заранее сппсибо Всем!

ЗЫ: Если кому интересно, могу кинуть весь ивент с идеей. Одна голова хорошо, а полторы лучше (это я свою за 0,5 беру :-))
Russian Mafia TEAM (RMT) Lineage 2 C3 Server (L2J Fortress) http://www.la2c3.ru НИЧТО НЕ СЛИШКОМ.  
+
-
edit
 

Balancer

администратор
★★★★★
chukcha> 1. Вопрос, что означает звездочка в примере, для чего она. Не нашел нигде где мог описание ейное.

Звёздочка - умножение? :D

chukcha> 2. Сделал цикл, но не выходит из него по EXIT

Из цикла на Форте просто так выходить нельзя. Перед выходом нужно использовать слово UNLOOP. У нас, кажется, ещё не реализовано. По идее, у нас вроде бы, нужно просто перед выходом два числа со стека возвратов снять - но я точно не помню, как я циклы реализовывал, нужно код смотреть.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru