1 (изменено: MirchikAhtung, 2018-04-15 13:15:04)

Тема: AHK: Как добавить %шанс срабатывания функции? Либо 1 к 5 и.т.д.

Привет всем обитателям форума. Ранее я уже создавал тему, в которой мне помогли собрать такой код:

values := [ {input: "gg ss", function: Func("FirstFunc" )}
          , {input: "gg s" , function: Func("SecondFunc")}  -- Вот это строка с ключ.словом что мы должны вписать. Она запустит SecondFunc со 100% шансом, если так можно выразиться.
          , {input: "ss g" , function: Func("ThirdFunc" )} ] 

Gui, Add, Edit, vEdit gWatchEdit
Gui, Show
Return

WatchEdit()  {
   global values
   GuiControlGet, Edit
   for k, v in values
      if RegExMatch(Edit, "^\Q" . v.input . "\E$") && i := k
         break
      
   if i
      values[i].function.Call()
}

FirstFunc()  {
   ExitApp
}

SecondFunc()  {
   MsgBox, "gg s"
}

closeappp()  {        -- сделаем чтобы с 50% шансом "gg s" запустит или эту 
   MsgBox, "close"
}

msgboxx()  {          --50% или эту функцию.
   MsgBox, "msgboxx"
}

ThirdFunc()  {
   MsgBox, "ss g"
}

Что я имел ввиду из названия темы.
Смотрите на код, возможно ли сделать так, чтобы при вводе в поле для ввода ключ.слово "gg s" был шанс 50 на 50 что сработает функция "closeappp" и "msgboxx"
Уточняйте если что-то не понятно!!
Возможно можно просто сделать не по %, а просто  пусть рандомно выбирает функцию!