Eesti Scrabble
Scrabble’i mängu rakendus, mis toetab eesti tähestikku ja kasutab eesti sõnastikku.
Tõlke märkus: See dokumentatsioon on tõlgitud inglise keelest eesti keelde kasutades tehisintellekti (Claude-3.5-Sonnet) ja pole inimese poolt üle kontrollitud. Kui leiate tõlkevigu, andke palun teada!
Arenduse märkus: See projekt arendati eksperimendina tehisintellekti-toetatud programmeerimises, kasutades Cursor IDE agendi režiimi Claude-3.5-Sonnet mudeliga. Kogu arendusprotsess viidi läbi “YOLO režiimis”, kus tehisintellekti agent osales aktiivselt koodi kirjutamises, vigade parandamises ja dokumentatsiooni koostamises.
Eeldused
Enne alustamist veenduge, et teil on installitud:
- Python 3.8 või uuem
- Windows: Laadige alla ja installige python.org
- Linux: Tavaliselt eelinstallitud, või installige paketihalduri kaudu:
sudo apt-get install python3 # Ubuntu/Debian jaoks
sudo dnf install python3 # Fedora jaoks
- macOS: Installige Homebrew kaudu:
- pip (Pythoni paketihaldur)
- Tavaliselt tuleb kaasa Pythoni installatsiooniga
- Kontrollimiseks avage terminal/käsurida ja käivitage:
pip --version # või pip3 --version
Installeerimine
- Laadige mäng alla
- Laadige see repositoorium alla ZIP-failina ja pakkige lahti
- Või kui olete tuttav git-iga:
git clone [repositooriumi-url]
cd scrabble
- Avage Terminal/Käsurida
- Windows: Vajutage Win+R, sisestage
cmd, vajutage Enter
- macOS: Vajutage Cmd+Space, sisestage
terminal, vajutage Enter
- Linux: Vajutage Ctrl+Alt+T
- Liikuge mängu kausta
cd path/to/scrabble # Asendage tegeliku teega
- Installige sõltuvused
pip install -r requirements.txt # või pip3 install -r requirements.txt
- Käivitage mäng
python main.py # või python3 main.py
Kuidas mängida
- Mängu alustamine
- Käivitage mäng ülaltoodud käsuga
- Avaneb mänguaken tühja mängulauaga
- Kaks mängijat mängivad kordamööda
- Mängu juhtimine
- Hiire juhtimine:
- Vajutage ja hoidke vasakut hiireklahvi, et lohistada tähti oma restilt lauale
- Vabastage vasak hiireklahv tähe asetamiseks
- Paremklõpsake laual olevat tähte, et see tagasi restile tuua
- Vasakklõpsake nuppe (“Kinnita”, “Jäta vahele”, “Vaheta”) toimingute sooritamiseks
- Klõpsake “Kinnita”, kui olete oma sõna asetamisega rahul
- Klõpsake “Jäta vahele” käigu vahele jätmiseks
- Klõpsake “Vaheta” tähtede vahetamiseks (loetakse käiguna)
- Esimene käik
- Tähed tuleb asetada läbi keskvälja
- Peab moodustama korrektse eestikeelse sõna
- Sõna peab olema loetav vasakult paremale või ülevalt alla
- Järgnevad käigud
- Uued tähed peavad ühenduma olemasolevate sõnadega
- Kõik moodustatud sõnad peavad olema korrektsed eestikeelsed sõnad
- Sõnad loetakse vasakult paremale või ülevalt alla
Ekraanipildid
Mängu liides
Algne mängulaud preemiumruutudega
Mängija täherida ja juhtnupud
Sõnade asetamine
Näide korrektsest sõna asetamisest (roheline esiletõst)
Näide vigasest sõna asetamisest (punane esiletõst)
Mängu kulg
Korrektne esimene käik läbi keskvälja
Mitme korrektse sõna moodustamine ühe käiguga
Veaotsing
Levinud probleemid
- “Python not found” või sarnane viga
- Veenduge, et Python on installitud ja lisatud PATH-i
- Proovige kasutada
python3 python asemel
- Taaskäivitage terminal/käsurida
- “pip not found” viga
- Veenduge, et pip on installitud
- Proovige kasutada
pip3 pip asemel
- Windowsis proovige:
py -m pip install -r requirements.txt
- Mäng ei käivitu
- Veenduge, et kõik sõltuvused on installitud
- Proovige sõltuvused uuesti installida:
pip uninstall -r requirements.txt
pip install -r requirements.txt
- Eesti tähed ei kuva korrektselt
- Veenduge, et teie süsteem toetab UTF-8
- Proovige uuendada terminali/käsurea fonti
Abi saamine
Probleemide korral:
- Kontrollige ülaltoodud veaotsingu sektsiooni
- Otsige sarnaseid probleeme projekti probleemide haldussüsteemist
- Looge uus probleem, lisades:
- Teie operatsioonisüsteem
- Pythoni versioon (
python --version)
- Veateade (kui on)
- Probleemi taasesitamise sammud
Funktsioonid
- Täielik eesti tähestiku tugi, sealhulgas õ, ä, ö, ü, š, ž
- Visuaalne tagasiside korrektsete/vigaste sõnade asetamisel
- Tähtede lohistamine ja asetamine
- Reaalajas sõnade valideerimine
- Preemiumruutude punktisüsteem
- Kahe mängija tugi
Projekti struktuur
scrabble/
├── game/ # Mängu loogika ja oleku haldamine
│ ├── __init__.py # Paketi eksport
│ ├── constants.py # Mängu konstandid (tähtede jaotus, preemiumruudud)
│ ├── state.py # Põhiline mängu oleku haldamine
│ └── word_validator.py # Sõnade valideerimise loogika
├── ui/ # Kasutajaliidese komponendid
│ ├── __init__.py # Paketi eksport
│ └── components.py # UI komponendid (Laud, Täht, Rest)
├── main.py # Mängu põhiprogramm
├── requirements.txt # Pythoni sõltuvused
└── README.md # See fail
Mängureeglid
- Mäng järgib standardseid Scrabble’i reegleid kohandustega eesti tähestiku jaoks
- Toetab eesti eritähti (õ, ä, ö, ü, š, ž)
- Kasutab eesti sõnastikku sõnade valideerimiseks
- Preemiumruudud järgivad standardset Scrabble’i laua paigutust
Arendus
Arhitektuur
Projekt järgib modulaarset arhitektuuri selge vastutuse jaotusega:
- Mängu loogika (
game/):
state.py: Haldab mängu olekut, mängijate käike ja tähtede asetamist
word_validator.py: Tegeleb sõnade valideerimise ja punktide arvestamisega
constants.py: Sisaldab mängu konstante ja seadistusi
- Kasutajaliides (
ui/):
components.py: Taaskasutatavad UI komponendid
- Tegeleb kasutaja sisendi ja visuaalse tagasisidega
Uute funktsioonide lisamine
Uute funktsioonide lisamisel:
- Määrake, milline moodul peaks uut koodi sisaldama
- Uuendage asjakohaseid teste (kui need lisame)
- Järgige olemasolevat koodistiili
- Uuendage dokumentatsiooni
Koodistiil
- Kasutage tüübivihjeid funktsioonide parameetrite ja tagastusväärtuste jaoks
- Järgige PEP 8 juhiseid
- Kirjutage docstring’id klassidele ja funktsioonidele
- Hoidke funktsioonid fokuseeritud ja ühe eesmärgiga
Panustamine
- Tehke repositooriumist fork
- Looge funktsiooni haru
- Tehke oma muudatused
- Esitage pull request
Tulevased täiendused
Märkus: Järgnevad täiendused pakkus välja tehisintellekti agent arenduse käigus. Inimesest arendaja keskendus peamiselt põhilise mängu tööle saamisele! Tundke end vabalt neid funktsioone implementeerida, kui olete huvitatud.
✅ Implementeeritud:
- Eesti sõnastiku integratsioon
- Põhiline punktisüsteem preemiumruutudega
- Reaalajas sõnade valideerimine
🚀 Tehisintellekti soovide nimekiri:
- Täiustatud sõnade valideerimine:
- Liitsõnade toe lisamine
- Sõnade vaidlustamise süsteemi implementeerimine mängijate vahel
- Valideeritud sõnade vahemällu salvestamine jõudluse parandamiseks
- Mängu funktsioonid:
- Mängu oleku salvestamine/laadimine
- Käikude tagasivõtmine/uuesti tegemine
- Mängu taasesituse funktsioon
- Turniirirežiim ajalimiitidega
- Statistika jälgimine (kõrgeimad punktid, pikimad sõnad jne)
- Mitmikmäng:
- Võrgu kaudu mängimise tugi
- Eesruum vastaste leidmiseks
- Vestlusfunktsioon
- Mängijate edetabel
- Tehisintellekti funktsioonid:
- Tehisintellekti vastane reguleeritava raskusastmega
- Tehisintellekti käigusoovitused õppimiseks
- Mängitud mängude analüüs
- Tehnilised täiendused:
- Ühiktestide katvus
- Jõudluse optimeerimine
- Korralik logimissüsteem
- Seadistatavad mängureeglid
- Platvormideülene pakkimine
- Kasutajaliidese täiendused:
- Animatsioonid tähtede asetamisel
- Heliefektid
- Tumeda/heleda teema tugi
- Mobiilisõbralik kohanduv disain
- Ligipääsetavuse funktsioonid
Litsents
See projekt on avatud lähtekoodiga ja saadaval MIT litsentsi all.