Warning
This page is located in archive.

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.11.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ů. Metoda nesmí měnit hodnoty v zadané hrací ploše board. Maximální setrvání v metodě je 1 sekunda.

Vlastnosti třídy MyPlayer

  • Třída MyPlayer se bude identifikovat popisem ve formě doc-stringu. Maximální délka je 80 znaků. Popis by měl pokud možno vysvětlovat jak hráč hraje.
  • Třída bude obsahovat proměnnou name s FEL username studenta (například 'novakj16').

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

courses/b4b33rph/cviceni/reversi/specifikace.txt · Last modified: 2023/11/27 10:11 by kostkja2