Питон и кубики

от автора

Задумка

Задумал я как-то что-то написать на «змеюке»… Что-нибудь интересное. Прошлый маленький проект был под названием «Блэкджек» и был передиркой позаимствован с одного сайта-обучалки по Питону.

Этот проект должен быть собственной придумкой, написанной на Питоне, к тому же игрой. Не хотелось издерживаться во времени и писать что-то, что сожрёт его гигантское количество. Поэтому я решил сосредоточиться на простом – на «кубиках».

image

Суть игры такова: есть вы и противник (дилер казино), вначале вы выбираете себе «кредит», ну то есть сумму, которая будет лежать у вас в виртуальном «кармане». Ставки вносятся в общий «банк». За этим следуют ставки и броски кубиков. Вы и ваш оппонент поочерёдно бросаете два кубика и «банк» достаётся тому, у кого выпадет набольшее число очков. Если выпадает одинаковое количество — вы и оппонент бросаете кубики снова. Суть проста.

Программная реализация

Ну, сначала запилим «хелп»:

b – ставка (bet);
c – кредит (credit);
t – бросок кубиков (throw);

Далее открываем Анаконду и начинаем писать код:

# # Кубики #  import random import sys  def help():     print("\nСписок команд")     print("b - сделать ставку;")     print("с - взять кредит;")     print("t - бросок кубиков;")  credit = 0 bank = 0 bet = int(0)  print("Для вывода списка команд нажмите введите h")  while True:          print("\nДенег: ", credit)     print("Ставка: ", bet)     command = input("Введите команду: ")          if command == 'x':         sys.exit()     elif command == 'h':         help()     elif command == 'c':         credit = input("Введите сумму кредита: ")         credit = int(credit)         print("Ваши текущие деньги: ", credit,"$")     elif command == 'b':         bet = input("Введите ставку: ")         bet = int(bet)         if bet > credit:             print("У вас нет столько.")             bet = 0         else:             credit = credit - bet     elif command == 't':         if bet == 0:             print("Задайте ставку.")         else:             val1 = random.randrange(1,6)             val2 = random.randrange(1,6)             sum1 = val1 + val2             print("\nВыпало у 1: ",sum1)             val1 = random.randrange(1,6)             val2 = random.randrange(1,6)             sum2 = val1 + val2             print("Выпало у 2: ",sum2)             if sum1 == sum2:                 print("Делайте новый бросок.")             elif sum1 > sum2:                 credit = credit + bet * 2                 bet = 0                 print("\nВы выиграли!")             elif sum1 < sum2:                 bet = 0                 print("\nВы проиграли...")     else:         print("\nНеизвестная команда") 

Да-да, он не идеален — есть кое-что, что можно «допилить напильником»… Но, как говорил Вовка из тридевятого царства:

image

А дальше я решил проверить, неужели «мона», играя по одной нехитрой тактике:

  1. Ставим 100;
  2. Если ставка выигрывает — снова ставим сто. Если проигрывает — ставим в два раза больше. Выйти в +?!

Начинал с тысячи:

image

И ставил по сотне:

image

И, как ни странно, с 1000 увеличил капитал до 2700! — Работает!

Система работает. Но работает она со случайным распределением (а не «допиленным» в пользу «известно кого»). Как-то так. Надеюсь, помидорами кидаться не будете!

P.S. Игры — это круто! Маленький кусочек детства, вырванный из времени.


ссылка на оригинал статьи https://habr.com/ru/post/462265/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *