Changes in [3:1]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • main.py

    r3 r1  
    1010
    1111    def reveal_spies(self, spies):
    12         """If this player is a spy, this method will be called to reveal the identities
    13         of *all* the spies (including this player).
    14 
    15         It is passed as an array of IDs.
    16 
    17         """
    1812        pass
    1913
    2014    def propose_team(self, count):
    21         """Asks the player to propose a team as a team-lead.
    22 
    23         Must return an array of `count` unique IDs.  The proposed team may
    24         include the player, but does not need to.
    25 
    26         """
    2715        team = list(range(self.count))
    2816        shuffle(team)
     
    3018
    3119    def approve_team(self, team):
    32         """Asks the player to vote on a proposed team.
    33 
    34         True indicates approval, False disapproval.  The player will be asked
    35         to vote on all teams, even one that it proposes.
    36 
    37         """
    3820        return True
    3921
    4022    def observe_team_vote(self, approved, votes):
    41         """Allows the player to observe the outcome of a vote to approve a proposed
    42         team.
    43 
    44         The final result is given as `approved`, and individual votes (ordered
    45         by player ID) are given as an array as `votes`.
    46 
    47         """
    4823        pass
    4924
    5025    def perform_mission(self):
    51         """If this player is a spy, called to ask the player whether to fail the
    52         mission.
    53 
    54         True indicates that this player will not cause a failure, False that it
    55         will cause a failure.
    56 
    57         Note that some missions require 2 players to attempt a mission failure
    58         to actually fail the mission.
    59 
    60         """
    6126        return False
    6227
    6328    def observe_mission(self, success, failures):
    64         """Allows the player to observe the outcome of a mission.
    65 
    66         The final result is given as `success`.  The number of failures is
    67         given (as an integer) as `failures`.
    68 
    69         """
    7029        pass
    7130
    7231    def observe_game(self, success):
    73         """Allows the player to observe the outcome of the game.
    74 
    75         True indicates the Resistance won, False the Government (spies).
    76 
    77         """
    7832        pass
    7933
     
    10458    def observe_mission(self, success, failures):
    10559        pass
     60
    10661
    10762
     
    153108    losses = 0
    154109    captain = 0
    155     team_failures = 0
    156110
    157111    for mission in range(1, 6):
     
    175129            captain = (captain + 1) % player_count
    176130            if approved:
    177                 team_failures = 0
    178131                failures = 0
    179132                for i in team:
     
    205158                break
    206159            else:
    207                 team_failures += 1
    208                 if team_failures == 5:
    209                     print("The spies won!")
    210                     for p in players:
    211                         p.observe_game(False)
    212                     return
     160                pass
    213161
    214 
    215 if __name__ == '__main__':
    216     main(10)
     162main(10)
Note: See TracChangeset for help on using the changeset viewer.