Author Topic: Правильно ли я расставил END_IF  (Read 2608 times)

0 Members and 1 Guest are viewing this topic.

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Правильно ли я расставил END_IF
« on: July 11, 2017, 08:37:27 AM »
Когда жму на волшебную палочку(в тот момент когда ещё сам энд иф не расставил) кликер сдвигает весь текст по непонятному но ни одного ендиф не добавляет. Если не правильно расставил, будь те добры, удалить лишнее или добавьте так чтобы работало. Хотя наверное и так будет работать, я просто не проверял.
Вот сам код:
Code: (clickermann) [Select]
$1 = 0
$2 = 0
$3 = 0
$4 = 0
$5 = 0
$6 = 0
$7 = 0
$8 = 0
$9 = 0
$1t = 0
$2t = 0
$3t = 0
$4t = 0
$5t = 0
$6t = 0
$7t = 0
$8t = 0
$9t = 0
//=============================================
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"captcha.bmp")
   WAIT(4)
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"11.bmp")
      $1 = 1
   Else
      $1 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"22.bmp")
      $2 = 2
   Else
      $2 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"33.bmp")
      $3 = 3
   Else
      $3 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"44.bmp")
      $4 = 4
   Else
      $4 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"55.bmp")
      $5 = 5
   Else
      $5 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"66.bmp")
      $6 = 6
   Else
      $6 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"77.bmp")
      $7 = 7
   Else
      $7 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"88.bmp")
      $8 = 8
   Else
      $8 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"99.bmp")
      $9 = 9
   Else
      $9 = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1t.bmp")
      $1t = 1
   Else
      $1t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2t.bmp")
      $2t = 2
   Else
      $2t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3t.bmp")
      $3t = 3
   Else
      $3t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4t.bmp")
      $4t = 4
   Else
      $4t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"5t.bmp")
      $5t = 5
   Else
      $5t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"6t.bmp")
      $6t = 6
   Else
      $6t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"7t.bmp")
      $7t = 7
   Else
      $7t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"8t.bmp")
      $8t = 8
   Else
      $8t = 0
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"9t.bmp")
      $9t = 9
   Else
      $9t = 0
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
   END_IF
END_IF

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #1 on: July 11, 2017, 08:42:35 AM »
Только что с уже добавленными END_IF нажал на "Волшебную палочку" и вуаля! Это правильно?
Code: (clickermann) [Select]
$1 = 0
$2 = 0
$3 = 0
$4 = 0
$5 = 0
$6 = 0
$7 = 0
$8 = 0
$9 = 0
$1t = 0
$2t = 0
$3t = 0
$4t = 0
$5t = 0
$6t = 0
$7t = 0
$8t = 0
$9t = 0
//=============================================
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"captcha.bmp")
   WAIT(4)
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"11.bmp")
      $1 = 1
   Else
      $1 = 0
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"22.bmp")
         $2 = 2
      Else
         $2 = 0
         IF_PICTURE_IN(0,0,$_xmax,$_ymax,"33.bmp")
            $3 = 3
         Else
            $3 = 0
            IF_PICTURE_IN(0,0,$_xmax,$_ymax,"44.bmp")
               $4 = 4
            Else
               $4 = 0
               IF_PICTURE_IN(0,0,$_xmax,$_ymax,"55.bmp")
                  $5 = 5
               Else
                  $5 = 0
                  IF_PICTURE_IN(0,0,$_xmax,$_ymax,"66.bmp")
                     $6 = 6
                  Else
                     $6 = 0
                     IF_PICTURE_IN(0,0,$_xmax,$_ymax,"77.bmp")
                        $7 = 7
                     Else
                        $7 = 0
                        IF_PICTURE_IN(0,0,$_xmax,$_ymax,"88.bmp")
                           $8 = 8
                        Else
                           $8 = 0
                           IF_PICTURE_IN(0,0,$_xmax,$_ymax,"99.bmp")
                              $9 = 9
                           Else
                              $9 = 0
                              IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1t.bmp")
                                 $1t = 1
                              Else
                                 $1t = 0
                                 IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2t.bmp")
                                    $2t = 2
                                 Else
                                    $2t = 0
                                    IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3t.bmp")
                                       $3t = 3
                                    Else
                                       $3t = 0
                                       IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4t.bmp")
                                          $4t = 4
                                       Else
                                          $4t = 0
                                          IF_PICTURE_IN(0,0,$_xmax,$_ymax,"5t.bmp")
                                             $5t = 5
                                          Else
                                             $5t = 0
                                             IF_PICTURE_IN(0,0,$_xmax,$_ymax,"6t.bmp")
                                                $6t = 6
                                             Else
                                                $6t = 0
                                                IF_PICTURE_IN(0,0,$_xmax,$_ymax,"7t.bmp")
                                                   $7t = 7
                                                Else
                                                   $7t = 0
                                                   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"8t.bmp")
                                                      $8t = 8
                                                   Else
                                                      $8t = 0
                                                      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"9t.bmp")
                                                         $9t = 9
                                                      Else
                                                         $9t = 0
                                                      END_IF
                                                   END_IF
                                                END_IF
                                             END_IF
                                          END_IF
                                       END_IF
                                    END_IF
                                 END_IF
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
END_IF

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #2 on: July 11, 2017, 08:46:45 AM »
Да и хочу добавить. После всего написанного кода мне надо сделать так, чтобы все переменные сложились. И полученное число, надо написать. А чтобы кликер выбрал куда это число написать я могу и сам ЛКЛИКОВ добавить как надо. Буду очень благодарен.

