-
Notifications
You must be signed in to change notification settings - Fork 1
/
DevelopingAnalyzer.py
24 lines (19 loc) · 956 Bytes
/
DevelopingAnalyzer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
class DevelopingAnalyzer:
def __init__(self):
self.pieces = {'b1': 'WhiteKnight_b1', 'g1': 'WhiteKnight_g1', 'c1': 'WhiteBishop_c1', 'f1': 'WhiteBishop_f1',
'b8': 'BlackKnight_b8', 'g8': 'BlackKnight_g8', 'c8': 'BlackBishop_c8', 'f8': 'BlackBishop_f8'}
def analyze_game(self, moves):
return self.analytical_method(moves)
def analytical_method(self, moves):
piece_moves = {k: 0 for k in self.pieces.keys()}
moved_count = 0
for idx, move in enumerate(moves):
move_from = move[:2]
if move_from in piece_moves and piece_moves[move_from] == 0:
piece_moves[move_from] = (idx // 2) + 1
moved_count += 1
if moved_count == len(self.pieces):
break
result_dict = {self.pieces[k]: v for k, v in piece_moves.items()}
return pd.DataFrame(result_dict, index=[0])