Table of Contents

Hráč

Podrobná specifikace toho, co musí hráč umět a jak musí vypadat, aby mohl hrát turnaj s ostatními.

  • Reversi hráč musí fungovat v Pythonu 3.7.x, který bude nainstalován na strojích pro automatické hodnocení! Jinak se může stát, že vaše kódy nebudou fungovat správně!

Soubor k odevzdání

Odevzdávat budete ZIP archív s vaším modulem player.py a případně se všemi moduly, které tento modul importuje. Tyto soubory musí být v kořeni archívu, archív nesmí obsahovat žádné adresáře! ZIP archív (a jen tento soubor) nahrajete do BRUTE.

Třída MyPlayer a její metody

Hráče (v souboru 'player.py') implementujete ve formě třídy MyPlayer, která bude poskytovat tyto metody:

metoda vstupní parametry výstupní parametry vysvětlení
__init__ my_color (moje barva), opponent_color (barva soupeře) žádné Vytvoření instance hráče. Hráč vždy dostane barvu vlastních kamenů my_color a barvu soupeřových kamenů opponent_color. Barva kamene je buď hodnota 0 nebo 1.
move board (n x n matice hrací plochy) r , c (row, column souřadnice Vašeho tahu v tuple(n-tici) se dvěma inty) Vygenerování tahu. Na vstupu dostanete současný stav hrací plochy board, který je reprezentován dvourozměrným seznamem. Metoda vrací tuple(n-tici) délky 2 (obe cisla typu int) se souřadnicemi tahu - například (0,0), čímž umístíte svůj kámen na pozici board[r][c]. Pokud není možné zahrát validní tah, metoda vrací None. Hodnoty obsažené v board jsou -1 pro prázdné políčko a 0/1 pro barvy již umístěných kamenů. Maximální setrvání v metodě je 1 sekunda.

Vlastnosti třídy MyPlayer

Příklad třídy MyPlayer:

class MyPlayer:
    '''Hrac hraje nahodne'''
    def __init__(self, my_color,opponent_color):
        self.name = 'username' #username studenta
 
    def move(self,board):
        return (*,*) #pozice kam hráč umisťuje svůj kámen