Stránka dokumentácie projektu RP(1)
Späť na RP(1)
Moduly, triedy, funkcie a ich úloha:
- tkinter
-
Používa sa na grafiku a všetky okná.
- tkinter.filedialog
-
Vyskakujúce okno na zápis a čítanie zo súboru.
- tkinter.messagebox
-
Vyskakujúce okno s otázkami.
- random.choice
-
Náhodný výber jednej z pomedzi ekvivalentných ciest pre bota
- time
-
Používa sa na pozdržanie procesov, nech hráč stíha vidieť, ktorou figúrkou sa počítač pohol.
- Game
-
Vytvorením inštancie tejto triedy začne hra.
- __init__()
- Nastaví vlastnosti okna a ďalej vytvára menu
- menu()
- new_game()
- Zmena menu po kliknutí na "nová hra"
- start_game(color1, color2, checkers=None)
- Vymažú sa buttony a vytvorí sa inštancia hry Match, kde už začne konkrétny zápas
- load_game()
- Načítanie hry z dialogového okna
- save_game_prompt(exiting)
- Otvorenie okna, kde si hráč vyberie, či si chce alebo nechce uložiť hru
- saving_game(exiting)
- vytvorenie save-u + podľa exiting sa vypne alebo nevypne hra
- create_save()
- otvorenie dialogového okna, kde si hráč vyberie destináciu a meno save-u + samotné jeho vytvorenie
- create_dropdown_menu()
- vytvorí malé menu viditeľného počas zápasu
- restart(prompt)
- reštartovanie hry, prípadne otázka, či si chce hráč uložiť hru
- client_exit()
- Match
-
samotný zápas
- __init__(colorP=None, colorE=None, file=None, game=None)
- nastavenie poľa s figúrkami, vytvorenie inštancie hráča a počítača, spustenie prvého kola hry a spustenie timera
- next_turn(who)
- pokiaľ neskončila hra, tak sa spúšťa ďaľšie kolo
- announce_end_of_game()
- oznámenie konca hry s možnosťami vypnutia hry, reštartu alebo nečinnosti
- end()
- vráti, či bola splnená podmienka na koniec hry
- win()
- vráti True, ak vyhral hráč
- loss()
- vráti True, ak prehral hráč
- put_checkers(colorP, colorE)
- vytvorí plochu a poľu priraďuje inštancie Checker
- delete_checker(i, j)
- zmaže figúrku z plochy na pozícií (i, j)
- Player
-
všetká interakcia hráča s plochou
- __init__(Match)
- nastavenie poľa s figúrkami, vytvorenie inštancie
hráča a počítača, spustenie prvého
kola hry a spustenie timera
- turn()
- end_turn()
- znemožnenie zahratia koľa
- selector()
- vybratie figúrky a jej posun na voľné políčko
- deselect_active()
- pomocná funkcia k selector(),
opustí momentálne vybratú figúrku
- Checker
-
samotný zápas
- __init__(i, j, sides, color)
- nastavenie inštančných premenných
a vytvorenie figúrky na ploche
- coords(i, j)
- vráti koordináty na ploche
v závislosti od (i, j)
- create(i, j, color)
- coronation()
- zmení status figúrky na Dámu
a patrične aj graficky zmení
- move(i, j)
- presun figúrky na (i, j) v ploche
- highlight()
- zvýraznenie figúrky pri pohybe
- unhighlight()
- can_move(i, j)
- die(i, j)
- zrušenie figúrky z plochy
- moveable(i=None, j=None)
- vráti pre danú figúrku
možné posuny a skoky vo forme zoznamov s koordinátmi
- is_checker(r, c)
- vráti 1 alebo 0 podľa
toho, či je na pozicií (r, c) figúrka
- best_route()
- (pri protihráčovi) po ohodnotení všetkých
možných krokov si vyberie najlepší a ten vráti
- Opponent
-
trieda počítača
- __init__(Match)
- uloží si do premennej inštanciu zápasu
- turn()
- vyhodnotí najvýhodnejší skok spomedzi
všetkých figúrok a vykoná ho