Add the high score file constants

Refs #23
Task: MIL-004#1
This commit is contained in:
2026-10-13 14:38:50 +08:00
parent b4d99e7e01
commit c20ea6c616
2 changed files with 21 additions and 0 deletions
+12
View File
@@ -128,3 +128,15 @@ HIGH_SCORE_LABEL: Final[str] = "High Score: "
# The place is far outside the 600 by 600 screen, so the old segments are out # The place is far outside the 600 by 600 screen, so the old segments are out
# of sight, as the day-24 lecture does it. # of sight, as the day-24 lecture does it.
SEGMENT_PARKING_POSITION: Final[tuple[int, int]] = (1000, 1000) SEGMENT_PARKING_POSITION: Final[tuple[int, int]] = (1000, 1000)
## @brief Name of the text file that keeps the high score between games.
#
# A relative path: the file lies in the working directory the game is started
# from. The file is not tracked by git.
HIGH_SCORE_FILE: Final[str] = "data.txt"
## @brief Text encoding used to read and write the high score file.
HIGH_SCORE_FILE_ENCODING: Final[str] = "utf-8"
## @brief The high score of a new game, and of a file that cannot be read.
DEFAULT_HIGH_SCORE: Final[int] = 0
+9
View File
@@ -164,6 +164,15 @@ def test_high_score_label_follows_the_score_label_as_in_the_lecture() -> None:
assert constants.HIGH_SCORE_LABEL != constants.SCORE_LABEL assert constants.HIGH_SCORE_LABEL != constants.SCORE_LABEL
def test_high_score_is_kept_in_the_text_file_data_txt_as_utf_8() -> None:
assert constants.HIGH_SCORE_FILE == "data.txt"
assert constants.HIGH_SCORE_FILE_ENCODING == "utf-8"
def test_the_default_high_score_is_0() -> None:
assert constants.DEFAULT_HIGH_SCORE == 0
def test_old_segments_are_parked_outside_the_screen() -> None: def test_old_segments_are_parked_outside_the_screen() -> None:
x, y = constants.SEGMENT_PARKING_POSITION x, y = constants.SEGMENT_PARKING_POSITION