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_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)
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())
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)
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)
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': {}}})
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..")
#!/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]