https://habr.com/ru/post/462265/Задумка
Задумал я как-то что-то написать на «змеюке»… Что-нибудь интересное. Прошлый маленький проект был под названием «Блэкджек» и был
передиркой позаимствован с одного сайта-обучалки по Питону.
Этот проект должен быть собственной придумкой, написанной на Питоне, к тому же игрой. Не хотелось издерживаться во времени и писать что-то, что сожрёт его гигантское количество. Поэтому я решил сосредоточиться на простом – на «кубиках».
Суть игры такова: есть вы и противник (дилер казино), вначале вы выбираете себе «кредит», ну то есть сумму, которая будет лежать у вас в виртуальном «кармане». Ставки вносятся в общий «банк». За этим следуют ставки и броски кубиков. Вы и ваш оппонент поочерёдно бросаете два кубика и «банк» достаётся тому, у кого выпадет набольшее число очков. Если выпадает одинаковое количество — вы и оппонент бросаете кубики снова. Суть проста.
Программная реализация
Ну, сначала запилим «хелп»:
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Неизвестная команда")
Да-да, он не идеален — есть кое-что, что можно «допилить напильником»… Но, как говорил Вовка из тридевятого царства:
А дальше я решил проверить, неужели «мона», играя по одной нехитрой тактике:
- Ставим 100;
- Если ставка выигрывает — снова ставим сто. Если проигрывает — ставим в два раза больше. Выйти в +?!
Начинал с тысячи:
И ставил по сотне:
И, как ни странно, с 1000 увеличил капитал до 2700! — Работает!
Система работает. Но работает она со случайным распределением (а не «допиленным» в пользу «известно кого»). Как-то так. Надеюсь, помидорами кидаться не будете!
P.S. Игры — это круто! Маленький кусочек детства, вырванный из времени.