---
# System prepended metadata

title: Великий рандом

---

# Великий рандом

## Російська рулетка

Це класична російська рулетка, з револьвером і шестизарядним барабаном, куди вставлено один патрон.
![](https://i.imgur.com/hcMNhqh.png)

### Задача 1

Реалізувати раунд російської рулетки. Тобто при запуску програми вона пише, що "барабан крутиться", чекає 2 секунди, "натискання на курок" і результат --- мимо чи капут.

Потрібно провести 100000 ігор і визначити, яка ймовірність вижити в цій грі.

### Задача 2

При старті прорама питає, скільки гравців і яким по черзі знаходитесь ви. Після цього гра йде по кругу:
- стріляє перший
    - якщо вижив, передає револьвер другому і той продовжує гру
    - якщо не вижив, то другий бере револьвер сам і продовжує гру
- якщо останній вижив, то револьвер переходить до першого, або хто там живий залишився
- гра триває, поки не залишиться один

Потрібно провести 100000 ігор і визначити, на якій позиції більш вигідно знаходитись першопочатково для різних варіантів кількості гравців.

Також потрібно визначити середню кількість раундів для кожної певної кількості гравців.

## Куби

![](https://i.imgur.com/afi9INc.png)

В цій грі ви робите ставку і кидаєте одночасно два шестигранних кубика. В залежності від суми очків ви отримаєте певний виграш.

![](https://i.imgur.com/dCsDvYu.png)

Потрібно промоделювати 10000 ігор і визначити, при якій стратегії можна отримати максимальний виграш.

### Куби, версія 2

Ось інша гра, з іншими варіантами виграшу.

![](https://i.imgur.com/MN6h8Sn.png)

Промоделюйте 100000 ігор в такому варіанті.

## Рулетка

![](https://i.imgur.com/VKDen2P.png)

Стандартна рулетка з Монте Карло, де
- 36 чисел і зеро
- можна ставити
    - на чорне або червоне
    - на парне або непарне
    - на перші 18 або останні 18
    - на зеро
    - на конкретне число

![](https://i.imgur.com/WcfzIVZ.png)

### Мартингейл

Змоделювати стратегію мартингейл:
- зроби ставку. Якщо виграв, то роби наступну ставку
- якщо програв, то наступну ставку роби на те саме число/колір, але в два рази більшу. Щоб якщо виграєш, компенсувати програш попередньої ставки
- з кожним програшом подвоюй ставку

Потрібно порахувати, скільки в середньому можна виграти з такою стратегією.

### Стратегія чорне-червоне

Змоделюйте стратегію "чередувати чорне і червоне". Чи краща така стратегія, ніж завжди ставити на "червоне"?

## Парадокс Монті Холла

![](https://i.imgur.com/QvZ0yuI.png)

На сцені є три двері. За однією з них приз (машина), за двома іншими --- кози. Ведучий просить тебе вгадати за якою з дверей машина.

Після того, як ти вказав на двері, ведучий підходить до однієї з дверей, відкриває її і там виявляється коза. Після цього він каже:

> Якщо хочеш, можеш спробувати вгадати ще раз. Чи зміниш свою думку, чи залишишся на початковому варіанті?

Змоделювати цю гру. Провести 100000 ігор і вияснити, чи треба змінювати думку, чи це не буде краще ніж якщо залишитись на початковому варіанті.

## Ретро гра Гопнік

https://xpl.github.io/gop/

![](https://i.imgur.com/JhzbXJf.png)

В моделі битви в грі "Гопнік" у кожного перса є
- хп/макс хп, хітпойнти
- сила удару, скільки хітпойнтів знімає твій удар
- броня, на скільки менше удар суперника
- точність, ймовірність попасти в суперника
- удача, йомвірність кріта, удару який зламає якусь кістку супернику. Зломана кістка зменшує силу удару

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