Files
Tirsvad c5565229d8
CI / test (pull_request) Successful in 1m1s
Finish the README and add the wiki in English, Danish and Bahasa Malaysia
Doxygen builds the source documentation without warnings.

Task: MIL-007#1
Task: MIL-007#2
Task: MIL-007#3
2026-10-13 14:02:01 +08:00

1.3 KiB

Architecture

🌐 English · Dansk · Bahasa Malaysia

Modules (src/)

Module Responsibility
main.py Creates the screen, the objects and runs the game loop
constants.py Every constant, defined once
player.py Player(Turtle): go_up, is_at_finish_line, go_to_start
car_manager.py CarManager: create_cars, move_cars, is_hit, level_up
car_shape.py The drawing of a car: body, cabin, windows, headlight, two wheels
collision.py is_colliding: pure rectangle test, no turtle needed
scoreboard.py Scoreboard(Turtle): level text and GAME OVER

Design choices

  • Cars look like cars. A car is a compound turtle shape inside the 40 x 20 pixel footprint of the assignment. One shape is registered per colour, so no image files are needed.
  • Testable without a window. Geometry (car_components), the collision test and the spawn rule are plain code. CarManager receives a car factory and a random source, so tests use a fake car and a seeded dice.
  • Collision uses the whole car. The player is compared with the car's rectangle, not only with its centre.

Documentation

Source comments are Doxygen comments. Build them with doxygen Doxyfile. Planning and review documents are in docs/.

Back to Home.