Author Topic: Двой ной масив  (Read 2537 times)

0 Members and 1 Guest are viewing this topic.

aast2012

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
Двой ной масив
« on: September 12, 2018, 05:00:55 PM »
Подскажите как написать код по масиву??? Я уже писал в ВК о данной проблеме... мне мало кто там ответил или ответили так какгбуд-то я знаю как писать))) а я нишиша не знаю... даже не програмист))) так пробую... В общем проблема такая - необходимо пометить переменную и далее работать с ней...


 $number = 1
 $numbermax1 = 172
 $numbermax2 = $numbermax1 + 1
 $razresh = 0
 $check = 0

 start:
 if ($number < $numbermax2)
//==========================================  логин первого
lclick(456,454)
 FOR($a=0,$a<10)
   KEYPRESS(#BACKSPACE)
   WAITMS(20)
END_CYC
KEYSTRING("pooll")
KEYSTRING($number)
 lclick(424,650)
 $number = $number + 1
wait(2)
//==========================================   логин второго окна
lclick(1469,459)
 FOR($a=0,$a<10)
   KEYPRESS(#BACKSPACE)
   WAITMS(20)
END_CYC
KEYSTRING("pooll")
KEYSTRING($number)
 lclick(1389,657)
wait( 8)
      lclick(838,586)
      WAIT(1)
      lclick(1827,667)
      WAIT(1)

 lclick(582,705)
 WAIT(2)
GETSCREEN
COLORMODE(8,797,806,880,833)
$count = PXLCOUNT (797,806,880,833, 16777215)
if ($count = 391)
  print ("выиграш"," ", $number)
вот здесь мне необходимо как-то запоминать этот номер... и далее работать с ним.
   lclick(915,106)
   WAIT(2)
   lclick(1879,124)
  WAIT(2)
  $number = $number + 1
else
   $number = $number - 1
   print ("выиграш"," ", $number)
или при условии тут...
   $number = $number + 2
   WAIT(2)
   lclick(915,106)
   WAIT(2)
   lclick(1879,124)
  WAIT(2)
END_IF
else
halt
END_IF if ($number > $numbermax2)
А вот тут необходимо как-то обратиться к тем переменным что мы пометили и добавлять после прохождения цыкла....
END_IF    goto (start)

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Двой ной масив
« Reply #1 on: September 12, 2018, 05:45:13 PM »
И кто тебе мешает добавить новую переменную?
Code: (clickermann) [Select]
//разберись с нужными переменными, лишнее убери
$number = 1
$numbermax2 = $numbermax1 + 1
$numbermax1 = 172
$razresh = 0
$check = 0


WHILE(1)   //бесконечный цикл, к goto лучше не привыкай.

   if ($number < $numbermax2)
      //==========================================  логин первого
      lclick(456,454)
      FOR($a=0,$a<10)
         KEYPRESS(#BACKSPACE)
         WAITMS(20)
      END_CYC
      KEYSTRING("pooll")
      KEYSTRING($number)
      lclick(424,650)
      $number = $number + 1
      wait(2)
      //==========================================   логин второго окна
      lclick(1469,459)
      FOR($a=0,$a<10)
         KEYPRESS(#BACKSPACE)
         WAITMS(20)
      END_CYC
      KEYSTRING("pooll")
      KEYSTRING($number)
      lclick(1389,657)
      wait( 8)
      lclick(838,586)
      WAIT(1)
      lclick(1827,667)
      WAIT(1)
     
      lclick(582,705)
      WAIT(2)
      GETSCREEN
      COLORMODE(8,797,806,880,833)
      $count = PXLCOUNT (797,806,880,833, 16777215)
      if ($count = 391)
         print ("выиграш"," ", $number)
         
         $mem_number =  $number    //тут
         
         lclick(915,106)
         WAIT(2)
         lclick(1879,124)
         WAIT(2)
         $number = $number + 1
      else
         $number = $number - 1
         print ("выиграш"," ", $number)
         
         $mem_number =  $number    //и тут
         
         $number = $number + 2
         WAIT(2)
         lclick(915,106)
         WAIT(2)
         lclick(1879,124)
         WAIT(2)
      END_IF
   else
      halt
   END_IF
   
   if ($mem_number > $numbermax2)  //сравниваем с записанным ранее
      //   А вот тут необходимо как-то обратиться к тем переменным что мы пометили и добавлять после прохождения цыкла....
   END_IF
   
END_CYC

А вообще, немного не понятно что значит "//   А вот тут необходимо как-то обратиться к тем переменным что мы пометили и добавлять после прохождения цыкла...."

aast2012

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
Re: Двой ной масив
« Reply #2 on: September 12, 2018, 10:01:10 PM »
так как эта переменная в цыкле будет другая.... там цыкл с 1 до 178.... и переменая будет меняться и перезаписывать эту новую.... а мне надо их создавать новые относительно переменой number

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Двой ной масив
« Reply #3 on: September 12, 2018, 10:40:33 PM »
Аааа, сори что без помощи. Просьба писать цИкл, а то ломает не по детски.

По теме, что тебе нужно сделать? Из существующего описания непонятно. Только в ппростх словах, к примеру: нужно учитывать для каждого аккаунта то-то и то-то... Или считать сколько раз там произошло событие.
Последняя выделенная фраза не вызывает понимания совсем.
« Last Edit: September 12, 2018, 10:42:27 PM by Vint »


aast2012

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
Re: Двой ной масив
« Reply #4 on: September 13, 2018, 12:14:17 AM »
Я не понимаю что я не понятного пишу.... заходит на один акаунт... на втором окне во второй.... делает код программы... выбирает один из двух.... далее мне необходимо каким-то образом пометить номер этого акаунта.... далее идет цыкл номера на увеличение... к примеру: один акаунт мета1, зашло в окне на акаунт.... код добавляет к переменой номера +1, получается второй акаунт мета2, заходит во втором окне на второй акаунт.... делает код.... к примеру необходимо запомнить мета1.... вот каким мне образом его запомнить??? далее отнимает от переменой 1 так как код выбрал 1е окно с переменой 1, а после был выполнен вход с увеличением на 2... таким образом пишет что пометка мета1.... далее увеличивает на 2 так как мета 2 уже есть и он уже был в цыкле... необходимо далее зайти на мета3 и мета4... и сравнить кодом... к примеру выбрал мета4... необходимо опять запомнить этот мета 4... и когда цыклы прошли... к примеру у нас было 4 акаунта... мы сравнили мета 1 и мета 2... выбрали мета1... и сравнили мета 3 и мета4... выбрали мета 4... далее мы должны сравнить мета 1 и мета4.... вот как мне их пометить и как вытащить эту информацию с кода... если у меня их может быть 174... или 256... ????

aast2012

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
Re: Двой ной масив
« Reply #5 on: September 13, 2018, 12:23:59 AM »
мне необходимо сравнивать два акаунта между собой... далее цыкл увеличивает переменую namber для того что бы сравнить следующие два... и мн енадо запомнить какие были отмечены... что бы сравнить их далее... потом запомнить те которые были отмечены второй раз и опять сравнить их.... ну не знаю куда проще...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Двой ной масив
« Reply #6 on: September 13, 2018, 10:14:13 AM »
Если для тебя всё ясно, а другие тебя не понимают - значит ты плохо объясняешь.

Так, ладно, примерно нарисовалось что ты хочешь. Что-то типа турнира для определения сильнейшего. Так? Остаться должен только один?

Только непонятен один вопрос. Вот у тебя есть N аккаунтов? ты их сравниваешь попарно. На втором проходе проходишь и сравниваешь победителей... но их может быть нечётное число. По реалиям игры как поступать в этом случае?

Начальных всегда чётное?
Вот допустим 10 аккаунтов. Нашли 5 победителей. В твоём описании сравниваем 1 с 2, 3 с 4... и? Куда пятого девать? Пока бросаем и не обрабатываем? Или нечётных не будет?
Судя по числам 172 или 174 - будут.
« Last Edit: September 13, 2018, 10:21:31 AM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Двой ной масив
« Reply #7 on: September 13, 2018, 11:01:05 AM »
Как-то так:
Code: (clickermann) [Select]
#name "aast2012"
// Author: Vint
// Version: 0.1 (13.09.2018)
// Скрипт для Clickermann v4.13.014

$numberstart = 1
$numbermax = 172
$round = 0

//******************************************************************************

SUB(selected2list)  // перекидываем массив $selected в $list
    UNDEFINE($list)
    $size = ARRSIZE($selected)
    FOR($i=0, $i < $size)
        ARRPUSH($list, $selected[$i])
    END_CYC
END_SUB

SUB(authorization, $a_numakk, $win)
    UNDEFINE($coord)
    IF($win = 0)  // логин левого
        STRSEPARATE("456:454:424:650", ":", $coord)
    ELSE          //логин правого
        STRSEPARATE("1469:459:1389:657", ":", $coord)
    END_IF
    LCLICK($coord[0], $coord[1])
    FOR($a=0, $a < 10)
        KEYPRESS(#BACKSPACE)
        WAITMS(20)
    END_CYC
    KEYSTRING("pooll", 20)
    KEYSTRING($a_numakk, 20)
    LCLICK($coord[2], $coord[3])
    WAIT(2)
END_SUB

SUB(select)
    INC($round)
    LOGWRITE("Раунд № ", $round, "  участников ", ARRSIZE($list))
    UNDEFINE($selected)
    FOR($i=0, $i < ARRSIZE($list), 2)
        $akk0 = $list[$i]
        $akk1 = $list[$i+1]
        authorization($akk0, 0)
        authorization($akk1, 1)
       
        WAIT(6)
        LCLICK(838, 586)
        WAIT(1)
        LCLICK(1827, 667)
        WAIT(1)
        LCLICK(582, 705)
        WAIT(2)
        GETSCREEN(797,806,880,833)
        COLORMODE(8,797,806,880,833)
        IF(PXLCOUNT(797,806,880,833, 16777215) ! 391)
            LOGWRITE("выиграш ", $akk0)
            ARRPUSH($selected, $akk0)
        ELSE
            LOGWRITE("выиграш ", $akk1)
            ARRPUSH($selected, $akk1)
        END_IF
        LCLICK(915, 106)
        WAIT(2)
        LCLICK(1879, 124)
        WAIT(2)
    END_CYC
END_SUB

//==============================================================================

WAITMS(300)

// формируем начальный массив $list
FOR($i=$numberstart, $i < $numbermax + 1)
    ARRPUSH($list, $i)
END_CYC

select()
WHILE(ARRSIZE($selected) > 1)
    selected2list()
    select()
END_CYC

$superhero = $selected[0]
LOGWRITE("Победитель № ", $superhero)
HALT
« Last Edit: September 13, 2018, 11:11:27 AM by Vint »