1
- from axelrod .actions import Actions
1
+ from axelrod .actions import Actions , Action
2
2
from axelrod .player import Player
3
3
4
4
C , D = Actions .C , Actions .D
@@ -26,13 +26,13 @@ def __init__(self, transitions, initial_state):
26
26
for (state , opp_action , next_state , next_action ) in transitions :
27
27
self .state_transitions [(state , opp_action )] = (next_state , next_action )
28
28
29
- def move (self , opponent_action ) :
29
+ def move (self , opponent_action : Action ) -> Action :
30
30
"""Computes the response move and changes state."""
31
31
next_state , next_action = self .state_transitions [(self .state , opponent_action )]
32
32
self .state = next_state
33
33
return next_action
34
34
35
- def __eq__ (self , other ) :
35
+ def __eq__ (self , other : Player ) -> bool :
36
36
"""Equality of two FSMs"""
37
37
check = True
38
38
for attr in ["state" , "state_transitions" ]:
@@ -56,7 +56,7 @@ class FSMPlayer(Player):
56
56
}
57
57
58
58
def __init__ (self , transitions = None , initial_state = None ,
59
- initial_action = None ):
59
+ initial_action = None ) -> None :
60
60
if not transitions :
61
61
# Tit For Tat
62
62
transitions = [(1 , C , 1 , C ), (1 , D , 1 , D )]
@@ -68,7 +68,7 @@ def __init__(self, transitions=None, initial_state=None,
68
68
self .initial_action = initial_action
69
69
self .fsm = SimpleFSM (transitions , initial_state )
70
70
71
- def strategy (self , opponent ) :
71
+ def strategy (self , opponent : Player ) -> Action :
72
72
if len (self .history ) == 0 :
73
73
return self .initial_action
74
74
else :
@@ -78,7 +78,7 @@ def strategy(self, opponent):
78
78
self .state = self .fsm .state
79
79
return action
80
80
81
- def reset (self ):
81
+ def reset (self ) -> None :
82
82
super ().reset ()
83
83
self .fsm .state = self .initial_state
84
84
self .state = self .initial_state
@@ -100,7 +100,7 @@ class Fortress3(FSMPlayer):
100
100
'manipulates_state' : False
101
101
}
102
102
103
- def __init__ (self ):
103
+ def __init__ (self ) -> None :
104
104
transitions = (
105
105
(1 , D , 2 , D ),
106
106
(1 , C , 1 , D ),
@@ -129,7 +129,7 @@ class Fortress4(FSMPlayer):
129
129
'manipulates_state' : False
130
130
}
131
131
132
- def __init__ (self ):
132
+ def __init__ (self ) -> None :
133
133
transitions = (
134
134
(1 , C , 1 , D ),
135
135
(1 , D , 2 , D ),
@@ -158,7 +158,7 @@ class Predator(FSMPlayer):
158
158
'manipulates_state' : False
159
159
}
160
160
161
- def __init__ (self ):
161
+ def __init__ (self ) -> None :
162
162
transitions = (
163
163
(0 , C , 0 , D ),
164
164
(0 , D , 1 , D ),
@@ -201,7 +201,7 @@ class Pun1(FSMPlayer):
201
201
'manipulates_state' : False
202
202
}
203
203
204
- def __init__ (self ):
204
+ def __init__ (self ) -> None :
205
205
transitions = (
206
206
(1 , C , 2 , C ),
207
207
(1 , D , 2 , C ),
@@ -226,7 +226,7 @@ class Raider(FSMPlayer):
226
226
'manipulates_state' : False
227
227
}
228
228
229
- def __init__ (self ):
229
+ def __init__ (self ) -> None :
230
230
transitions = (
231
231
(0 , C , 2 , D ),
232
232
(0 , D , 2 , D ),
@@ -255,7 +255,7 @@ class Ripoff(FSMPlayer):
255
255
'manipulates_state' : False
256
256
}
257
257
258
- def __init__ (self ):
258
+ def __init__ (self ) -> None :
259
259
transitions = (
260
260
(1 , C , 2 , C ),
261
261
(1 , D , 3 , C ),
@@ -282,7 +282,7 @@ class SolutionB1(FSMPlayer):
282
282
'manipulates_state' : False
283
283
}
284
284
285
- def __init__ (self ):
285
+ def __init__ (self ) -> None :
286
286
transitions = (
287
287
(1 , C , 2 , D ),
288
288
(1 , D , 1 , D ),
@@ -309,7 +309,7 @@ class SolutionB5(FSMPlayer):
309
309
'manipulates_state' : False
310
310
}
311
311
312
- def __init__ (self ):
312
+ def __init__ (self ) -> None :
313
313
transitions = (
314
314
(1 , C , 2 , C ),
315
315
(1 , D , 6 , D ),
@@ -342,7 +342,7 @@ class Thumper(FSMPlayer):
342
342
'manipulates_state' : False
343
343
}
344
344
345
- def __init__ (self ):
345
+ def __init__ (self ) -> None :
346
346
transitions = (
347
347
(1 , C , 1 , C ),
348
348
(1 , D , 2 , D ),
@@ -373,7 +373,7 @@ class EvolvedFSM4(FSMPlayer):
373
373
'manipulates_state' : False
374
374
}
375
375
376
- def __init__ (self ):
376
+ def __init__ (self ) -> None :
377
377
transitions = (
378
378
(0 , C , 0 , C ),
379
379
(0 , D , 2 , D ),
@@ -409,7 +409,7 @@ class EvolvedFSM16(FSMPlayer):
409
409
'manipulates_state' : False
410
410
}
411
411
412
- def __init__ (self ):
412
+ def __init__ (self ) -> None :
413
413
transitions = (
414
414
(0 , C , 0 , C ),
415
415
(0 , D , 12 , D ),
@@ -469,7 +469,7 @@ class EvolvedFSM16Noise05(FSMPlayer):
469
469
'manipulates_state' : False
470
470
}
471
471
472
- def __init__ (self ):
472
+ def __init__ (self ) -> None :
473
473
transitions = (
474
474
(0 , C , 8 , C ),
475
475
(0 , D , 3 , D ),
0 commit comments