Author Topic: Рандом -  (Read 2839 times)

0 Members and 1 Guest are viewing this topic.

msgkumisi

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
Рандом -
« on: December 13, 2015, 10:52:41 AM »
код:
Code: (clickermann) [Select]
$random = rnd(1,24) // получаем рандомное число от 1 до 24 и записываем его в переменную
$stroka = TFREAD("links.txt", $random) // считываем случайную строку
TOCLIP($stroka) // отправляем строку в буфер обмена

waitms(50)
  MOVE(10,10)
waitms(50)
  LDOWN(10,10)
waitms(50) 
  LUP(10,10)
WAITMS(50)
//открываем новую вкладку
  KEYDOWN (#CTRL)
WAITMS (50)
  KEYDOWN (#T)
WAITMS (50)
  KEYUP (#T)
KEYUP (#CTRL)
//  клик в строке браузера
WAITMS(50)
  MOVE(250,70)
WAITMS(50)
  LCLICK(250,70)
WAITMS(50)
//вставит с буфера
  KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)

//Нажимаем Enter чтобы перевести строку.
   KEYPRESS(#ENTER)
   wait(30)

//закрыт вкладку   
  KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#W)
WAITMS (50)
KEYUP (#W)
KEYUP (#CTRL)
    wait(30)

вопрос: можно ли когда сработает rnd(1,24) появится рандомное число, в следующем цикле его не было?
скажем в этом цикле $random=9. чтоб в следующем цикле из рандома исключит цифру 9.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Рандом -
« Reply #1 on: December 13, 2015, 11:02:59 AM »
Конечно можно, здесь нужен скрипт вывода рандомных чисел без повторов.
Code: (clickermann) [Select]
IF(ARRSIZE($ARR) = 0)
   $count1 = 1 // начальное число
   $count2 = 24 // конечное число
   WHILE($count1 < $count2+1)
      ARRPUSH($ARR,$count1)
      INC($count1,1)
   END_CYC
END_IF
$ARR_SIZE = ARRSIZE($ARR)
FOR ($i=0, $i<$ARR_SIZE*2)
   $n1 = RND(0,$ARR_SIZE-1)
   $n2 = RND(0,$ARR_SIZE-1)
   $R = $ARR[$n1]
   $ARR[$n1] = $ARR[$n2]
   $ARR[$n2] = $R
END_CYC

$r = ARRPOP($ARR)
$stroka = TFREAD("links.txt", $r) // считываем случайную строку
TOCLIP($stroka) // отправляем строку в буфер обмена

waitms(50)
MOVE(10,10)
waitms(50)
LDOWN(10,10)
waitms(50)
LUP(10,10)
WAITMS(50)
//открываем новую вкладку
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#T)
WAITMS (50)
KEYUP (#T)
KEYUP (#CTRL)
//  клик в строке браузера
WAITMS(50)
MOVE(250,70)
WAITMS(50)
LCLICK(250,70)
WAITMS(50)
//вставит с буфера
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)

//Нажимаем Enter чтобы перевести строку.
KEYPRESS(#ENTER)
wait(30)

//закрыт вкладку
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#W)
WAITMS (50)
KEYUP (#W)
KEYUP (#CTRL)
wait(30)