Author Topic: 2 звездочки на экране = 4 варианта событий  (Read 1779 times)

0 Members and 1 Guest are viewing this topic.

larin

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Всем привет. Вопрос - в игрушке на экране появляются 2 звездочки, назовем их star1 и star2. Они появляются независимо друг от друга. Вопрос - как реализовать 4 варианта их появления? Можно ли сделать это через циклы:

Code: [Select]
// 2 звездочки = 4 варианта событий

// Варинат 1 - присутствует star1 и присутствует star2

// Варинат 2 - присутствует star1 и отсутствует star2

// Варинат 3 - отсутствует star1 и присутствует star2

// Варинат 4 - отсутствует star1 и отсутствует star2

GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star1.bmp", -1, 100)
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star2.bmp", -1, 100)
      print("Варинат 1")
   ELSE
      print("Варинат 2")
   ELSE
      IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star2.bmp", -1, 100)
         print("Варинат 3")
      ELSE
         print("Варинат 4")
         
      END_IF
   END_IF
END_IF

HALT // стоп

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: 2 звездочки на экране = 4 варианта событий
« Reply #1 on: December 20, 2016, 05:37:30 PM »
Code: (clickermann) [Select]
// 2 звездочки = 4 варианта событий

// Варинат 1 - присутствует star1 и присутствует star2

// Варинат 2 - присутствует star1 и отсутствует star2

// Варинат 3 - отсутствует star1 и присутствует star2

// Варинат 4 - отсутствует star1 и отсутствует star2

$star1 = 0
$star2 = 0
GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star1.bmp", -1, 100)
   $star1 = 1
END_IF
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star2.bmp", -1, 100)
   $star2 = 1
END_IF

IF(($star1 = 1)&($star2 = 1))
   LOGWRITE ("Варинат 1")
END_IF

IF(($star1 = 1)&($star2 = 0))
   LOGWRITE ("Варинат 2")
END_IF

IF(($star1 = 0)&($star2 = 1))
   LOGWRITE ("Варинат 3")
END_IF

IF(($star1 = 0)&($star2 = 0))
   LOGWRITE ("Варинат 4")
END_IF

HALT // стоп

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: 2 звездочки на экране = 4 варианта событий
« Reply #2 on: December 20, 2016, 05:39:01 PM »
Что за два ELSE подряд?

Зачем грузить лишними поисками.
Один из вариантов, самый простой в лоб
Code: (clickermann) [Select]
$star1 = 0
$star2 = 0
GETSCREEN
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star1.bmp", -1, 100)
    $star1 = 1
END_IF
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "star2.bmp", -1, 100)
    $star2 = 1
END_IF

IF(($star1 = 1) & ($star2 = 1))
    // Варинат 1 - присутствует star1 и присутствует star2
END_IF
IF(($star1 = 1) & ($star2 = 0))
    // Варинат 2 - присутствует star1 и отсутствует star2
END_IF
IF(($star1 = 0) & ($star2 = 1))
    // Варинат 3 - отсутствует star1 и присутствует star2
END_IF
IF(($star1 = 0) & ($star2 = 0))
    // Варинат 4 - отсутствует star1 и отсутствует star2
END_IF


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: 2 звездочки на экране = 4 варианта событий
« Reply #3 on: December 20, 2016, 05:39:35 PM »
Твою ж мать...