-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathteam12.py
More file actions
32 lines (27 loc) · 1.11 KB
/
team12.py
File metadata and controls
32 lines (27 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
####
# Each team's file must define four tokens:
# team_name: a string
# strategy_name: a string
# strategy_description: a string
# move: A function that returns 'c' or 'b'
####
team_name = 'Team_12!'
strategy_name = 'Betray based on last 10 rounds'
strategy_description = 'betray 25% unless colluded within last 10 rounds.'
''
import random
def move(my_history, their_history, my_score, their_score):
'''Make my move based on the history with this player.
history: a string with one letter (c or b) per round that has been played with this opponent.
their_history: a string of the same length as history, possibly empty.
The first round between these two players is my_history[0] and their_history[0]
The most recent round is my_history[-1] and their_history[-1]
Returns 'c' or 'b' for collude or betray.
'''
if 'c' in their_history[-10:]: # If the other player has colluded within the last 10 rounds.
return 'b' # betray.
else:
if random.random()<0.25: # 25% of the other rounds
return 'b' # betray
else:
return 'c' # but 75% of the time collude