MIL-004: High score file #38

Merged
Tirsvad merged 6 commits from mil-004-high-score-file into main 2026-10-13 08:41:38 +02:00
2 changed files with 21 additions and 0 deletions
Showing only changes of commit c20ea6c616 - Show all commits
+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