diff --git a/main.py b/main.py index d3f4e0b..6869d8b 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,7 @@ from deck import deck -#from card import card from player import BotPlayer, HumanPlayer -from rules import Rule, RuleEngine +from rules import RuleEngine import time @@ -11,25 +10,25 @@ deck.shuffle() #deck.show() deck.first_card() -player_count = int(input('How many players do you want to play with? ')) players = [] -for i in range(player_count): - player_name = input(f'Enter the name of player {i+1}: ') - players.append(HumanPlayer(player_name)) - print(f'player {player_name} has been added') +player_count = int(input('How many human players? ')) +if player_count > 0: + for i in range(player_count): + player_name = input(f'Enter the name of player {i+1}: ') + players.append(HumanPlayer(player_name)) + print(f'player {player_name} has been added') +difficulty = input('What difficulty do you want the bots to be? (easy, medium, hard) ') +if difficulty not in ['easy', 'medium', 'hard']: + difficulty = 'medium' bot_count = int(input('How many bots do you want to play against? ')) bots = [] for i in range(bot_count): bots.append(f'bot{i+1}') -players = [] -# In your main game loop -players = [HumanPlayer('Jake')] # Add other players - # Create player objects for person in bots: - game_player = BotPlayer(person) + game_player = BotPlayer(person, difficulty) players.append(game_player) # Now you can use your player objects diff --git a/player.py b/player.py index e3198fc..29b9561 100644 --- a/player.py +++ b/player.py @@ -2,7 +2,6 @@ import json import random -error_chance = 0.3 class player: def __init__(self, name): @@ -24,14 +23,21 @@ class player: return len(self.hand) class BotPlayer(player): - def __init__(self, name): + def __init__(self, name, difficulty='medium'): super().__init__(name) + self.difficulty = difficulty + if self.difficulty == 'easy': + self.error_chance = 0.4 + elif self.difficulty == 'hard': + self.error_chance = 0.2 + else: + self.error_chance = 0.3 def command(self, card): rules = json.load(open('rules.json')) commands = [] #chance to return the wrong command - if random.random() < error_chance: + if random.random() < self.error_chance: commands.append('wrong command') #print(f'generating command for {len(self.hand)} cards, {card.suit} and {card.value}') for rule in rules: