1.0.4: Updated Tactics-DeepAnalysis
This commit is contained in:
@@ -52,11 +52,40 @@ def api_analyze():
|
||||
'kd': total_kd / count if count else 0,
|
||||
'adr': total_adr / count if count else 0
|
||||
}
|
||||
|
||||
# 4. Map Stats Calculation
|
||||
map_stats = {} # {map_name: {'count': 0, 'wins': 0}}
|
||||
total_shared_matches = len(shared_matches)
|
||||
|
||||
for m in shared_matches:
|
||||
map_name = m['map_name']
|
||||
if map_name not in map_stats:
|
||||
map_stats[map_name] = {'count': 0, 'wins': 0}
|
||||
|
||||
map_stats[map_name]['count'] += 1
|
||||
if m['is_win']:
|
||||
map_stats[map_name]['wins'] += 1
|
||||
|
||||
# Convert to list for frontend
|
||||
map_stats_list = []
|
||||
for k, v in map_stats.items():
|
||||
win_rate = (v['wins'] / v['count'] * 100) if v['count'] > 0 else 0
|
||||
map_stats_list.append({
|
||||
'map_name': k,
|
||||
'count': v['count'],
|
||||
'wins': v['wins'],
|
||||
'win_rate': win_rate
|
||||
})
|
||||
|
||||
# Sort by count desc
|
||||
map_stats_list.sort(key=lambda x: x['count'], reverse=True)
|
||||
|
||||
return jsonify({
|
||||
'players': player_data,
|
||||
'shared_matches': [dict(m) for m in shared_matches],
|
||||
'avg_stats': avg_stats
|
||||
'avg_stats': avg_stats,
|
||||
'map_stats': map_stats_list,
|
||||
'total_shared_matches': total_shared_matches
|
||||
})
|
||||
|
||||
# API: Save Board
|
||||
|
||||
Reference in New Issue
Block a user