Add screenshots, finish README, add wiki in en, da and ms, re-review MIL-004 (MIL-004)

Task: MIL-004#1
Task: MIL-004#2
Task: MIL-004#3
Task: MIL-004#4
This commit is contained in:
2026-10-13 15:56:35 +08:00
parent 60fc085dee
commit f3d740c898
16 changed files with 477 additions and 7 deletions
+35
View File
@@ -0,0 +1,35 @@
[English](Description) | [Dansk](Description.da) | **Bahasa Melayu**
# Penerangan
Permainan ini mengikut tiga kuliah hari 25. Halaman ini menerangkan cara kod dibina.
## Peraturan permainan
- Tetingkap memaparkan peta kosong daripada `blank_states_img.gif`.
- Tajuk gesaan menunjukkan bilangan negeri yang dinamakan, contohnya `14/50 States Correct`.
- Jawapan dipadankan dengan negeri tanpa mengira huruf besar atau kecil atau ruang di sekelilingnya.
- Negeri yang betul ditulis pada peta di `x` dan `y` daripada `50_states.csv`; jawapan salah atau berulang ditanya semula.
- `exit` atau Cancel menamatkan permainan; negeri yang tidak dinamakan disimpan dalam `states_to_learn.csv`.
## Modul
| Modul | Tanggungjawab |
| --- | --- |
| `constants.py` | Semua pemalar: tajuk, nama fail, nama lajur, had |
| `states.py` | Peraturan: `State`, `find_state`, `get_missing_states`; tiada fail, tiada skrin |
| `storage.py` | Membaca `50_states.csv` dan menulis `states_to_learn.csv` dengan modul `csv` pustaka standard |
| `game.py` | Gelung meneka `play` dan `run_game` melalui protokol `GameScreen` |
| `turtle_screen.py` | Satu-satunya modul yang mengimport `turtle`: peta, gesaan, nama negeri, koordinat klik |
| `main.py` | Titik masuk yang menyambungkan bahagian-bahagian |
## Ujian, CI dan dokumentasi
- `python -m pytest` menjalankan ujian dengan skrin palsu, jadi tiada tetingkap dibuka.
- `.gitea/workflows/run-tests.yml` menjalankan ruff, mypy, yamllint dan pytest pada setiap push dan pull request.
- `doxygen Doxyfile` membina dokumentasi sumber ke dalam `docs/build/doxygen`.
```bash
python -m pytest
doxygen Doxyfile
```