Example #1
0
    def test_save_to_json(self):
        dealer = Dealer([Player("Niki", "Mecheta"), Player(
            "Vanko", "Mecheta"), Player("Koko", "Pandi"), Player("Kiro", "Pandi")])
        dealer.to_json()

        with open("Mecheta_vs_Pandi.json", "r") as read_file:
            jsonned = json.load(read_file)

        self.assertEqual(jsonned, dealer.result_dict)
Example #2
0
    def test_get_team1_and_get_team2_dict(self):
        dealer = Dealer([Player("Niki", "Mecheta"), Player(
            "Vanko", "Mecheta"), Player("Koko", "Pandi"), Player("Kiro", "Pandi")])

        wanted_result_team1 = {"Niki": {"cards": [], "announcements": [
        ], 'points': 0}, "Vanko": {"cards": [], "announcements": [], 'points': 0}}
        wanted_result_team2 = {"Koko": {"cards": [], "announcements": [
        ], 'points': 0}, "Kiro": {"cards": [], "announcements": [], 'points': 0}}

        self.assertEqual(wanted_result_team1, dealer.get_team1_dict())
        self.assertEqual(wanted_result_team2, dealer.get_team2_dict())
Example #3
0
    def test_to_json_with_new_game_should_create_new_dict_in_result_dict(self):
        dealer = Dealer([Player("Niki", "Mecheta"), Player(
            "Vanko", "Mecheta"), Player("Koko", "Pandi"), Player("Kiro", "Pandi")])
        dealer.to_json()

        dealer.__setattr__('game_counter', 1)
        dealer.to_json()

        wanted_result = {'game 1': {
            'round 1': {
                'Mecheta': {
                    'Niki': {'cards': [], 'announcements': [], 'points': 0},
                    'Vanko': {'cards': [], 'announcements': [], 'points': 0}},
                'Pandi': {
                    'Koko': {'cards': [], 'announcements': [], 'points': 0},
                    'Kiro': {'cards': [], 'announcements': [], 'points': 0}}}},
            'game 2': {
            'round 1': {
                'Mecheta': {
                    'Niki': {'cards': [], 'announcements': [], 'points': 0},
                    'Vanko': {'cards': [], 'announcements': [], 'points': 0}},
                'Pandi': {
                    'Koko': {'cards': [], 'announcements': [], 'points': 0},
                    'Kiro': {'cards': [], 'announcements': [], 'points': 0}}}}}

        self.assertEqual(wanted_result, dealer.result_dict)
    def test_declaration_announcement_if_round_trump_is_no_trumps(self):
        p1 = Player('Choko', 'Qgoda')
        p2 = Player('Doko', 'Chereshka')
        p3 = Player('Boko', 'Qgoda')
        p4 = Player('Toko', 'Chereshka')
        players = [p1, p2, p3, p4]

        order = [0, 1, 2, 3]
        d = Dealer(players)
        d.round_trump = 'No trumps'
        d.dealing(order)
        d.resolve_announcement_conflicts(order)

        result0 = d.players[0].all_announcements
        result1 = d.players[1].all_announcements
        result2 = d.players[2].all_announcements
        result3 = d.players[3].all_announcements
        expected = []

        self.assertEqual(result0, result3, expected)
Example #5
0
 def test_initialization(self):
     dealer = Dealer([Player("Niki", "Mecheta"), Player(
         "Vanko", "Mecheta"), Player("Koko", "Pandi"), Player("Kiro", "Pandi")])
     self.assertEqual(dealer.result_dict, {'game 1': {'round 1': {}}})
Example #6
0
    def test_save_to_json_after_round_change_and_game_change(self):
        dealer = Dealer([Player("Niki", "Mecheta"), Player(
            "Vanko", "Mecheta"), Player("Koko", "Pandi"), Player("Kiro", "Pandi")])

        dealer.to_json()
        dealer.__setattr__('round_counter', 1)
        dealer.to_json()
        dealer.__setattr__('game_counter', 1)
        dealer.__setattr__('round_counter', 0)
        dealer.to_json()

        with open("Mecheta_vs_Pandi.json", "r") as read_file:
            jsonned = json.load(read_file)

        self.assertEqual(jsonned, dealer.result_dict)
Example #7
0
from classes import Player, Dealer

match_won = False

t1 = input('Team 1 name: ')
t2 = input('Team 2 name: ')

t1_pnames = input(f'"{t1}" players: ')
t2_pnames = input(f'"{t2}" players: ')

p1 = Player(t1_pnames.split(', ')[0], t1)
p2 = Player(t2_pnames.split(', ')[0], t2)
p3 = Player(t1_pnames.split(', ')[1], t1)
p4 = Player(t2_pnames.split(', ')[1], t2)

players = [p1, p2, p3, p4]

d = Dealer(players)

while not match_won:
    order = d.order()
    d.dealing(order)
    d.declare_round_trump()
    d.resolve_announcement_conflicts(order)
    d.score_round()
    d.check_for_won_games()
    match_won = d.check_for_match_win()
    # TODO: If 2 wins match_won = TRUE
def blackJackConsole():
    playing = True
    while playing:
        dealer = Dealer()
        player = Player()

        player.selectStartingAmount()

        lap = True

        while player.money > 0 and lap == True:
            player.lost_round = False

            round = Round()

            dealer.resetCards()
            player.resetCards()

            player.makeABet()

            newLine()

            player.takeCards(round, num=2)
            dealer.takeCards(round)

            dealer.showCardsAndPoints()
            player.showCardsAndPoints()

            player.askForAnotherCard()

            while player.another_card:
                player.takeCards(round)

                dealer.showCardsAndPoints()
                player.showCardsAndPoints()

                player.another_card = False
                if player.points[0] > 21:
                    player.lostBecauseToManyPoints()
                else:
                    player.askForAnotherCard()
                    newLine()
            if not player.lost_round:
                dealer.takeEndCards(round)

                dealer.showCardsAndPoints()
                player.showCardsAndPoints()

                if player.points[0] > dealer.points or dealer.points > 21:
                    player.wins()
                elif player.points[0] < dealer.points:
                    player.loses()
                elif player.points[0] == dealer.points:
                    itsATie(player)
            if player.money > 0:
                lap = askForNewRound()
        if not lap:
            player.showEndResult()
            playing = False
        else:
            playing = lostRoundAskForNew()
    if player.starting_money != 0:
        print('\nThank you for playing. See you next time!')

    print('\nIcon made by "Flat Icon" from www.flaticon.com')
    input("Press Enter to exit..")
Example #9
0
#!/usr/bin/env python3
from __future__ import annotations
import random

from classes import Card, Player, Dealer, GameState, Deck

NUM_DECKS_IN_GAME = 6
STARTING_CASH = 200
MIN_BET = 5
MAX_SPLITS = 4

deck = Deck(NUM_DECKS_IN_GAME)
discard_pile = Deck(0)
player1 = Player(STARTING_CASH)
dealer = Dealer()
state = GameState.DEAL_CARDS
players = [player1]