from random import seed ## TODO: nezapomente si naimportovat potrebne funkce z vhodneho modulu # sem uvedte globalni konstanty pro parametrizaci hry # - pocet min, velikost herniho planu, oznaceni policka s minou # a oznaceni prazdneho policka def prepare_board(): ## TODO: # napiste funkci, ktera vytvori seznam seznamu # nahodne do nej umisti prislusny pocet min (pokud na nahodne vybranem # policku uz mina je, vybere jine) # vepise na ostatni policka pocet min v jejich okoli # vrati takto vytvorene minove pole pass def print_boards(player_board, computer_board): ## TODO: # funkce, ktera vedle sebe vytiskne obe minova pole obdrzena v argumentech pass def get_player_choice(current_state_board): ## TODO: # funkce nacte vstup osahujici souradnice policka, ktere si vybral hrac # pokud souradnice nejsou v rozsahu velikosti pole, # je vstup od hrace vyzadan znova # pokud se hrac na dane policko uz ptal, musi si vybrat znovu # funkce vrati souradnice policka pass def make_computer_choice(computer_choices_memory): ## TODO: # funkce predstavujici vyber policka pocitacem # nahodne generuje souradnice policka (nejdriv radek, potom sloupec) # pokud uz toto policko odkryl, musi si vybrat jine # funkce by mela vracet souradnice policka # a aktualizovanou datovou strukturu nesouci souradnice jiz odkrytych poli pass def get_computer_choice_result(computer_square_choice): ## TODO: # funkce nacitajici vyhodnoceni pocitacova tahu # nacita tedy vstup od hrace v podobe X nebo 0 - 8 # dokud neobdrzi validni vstup (rozsah, X), nacita znovu # vraci obsah policka vybraneho pocitacem pass def uncover_square(original_board, current_state_board, coordinates): ## TODO: # touto fuknci odkryjte policko na hernim planu # funkce vraci novou podobu odkryvaneho pole pass def player_turn(squares_remaining, current_state_board, original_board): ## TODO: # napiste funkci zprostredkovavajici tah hrace za pomoci jiz hotovych funkci # nactete souradnice vybraneho policka # podle vyberu odkryjte policko na hernim planu hrace # vyhodnotte hracuv tah (vypiste obsah policka) # na zaklade tohoto vysledku rozhodnete o pokracovani tahu hrace # ci ukonceni cele hry # funkce vraci pocet neodkrytych poli po vsech hracovych v rade # uskutencnenych tazich a aktualni stav jeho odkryvaneho herniho planu pass def computer_turn(squares_remaining, choices_memory): ## TODO: # napiste funkci zprostredkovavajici tah pocitace pomoci drivejsich funkci # vygenerujte souradnice vybraneho policka # vyhodnotte tah pocitace a rozhodnete o pokracovani tahu hrace # ci ukonceni cele hry # funkce vraci pocet neodkrytych poli po vsech pocitacovych v rade # uskutencnenych tazich a aktualni stav jeho pameti odkrytych poli pass def minesweepeer(): ## TODO: # napiste funkci obsahujici hlavni smycku programu # na zacatku kazdeho kola (tah hrace po tahu pocitace) vypiste aktualni # stav odkryvaneho hracova pole # po skonceni hry vypiste originalni pole hrace i pocitace # pouzivejte drive napsane funkce a nevahejte si navic pripsat sve vlastni # jakekoli promenne, ktere byste chteli drzet jako globalni, uvedte jako # lokalni v teto funkci a dale je predavejte v argumentech funkci a vracejte seed(42) pass # nasledujicich radku si nemusite vsimat, napomahaji spusteni hry mimo IDLE if __name__ == "__main__": minesweepeer() #http://www.chezpoor.com/minesweeper/minecore.html