1

Тема: AHK: Программа русской рулетки

Доброго времени суток! Написал програмку русской рулетки, с прокруткой барабана после каждого нажатия курка.
Подскажите,как написать так,чтобы учитывался только автоматический поворот барабана, и вероятность выстрела с каждым ходом увеличивалась?


MsgBox,Игрок достал револьвер
MsgBox,Игрок вставляет патрон в пустой барабан
Random, a, 1, 6
k=%a%
shot:
MsgBox,Игрок прокрутил барабан револьвера
Random, b, 1, 6
f=%b%
MsgBox,Игрок взвёл ударный механизм
MsgBox,Игрок медленно нажимает на курок
if (k = f)
{
MsgBox, револьвер выстрелил
Goto, end
}
else
{
MsgBox, револьвер не выстрелил
KeyWait, CapsLock, D
Goto, shot
}
end:
return

Я так понимаю,что для этого надо делать массив барабана со значениями камора№:пустая/патрон. Затем через random присвоить n-ой каморе значение "патрон". Дальше так-же,через рандом выбирается начальный номер каморы и сравнивая значения массива скрипт должен идти до maxindex, а потом вернуться в начало массива.
Либо предложите более лаконичный код...

2

Re: AHK: Программа русской рулетки

MsgBox, Заряжаем...
Random, a, 1, 6
loop 6
{
   if A_Index = %a%
   {
      MsgBox BOOM!!!
      return
   }
   MsgBox Click...
}

Так?

3

Re: AHK: Программа русской рулетки

nikak812 пишет:

Подскажите,как написать так,чтобы учитывался только автоматический поворот барабана, и вероятность выстрела с каждым ходом увеличивалась?

Вот так вероятность с каждым ходом увеличивается и до последнего момента неизвестно, когда будет выстрел.

Loop
{
Random, a, %A_Index%, 6
MsgBox, Игрок нажимает на курок %A_Index% раз...
If A_Index != %a%
    MsgBox, револьвер не выстрелил
Else
    {
    MsgBox, БАХ!!!
    break
    }
}

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

Random, a, 1, 6
Loop
{
MsgBox, Игрок нажимает на курок %A_Index% раз...
If A_Index != %a%
    MsgBox, револьвер не выстрелил
Else
    {
    MsgBox, БАХ!!!
    break
    }
}

4

Re: AHK: Программа русской рулетки

спасибо всем за ответы. доделал сам немного громоздко,но все работало.