Атеист

  • Guest
Re: Правильно ли я расставил END_IF
« Reply #3 on: July 11, 2017, 09:36:31 AM »
После всего написанного кода мне надо сделать так, чтобы все переменные сложились. И полученное число, надо написать.
Можно просто написать в конце скрипта:
Code: (clickermann) [Select]
$sum = $1+$1+$1t+$1t+$2+$2+$2t+$2t+$3+$3+$3t+$3t+$4+$4+$4t+$4t+$5+$5+$5t+$5t+$6+$6+$6t+$6t+$7+$7+$7t+$7t+$8+$8+$8t+$8t+$9+$9+$9t+$9tВ переменной $sum будет сумма всех переменных. :)

А еще нужно открыть Справку --> Язык сценариев --> Введение --> ПЕРЕМЕННЫЕ и прочитать, например это:
Quote from: Справка от разработчика программы Clickermann
Имена для переменных могут содержать буквы латинского алфавита, цифры и знак "_" (нижнее подчеркивание). При этом перед именем обязательно должен идти префикс "$", а само имя не должно начинаться с цифры. К примеру, "$my_var1" - вполне допустимое имя для переменной.
Может пригодиться :)

Атеист

  • Guest
Re: Правильно ли я расставил END_IF
« Reply #4 on: July 11, 2017, 10:15:15 AM »
Неправильно я написал, не посмотрел что переменные повторяются. Тогда после каждого присвоения переменной нового значения больше нуля, придется написать наращивание переменной  $sum.

Например:
Code: (clickermann) [Select]
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"11.bmp")
      $1 = 1
      $sum = $sum + $1
   Else
      $1 = 0   // 0 не увеличит переменную $sum
END_IF

Vir

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #5 on: July 11, 2017, 10:56:34 AM »
Quote
А еще нужно открыть Справку --> Язык сценариев --> Введение --> ПЕРЕМЕННЫЕ и прочитать, например это:
Прочитать надо не про переменные, а массивы и циклы.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #6 on: July 11, 2017, 11:30:03 AM »
Имена переменных не должны начинаться с цифр.

Будут просмотрены все картинки с 11.bmp до 99.bmp и 1t.bmp до 9t.bmp
Результат смотри в логе
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"captcha.bmp")   
   FOR($n=1,$n<10)
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($n,$n,".bmp"))
         INC($count,$n)
      END_IF
   END_CYC   
   FOR($n=1,$n<10)
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($n,"t.bmp"))
         INC($count_t,$n)
      END_IF
   END_CYC
   $count = $count+$count_t
END_IF

LOGWRITE ("Сумма = ", $count)

HALT

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #7 on: July 11, 2017, 05:32:11 PM »
Это немного неправильный скрипт. Типо скрипт если находит картинку он подсчитает сумму, а если картинки нет то и нет смысла переменную приравнивать нулю. Если картинки нет он просто пропустит этот блок IF. Или я что-то не понимаю?
Неправильно я написал, не посмотрел что переменные повторяются. Тогда после каждого присвоения переменной нового значения больше нуля, придется написать наращивание переменной  $sum.

Например:
Code: (clickermann) [Select]
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"11.bmp")
      $1 = 1
      $sum = $sum + $1
   Else
      $1 = 0   // 0 не увеличит переменную $sum
END_IF

Атеист

  • Guest
Re: Правильно ли я расставил END_IF
« Reply #8 on: July 11, 2017, 05:40:08 PM »
Да, всё верно, поэтому и не пишем $sum = $sum + $1 в блоке ELSE, т.к. бессмысленно. Ну вам там видней где отслеживать значения переменных.

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #9 on: July 11, 2017, 05:42:21 PM »
Не обязательно писать в каждом условии ELSE. Если не найдет картинку-просто пропустит эту часть кода.
Code: (clickermann) [Select]
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"11.bmp")
   $sum = $sum + 1
END_IF

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #10 on: July 11, 2017, 05:56:41 PM »
Теперь меня интересует другое. Как полученную $sum или как в твоём случае $count связать с KEYPRESS
Имена переменных не должны начинаться с цифр.

Будут просмотрены все картинки с 11.bmp до 99.bmp и 1t.bmp до 9t.bmp
Результат смотри в логе
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"captcha.bmp")   
   FOR($n=1,$n<10)
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($n,$n,".bmp"))
         INC($count,$n)
      END_IF
   END_CYC   
   FOR($n=1,$n<10)
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($n,"t.bmp"))
         INC($count_t,$n)
      END_IF
   END_CYC
   $count = $count+$count_t
END_IF

LOGWRITE ("Сумма = ", $count)

HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #11 on: July 11, 2017, 06:43:40 PM »
Очень просто, у нас же есть KEYSTRING которая может печатать заданную строку.
Code: (clickermann) [Select]
KEYSTRING($count)

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #12 on: July 11, 2017, 10:31:51 PM »
Вот где вы берёте все эти строчки? Я в кликере перешарил всё и не нашел такой функции.
Очень просто, у нас же есть KEYSTRING которая может печатать заданную строку.
Code: (clickermann) [Select]
KEYSTRING($count)

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #13 on: July 11, 2017, 10:40:30 PM »
Вот где вы берёте все эти строчки? Я в кликере перешарил всё и не нашел такой функции.
:o В справке берем.  :o Значит не всё перешарил.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Правильно ли я расставил END_IF
« Reply #14 on: July 12, 2017, 07:57:23 AM »