Программа для анализа и определения шансов на выигрыш

Михаил13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
05.04.2019

Необходимо написать программу, которая вычисляла бы вероятность выигрыша в раздаче и показывала оптимальный ход для карточной игры "21 очко" с 1й колодой (36 карт).  

Наверняка, все знают, как играть в "очко", но вот более подробное описание механики игры:  

Правила:  

-играют Дилер и Игрок.

После раздачи карт (по 2 карты каждому), Игрок первым принимает решение  Добрать или Остановиться.

Игрок побеждает, если сумма очков больше, чем у Дилера, или если Дилер перебирает.   

Дилер побеждает, если сумма его очков в итоге больше, или если Игрок перебирает.  

Дилер добирает карты после того, как Игрок решит остановиться.

Дилер обязан брать, если сумма его карт 16 и меньше.

Если сумма карт от 17 до 21  Дилер обязан остановиться.  

В случае, если Игрок набирает 21 очко, Дилер имеет право добрать себе карты, чтобы также набрать 21 и вывести раунд в ничью.  

В случае, если Игрок или Дилер получает карманные 21 (в первой же раздаче получает комбинацию Т+10 или два туза, которые тоже считаются за 21), это означает моментальную победу в раунде.  

Значения карт: Т 11, К 4, Д 3, В 2, остальные  6,7,8,9,10  по номиналу.  

Как вижу реализацию программы:  

1. Ввести значения стартовых карт Игрока и Дилера  

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

3. Программа покажет оптимальный ход для Игрока  

4. После совершения хода, в программу можно ввести значение полученной карты и снова увидеть оптимальный ход, в изменившейся ситуации.  

Расчет несложный, поскольку используется 1 колода, известно общее кол-во карт, следовательно стартовая вероятность выпадения карты после 1-го добора Игроком  1/32.  

Но необходимо все это реализовать именно в формате десктопного софта.

Язык написания, внешний вид  абсолютно любые, лишь бы систему не тормозило.

Возможность сохранять историю  желательная, но не обязательная опция.