From 6ec8e7e4f8eb27886d61ac28049e31781ea20b35 Mon Sep 17 00:00:00 2001 From: 283375 Date: Sat, 17 Jun 2023 21:07:16 +0800 Subject: [PATCH] feat(calc): `calculate_score_range(chart, pure, far)` --- src/arcaea_offline/calculate.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/arcaea_offline/calculate.py b/src/arcaea_offline/calculate.py index 81105c3..eaed7ab 100644 --- a/src/arcaea_offline/calculate.py +++ b/src/arcaea_offline/calculate.py @@ -5,6 +5,15 @@ from typing import Dict, List from .models import Calculated, Chart, Score +def calculate_score_range(chart: Chart, pure: int, far: int): + single_note_score = 10000000 / Decimal(chart.note) + + actual_score = floor( + single_note_score * pure + single_note_score * Decimal(0.5) * far + ) + return (actual_score, actual_score + pure) + + def calculate_score(chart: Chart, score: Score) -> Calculated: assert chart.song_id == score.song_id assert chart.rating_class == score.rating_class