Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%BE%D0%BA%D1%81_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0
- math.randomseed(os.time())
- -- Будет ли игрок менять дверь
- local IS_PLAYER_SWITCH_DOOR = true
- --
- local DOOR_COUNT = 3
- local CAR = 1
- local GOAT = 0
- -- Кол-во побед
- local wins = 0
- -- Кол-во проигрышей
- local overs = 0
- for i = 1, math.huge do
- -- Расстановка коз и машины
- local doors = {GOAT, GOAT, GOAT}
- doors[math.random(DOOR_COUNT)] = CAR
- -- Игрок делает ход
- local playerChoice = math.random(DOOR_COUNT)
- local percentWins = ((wins / i) * 100)
- local fmtStr = 'Игра: %d | Побед: %d | Поражений: %d | Процент побед: %.1f%%'
- if playerChoice == CAR then
- print('Выигрыш '..fmtStr:format(i, wins, overs, percentWins))
- wins = wins + 1
- goto continue
- end
- -- Игрок выбирает менять дверь, или оставить
- if not IS_PLAYER_SWITCH_DOOR then
- print('Проигрыш '..fmtStr:format(i, wins, overs, percentWins))
- overs = overs + 1
- goto continue
- end
- -- Игрок выбрал сменить дверь
- local newPLayerChoice = math.random(DOOR_COUNT)
- while newPLayerChoice == playerChoice do
- newPLayerChoice = math.random(DOOR_COUNT)
- end
- if newPLayerChoice == CAR then
- print('Выигрыш. Смена двери '..fmtStr:format(i, wins, overs, percentWins))
- wins = wins + 1
- else
- print('Проигрыш. Смена двери '..fmtStr:format(i, wins, overs, percentWins))
- overs = overs + 1
- end
- ::continue::
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement