adding and checking rules

This commit is contained in:
Jake Pullen
2024-05-12 21:47:25 +01:00
parent 5be036817b
commit 110fb4fc1b
4 changed files with 50 additions and 52 deletions
+7 -9
View File
@@ -32,28 +32,26 @@ rule_engine = RuleEngine()
# Load rules from JSON file
rule_engine.load_rules_from_json('rules.json')
#exit()
# # After a card is played
# card = game_player.play(d)
# command = rule_engine.apply_rules(card)
# if command and player.command != command:
# game_player.pick_up_card()
round_counter = 0
#while True: # main game loop
for i in range(50):
round_counter += 1
print(f'round: {round_counter}')
for game_player in players: # loop through each player
time.sleep(2)
#time.sleep(2)
has_played,given_command = game_player.play(d) # play a card
if has_played: # if the player has played a card
command = rule_engine.check_rule(d.discard_pile[-1])
command = rule_engine.check_rule(d.discard_pile[-1], game_player.hand)
if given_command != command:
print(f'{game_player.name} announced the wrong rule\n')
print(f'{game_player.name} made the wrong announcement\n')
game_player.draw(d)
if given_command == command:
print(f'{game_player.name} announced the correct rule\n')
print(f'Player {game_player.name} has {game_player.check_hand()} cards left\n')
if game_player.check_hand() == 0: # if the player has no cards left
print(f'{game_player.name} has won')
print(f'rounds played: {round_counter}')
exit()
else:
game_player.draw(d) # if the player has not played a card, draw a card