Page 1 of 1

REPEAT

Posted: 2005-05-17 22:39:57
by MazaFaka
вопрос на засыпку?

sub test()
if uo.life > 0 then
uo.sayu("test")
end if
end sub

а теперь вопрос? как заставить крутится скрипт например 10 раз при помощи Repeat .
за ранее благодарен

Posted: 2005-05-17 23:08:51
by Edred
а почему именно при помощи repeat? Для повторения конкретное количество раз есть специальные циклы. В частности, for.

Но если приспичило сделать через repeat - тоже особых проблем нету.

Code: Select all

VAR i=1
repeat
   ...... Сюда ставь свой иф....
   else
   (не забудь добавить в иф else с небольшой паузой, иначе получишь пустой цикл)
   i = i + 1
until i == 10

Posted: 2005-05-18 06:56:41
by Beyonder
Пишу все варианты. Может помогут на будущее:

For:

Code: Select all

sub test() 
  for var i=1 to 10 //Создаем переменную i (за это отвечает var) и крутим его от 1 до 10
    if uo.life > 0 then
      uo.sayu("test")
    end if
  next
end sub


While:

Code: Select all

sub test() 
  var i=0 //Создаем i так как с while такой трюк как с for не пройдет
  while i<10
    if uo.life > 0 then
      uo.sayu("test")
    end if
    i=i+1
  wend
end sub


Repeat (был но для коллекции):

Code: Select all

sub test() 
  var i=0 //Создаем i
  repeat
    if uo.life > 0 then
      uo.sayu("test")
    end if
    i=i+1
  until i==10
end sub


Экзотичный вариант: рекурсия:

Code: Select all

sub test(var countleft) 
  var i=0 //Создаем i
    if uo.life > 0 then
      uo.sayu("test")
    end if
  if (countleft>0) then
    test(countleft-1)
  end if
end sub

Posted: 2005-05-18 09:02:32
by MazaFaka
Beyonder ------ зачет! как раз то что надо)
СПАСИБО