{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# !git clone https://github.com/hamidshojaee/BlackJackSim.git" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from BlackJackSim.BlackJack import * " ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dealer FaceCard = 10, Total = 17, BJ = False, Bust = False, Cards = [10, 2, 5], Player 1, Hand 1, Total = 20, BJ = False, Bust = False, Cards = [10, 10], Actions = [], HandResults.WIN\n", "Dealer FaceCard = 10, Total = 15, BJ = False, Bust = False, Cards = [10, 5], Player 1, Hand 1, Total = 25, BJ = False, Bust = True, Cards = [2, 1, 10, 2, 10], Actions = [, , , ], HandResults.LOST\n", "Dealer FaceCard = 7, Total = 19, BJ = False, Bust = False, Cards = [7, 7, 5], Player 1, Hand 1, Total = 19, BJ = False, Bust = False, Cards = [3, 2, 10, 4], Actions = [, , ], HandResults.PUSH\n", "Dealer FaceCard = 2, Total = 17, BJ = False, Bust = False, Cards = [2, 10, 4, 1], Player 1, Hand 1, Total = 20, BJ = False, Bust = False, Cards = [10, 10], Actions = [], HandResults.WIN\n", "Dealer FaceCard = 1, Total = 18, BJ = False, Bust = False, Cards = [1, 3, 4], Player 1, Hand 1, Total = 16, BJ = False, Bust = False, Cards = [9, 2, 5], Actions = [], HandResults.DOUBLELOSS\n" ] } ], "source": [ "table = Table()\n", "table.players.append(Player())\n", "for i in range(0, 5):\n", " table.playRound()\n", " print(table.printVerboseResults())\n", " table.reset()" ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 21 True False [1, 10] 1 1 15 False False [1, 4] [] HandResults.LOST\n" ] }, { "ename": "IndexError", "evalue": "list index out of range", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)", "\u001b[1;32md:\\studia\\blackjack-fuzzy\\stats.ipynb Cell 4\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[39mif\u001b[39;00m player_is_bust:\n\u001b[0;32m 13\u001b[0m player_actions \u001b[39m=\u001b[39m player_actions[:\u001b[39m-\u001b[39m\u001b[39m1\u001b[39m]\n\u001b[1;32m---> 15\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mstr\u001b[39m(player_actions[\u001b[39m-\u001b[39;49m\u001b[39m1\u001b[39;49m])[\u001b[39m12\u001b[39m:] \u001b[39m==\u001b[39m \u001b[39m'\u001b[39m\u001b[39mSTAY\u001b[39m\u001b[39m'\u001b[39m:\n\u001b[0;32m 16\u001b[0m \u001b[39mprint\u001b[39m(\u001b[39msum\u001b[39m(player_cards))\n\u001b[0;32m 17\u001b[0m \u001b[39mprint\u001b[39m(player_cards)\n", "\u001b[1;31mIndexError\u001b[0m: list index out of range" ] } ], "source": [ "table = Table()\n", "table.players.append(Player())\n", "for i in range(0, 1): # Simulates 1,000 rounds of BlackJack\n", " table.playRound()\n", " dealer_face_card, dealer_total, dealer_is_blackjack, dealer_is_bust, dealer_cards, players = table.getVerboseResults()\n", " player_id, hands = players\n", " hand_id, player_total, player_is_blackjack, player_is_bust, player_cards, player_actions, hand_result = hands\n", "\n", " print(dealer_face_card, dealer_total, dealer_is_blackjack, dealer_is_bust, dealer_cards, player_id, hand_id, player_total, player_is_blackjack, player_is_bust, player_cards, player_actions, hand_result)\n", "\n", " # Fix incorrect player action if player is busted\n", " if player_is_bust:\n", " player_actions = player_actions[:-1]\n", "\n", " if str(player_actions[-1])[12:] == 'STAY':\n", " print(sum(player_cards))\n", " print(player_cards)\n", "\n", " if str(player_actions[-1])[12:] == 'HIT' or str(player_actions[-1])[12:] == 'DOUBLE':\n", " print(sum(player_cards[:-1]))\n", " print(player_cards[:-1])\n", "\n", " # if len(player_cards) == 2:\n", " # print(player_cards)\n", " \n", " # if len(player_cards) > 2:\n", " # print(player_cards[:-1])\n", "\n", " if len(player_actions) > 0:\n", " print(str(player_actions[-1])[12:])\n", "\n", " print(str(hand_result)[12:])\n", "\n", " # for player_id, hands in players:\n", " # for hand_id, player_total, player_is_blackjack, player_is_bust, player_cards, player_actions, hand_result in hands:\n", " # print(dealer_face_card, dealer_total, dealer_is_blackjack, dealer_is_bust, dealer_cards, player_id, hand_id, player_total, player_is_blackjack, player_is_bust, player_cards, player_actions, hand_result)\n", "\n", " table.reset()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'dealer_face_card' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32md:\\studia\\blackjack-fuzzy\\stats.ipynb Cell 7\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[0m [dealer_face_card, dealer_total, dealer_is_blackjack, dealer_is_bust, [dealer_cards], [player_id, [hand_id, player_total, player_is_blackjack, player_is_bust, [player_cards], [player_actions], hand_result]]]\n", "\u001b[1;31mNameError\u001b[0m: name 'dealer_face_card' is not defined" ] } ], "source": [ "[dealer_face_card, dealer_total, dealer_is_blackjack, dealer_is_bust, [dealer_cards], [player_id, [hand_id, player_total, player_is_blackjack, player_is_bust, [player_cards], [player_actions], hand_result]]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7, 2, 1, 13, True, False, False, PlayOptions.HIT, HandResults.WIN, 1.0\n" ] } ], "source": [ "table = Table()\n", "table.players.append(Player())\n", "for i in range(0, 1): # Simulates 1,000 rounds of BlackJack\n", " table.playRound()\n", " # print(str(i) + \", \" + table.printShortResults())\n", " print(table.printShortResults())\n", " table.reset()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 4 tabele" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.2" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "b239acf2821489c398a9848859e84ce39b99d30cc4031fb37cc7461da3883639" } } }, "nbformat": 4, "nbformat_minor": 2 }