def test_vyhodnot_bez_vyhry():
    vysledek = vyhodnot("--------------------", "x")
    vysledek = vyhodnot("---------o----------", "x")
    vysledek = vyhodnot("--o---x---o---o-----", "x")
    vysledek = vyhodnot("--o---xx--o---oo----", "o")
    vysledek = vyhodnot("-xooxoxoxxoxxooxoxox", "o")
    assert vysledek == "-"
def test_vyhodnot_remiza():
    """
    Nastala remíza pole 10.
    """
    assert vyhodnot("oxoxoxoxox") == "!"
    assert vyhodnot("xxooxxooxo") == "!"
    assert vyhodnot("ooxxooxxoo") == "!"
Exemple #3
0
def piskvorky1D():
    
    pole = "-" * 20
    
    # kdo ma jaky znak 0:PC-x a hrac-o, 1:PC-o a hrac-x
    if randrange(0, 2):
        znakPC = "x"
        znakHrac = "o"        
    else:
        znakPC = "o"
        znakHrac = "x"
    
    print("Hrac ma", znakHrac)
    
    while True:            
       
        pole = tah_pocitace(pole, znakPC)
        print(pole)
        if "-" != vyhodnot(pole, znakHrac, znakPC):
            # j*z neni volne pole
            break
        pole = tah_hrace(pole, znakHrac)
        print(pole)
        if "-" != vyhodnot(pole, znakHrac, znakPC):
            # j*z neni volne pole
            break
    
    if "o" == vyhodnot(pole, znakHrac, znakPC):
        print("Vyhral hrac s kolecky")
    elif "x" == vyhodnot(pole, znakHrac, znakPC):
        print("Vyhral hrac s krizky")
    else:
        print("Remiza")
Exemple #4
0
def test_vyhodnot_pole():
    '''
    Test funkce vyhodnot: test různých situací a kontrola, že funkce vrátí
    správný symbol:
                'x' --> Výhra - v poli je "xxx"
                'o' --> Výhra - v poli je "ooo"
                '!' --> Remíza, hrací pole plné = není tam "-", nikdo nevyhrál
                '-' --> Nikdo zatím nevyhrál a v poli jsou zatím volná pole,
                        tj. tam alespoň jednou "-"
    '''
    situace_x = [
        '---xxx---', 'xx-xx-xxx', 'xxx------', 'jklionxxx', 'xoxoxxxoo',
        '......xxx', '123456xxx', 'xxx', '      xxx'
    ]
    situace_o = [
        '---ooo---', 'oo-oo-ooo', 'ooo------', 'jklixnooo', 'oxoxoooxx',
        '______ooo', '654321ooo', 'ooo', '      ooo'
    ]
    situace_remiza = [
        'oxoxoxoxo', 'ooxxooxxo', '.........', 'abcdefghijkl', 'XXXPPPOOO',
        'x', 'o', '      '
    ]
    situace_hra_pokracuje = [
        '---------', 'xx-x-o-oo-', 'xoxoxoxox-', 'XXX------', '------OOO', '-',
        '      -', 'xXx------', 'o0o---oOo'
    ]

    for pole in situace_x:
        assert piskvorky.vyhodnot(pole) == 'x'
    for pole in situace_o:
        assert piskvorky.vyhodnot(pole) == 'o'
    for pole in situace_remiza:
        assert piskvorky.vyhodnot(pole) == '!'
    for pole in situace_hra_pokracuje:
        assert piskvorky.vyhodnot(pole) == '-'
Exemple #5
0
def test_vyhodnot_remiza():
    """
    Nastala remíza.
    """
    assert piskvorky.vyhodnot("oxoxoxoxoxoxoxoxoxox") == "!"
    assert piskvorky.vyhodnot("xxooxxooxxooxxooxxoo") == "!"
    assert piskvorky.vyhodnot("xoxoxoxoxoxoxoxoxoxo") == "!"
    assert piskvorky.vyhodnot("ooxxooxxooxxooxxooxx") == "!"
Exemple #6
0
def test_vyhodnot_remiza():
    """
    Nastala remíza.
    """
    assert vyhodnot("oxoxoxoxoxoxoxoxoxox") == "!"
    assert vyhodnot("xxooxxooxxooxxooxxoo") == "!"

    assert vyhodnot("ooxxooxxooxxooxxooxx") == "!"  #dopsaný test
    assert vyhodnot("xoxoxoxoxoxoxoxoxoxo") == "!"  #dopsaný test

    assert vyhodnot("abcd") == "!"  #dopsaný test
def test_vyhodnot_hra():
    """
    Hra neskončila.
    """
    assert vyhodnot("--------------------", "x", "o") == "-"
    assert vyhodnot("xx----------------oo", "x", "o") == "-"
    assert vyhodnot("-xoxoxoxoxoxoxoxoxox", "x", "o") == "-"
    assert vyhodnot("-xooxxooxxooxxooxxoo", "x", "o") == "-"
    assert vyhodnot("xoxoxoxoxoxoxoxoxox-", "x", "o") == "-"
    assert vyhodnot("xooxxooxxooxxooxxoo-", "x", "o") == "-"
    assert vyhodnot("oxoxoxoxo-oxoxoxoxox", "x", "o") == "-"
    assert vyhodnot("xxooxxoox-ooxxooxxoo", "x", "o") == "-"
    assert vyhodnot("xo------xox-------ox", "x", "o") == "-"
    assert vyhodnot("ox------oxo-------xo", "x", "o") == "-"
Exemple #8
0
def test_vyhodnot_hra():
    """
    Hra neskončila.
    """
    assert piskvorky.vyhodnot("--------------------") == "-"
    assert piskvorky.vyhodnot("xx----------------oo") == "-"
    assert piskvorky.vyhodnot("-xoxoxoxoxoxoxoxoxox") == "-"
    assert piskvorky.vyhodnot("-xooxxooxxooxxooxxoo") == "-"
    assert piskvorky.vyhodnot("xoxoxoxoxoxoxoxoxox-") == "-"
    assert piskvorky.vyhodnot("xooxxooxxooxxooxxoo-") == "-"
    assert piskvorky.vyhodnot("oxoxoxoxo-oxoxoxoxox") == "-"
    assert piskvorky.vyhodnot("xxooxxoox-ooxxooxxoo") == "-"
    assert piskvorky.vyhodnot("xxoo------------xxoo") == "-"
    assert piskvorky.vyhodnot("oo----------------xx") == "-"
Exemple #9
0
def test_vyhodnot_hra():
    """
    Hra neskončila.
    """
    assert vyhodnot("--------------------") == "-"
    assert vyhodnot("xx----------------oo") == "-"
    assert vyhodnot("-xoxoxoxoxoxoxoxoxox") == "-"
    assert vyhodnot("-xooxxooxxooxxooxxoo") == "-"
    assert vyhodnot("xoxoxoxoxoxoxoxoxox-") == "-"
    assert vyhodnot("xooxxooxxooxxooxxoo-") == "-"
    assert vyhodnot("oxoxoxoxo-oxoxoxoxox") == "-"
    assert vyhodnot("xxooxxoox-ooxxooxxoo") == "-"

    assert vyhodnot("----xxoox-ooxxooxxoo") == "-"  #dopsaný test
    assert vyhodnot("xxooxxoox-ooxx------") == "-"  #dopsaný test
def test_vyhodnot_hra():
    """
    Hra neskončila pole 10.
    """
    assert vyhodnot("----------") == "-"
    assert vyhodnot("xx------oo") == "-"
    assert vyhodnot("-xoxoxoxox") == "-"
    assert vyhodnot("-oxxooxxoo") == "-"
    assert vyhodnot("xoxoxoxox-") == "-"
    assert vyhodnot("xxooxxoox-") == "-"
    assert vyhodnot("oxoxo-oxox") == "-"
    assert vyhodnot("xxoox-ooxo") == "-"
    assert vyhodnot("--oo--xx--") == "-"
Exemple #11
0
def test_vyhodnot_vyhra_x():
    """
    Křížky vyhrály.
    """
    assert vyhodnot("xxx-----------------") == "x"
    assert vyhodnot("--------xxx---------") == "x"
    assert vyhodnot("-----------------xxx") == "x"
    assert vyhodnot("-xoxoxxxoxoxoxoxoxox") == "x"
    assert vyhodnot("-xooxxooxxooxxoxxxoo") == "x"
    assert vyhodnot("xxxoxoxoxoxoxoxoxox-") == "x"
    assert vyhodnot("oxxxoxoxxooxxooxxoo-") == "x"
    assert vyhodnot("oxoxoxoxo-oxoxoxoxxx") == "x"
    assert vyhodnot("xxooxxoox-ooxxooxxxo") == "x"
Exemple #12
0
def test_vyhodnot_vyhra_o():
    """
    Kolečka vyhrála.
    """
    assert vyhodnot("ooo-----------------") == "o"
    assert vyhodnot("--------ooo---------") == "o"
    assert vyhodnot("-----------------ooo") == "o"
    assert vyhodnot("-xoxoxoxoooxoxoxoxox") == "o"
    assert vyhodnot("-xoooxooxxooxxooxxoo") == "o"
    assert vyhodnot("xoooxoxoxoxoxoxoxox-") == "o"
    assert vyhodnot("oooxxooxxooxxooxxoo-") == "o"
    assert vyhodnot("oxoxoxoxo-oxoxoxooox") == "o"
    assert vyhodnot("xxooxxoox-ooxxooxooo") == "o"
def test_vyhodnot_remiza():
    """
    Nastala remíza.
    """
    assert vyhodnot("oxoxoxoxoxoxoxoxoxox", "x", "o") == "!"
    assert vyhodnot("xxooxxooxxooxxooxxoo", "x", "o") == "!"
    assert vyhodnot("xoxxoxooxoxxooxoxoox", "x", "o") == "!"
    assert vyhodnot("oxxooxoxoxxooxoxoxxo", "x", "o") == "!"
    assert vyhodnot("xoxxoxooxoxxoo", "x", "o") == "!"
    assert vyhodnot("oxoxxooxoxoxxo", "x", "o") == "!"
    assert vyhodnot("xoxoxxooxoxooxxoxoxooxxo", "x", "o") == "!"
    assert vyhodnot("oxoxooxxoxoxxooxoxoxxoox", "x", "o") == "!"
def test_vyhodnot():
    assert p.vyhodnot("xxx----") == "x"
    assert p.vyhodnot("x-ox----") == "-"
    assert p.vyhodnot("xoxoxoxo") == "!"
    assert p.vyhodnot("xxxxxxxx") == "x"
    assert p.vyhodnot("--xx-ooo-") == "o"
    # try:
    with pytest.raises(ValueError):
        p.vyhodnot("12324321a")
Exemple #15
0
def test_vyhodnot_hru():
    """Hra neskončila"""
    from piskvorky import vyhodnot
    assert vyhodnot('xx----------------oo') == '-'
    assert vyhodnot('-xoxoxoxoxoxoxoxoxox') == '-'
    assert vyhodnot('-xooxxooxxooxxooxxoo') == '-'
    assert vyhodnot('xoxoxoxoxoxoxoxoxox-') == '-'
    assert vyhodnot('xooxxooxxooxxooxxoo-') == '-'
    assert vyhodnot('oxoxoxoxo-oxoxoxoxox') == '-'
    assert vyhodnot('xxooxxoox-ooxxooxxoo') == '-'
def test_vyhodnot_hru():
    """Hra neskončila"""
    from piskvorky import vyhodnot
    assert vyhodnot('xx----------------oo') == '-'
    assert vyhodnot('-xoxoxoxoxoxoxoxoxox') == '-'
    assert vyhodnot('-xooxxooxxooxxooxxoo') == '-'
    assert vyhodnot('xoxoxoxoxoxoxoxoxox-') == '-'
    assert vyhodnot('xooxxooxxooxxooxxoo-') == '-'
    assert vyhodnot('oxoxoxoxo-oxoxoxoxox') == '-'
    assert vyhodnot('xxooxxoox-ooxxooxxoo') == '-'
Exemple #17
0
def test_vyhodnot():
    assert piskvorky.vyhodnot('------x-----') == '-'
    assert piskvorky.vyhodnot('---xxo--xxo-') == '-'
    assert piskvorky.vyhodnot('-x-x-x-x-x-o-o-o') == '-'
    assert piskvorky.vyhodnot('-xxx---oo-x') == 'x'
    assert piskvorky.vyhodnot('o-o--xx--ooo') == 'o'
    assert piskvorky.vyhodnot('oxoxoxoxox') == '!'
Exemple #18
0
def test_vyhodnot():
    with pytest.raises(Exception) as ex1:
        piskvorky.vyhodnot("------xxx-----------")
        assert str(ex1) == "Vyhrály křížky!"
    with pytest.raises(Exception) as ex2:
        piskvorky.vyhodnot("------ooo-----------")
        assert str(ex2) == "Vyhrály kolečka!"
    with pytest.raises(Exception) as ex3:
        piskvorky.vyhodnot("xoxoxoxoxoxo")
        assert str(ex3) == "Remíza!"
    assert piskvorky.vyhodnot("-xoxoxoxo") == "-"
def test_vyhodnot_vyhry():
    vysledek = vyhodnot("xxx-----------------", "x")
    vysledek = vyhodnot("--ooxxx----------o--", "o")
    vysledek = vyhodnot("xxxoxoxoxoxoxoxoxoxo", "o")
    assert vysledek == "x"

    vysledek = vyhodnot("-----------------ooo", "x")
    vysledek = vyhodnot("xx------ooo-------xx", "o")
    vysledek = vyhodnot("xoooxoxoxoxoxoxoxoxo", "o")
    assert vysledek == "o"
Exemple #20
0
def test_vyhodnot_specialni_pole():
    '''
    Test funkce vyhodnot: test různých polí,
    které mohou být zadány jako argument.
    '''
    a = '--xXxO......123-------'
    situace = [a, 'x' * 3 + '-' * 6, str(123456789), ' ' * 10000]

    for pole in situace:
        assert piskvorky.vyhodnot(pole) in ['x', 'o', '!', '-']

    with pytest.raises(TypeError):
        piskvorky.vyhodnot(10)
        piskvorky.vyhodnot(10.5)

    with pytest.raises(ValueError):
        piskvorky.vyhodnot('')
Exemple #21
0
def piskvorky1d():
    pole = '--------------------'
    stav_hry = '-'
    hraje = 1
    while stav_hry == '-':
        if hraje == 1:
            novy_vstup = True
            while novy_vstup:
                vstup = int(input('Zadej číslo pole, kam chceš hrát (0-19): '))
                hlaska, novy_vstup = piskvorky.over_vstup(pole, vstup)
                if novy_vstup:
                    print(hlaska)
            pole = piskvorky.util.tah(pole, vstup, 'x')
            print(pole)
            hraje = 2
        else:
            pole = piskvorky.ai_eva_blazkova.tah_pocitace(pole, 'o')
            print(pole)
            hraje = 1
        stav_hry = piskvorky.vyhodnot(pole)
    print(piskvorky.jak_to_dopadlo(stav_hry))
Exemple #22
0
def test_vyhodnot_vyhru_x():
    """Křížky vyhrály"""
    from piskvorky import vyhodnot
    assert vyhodnot('xxx-----------------') == 'x'
Exemple #23
0
def test_vyhnoceni_remiza():
    assert vyhodnot('xxooxxooxxoxxooxxoox') == '!'
Exemple #24
0
def test_vyhnoceni_nekonec():
    assert vyhodnot('xx------oo-x-oo-----') == '-'
Exemple #25
0
from piskvorky import tah_hrace, vyhodnot
from ai import tah_pocitace

pole = "-" * 20
na_tahu = "x"

while True:
    if na_tahu == "x":
        cislo_policka = int(input("""Zadej pozici od 0 do 19: """))
        pole = tah_hrace(pole)
        na_tahu = "o"
    elif na_tahu == "o":
        pole = tah_pocitace(pole)
        na_tahu = "x"

    vysledek = vyhodnot(pole)
    print(pole)

    if vysledek != "-":
        if vysledek == "!":
            print("Remiza! {}".format(pole))
        elif vysledek == "x":
            print("Vyhravas nad pocitacem! {}".format(pole))
        elif vysledek == "o":
            print("Bohuzel, pocitac vyhral. {}".format(pole))
        else:
            raise ValueError("Nepripustny vysledek hry '{}'".format(vysledek))
        break
def test_vyhodnot_vyhru_o():
    """Kolečka vyhrála"""
    from piskvorky import vyhodnot
    assert vyhodnot('ooo-----------------') == 'o'
Exemple #27
0
def test_vyhodnot():
    assert vyhodnot("oxxxo") == 'x'
    assert vyhodnot("oxxoooxo") == 'o'
    assert vyhodnot("oxxoxo") == '!'
    assert vyhodnot("ox-oxo") == '-'
def test_vyhodnot_remizu():
    """Nastala remíza"""
    from piskvorky import vyhodnot
    assert vyhodnot('oxoxoxoxoxoxoxoxoxox') == '!'
    assert vyhodnot('xxooxxooxxooxxooxxoo') == '!'
Exemple #29
0
# 3. kolo: -------xx-o---------
# 4. kolo: -------xxoo---------
# 5. kolo: ------xxxoo---------
# Hráč, která dá tři své symboly vedle sebe, vyhrál.

#Nejdrive se vytvori herni plan, pote se strida tah hrace a pociace, dokud nekdo nevyhraje.

herni_pole = "-" * 20
na_tahu = "x"

while True:
    if na_tahu == "x":
        herni_pole = tah_hrace(herni_pole)
        na_tahu = "o"
    elif na_tahu == "o":
        herni_pole = tah_pocitace(herni_pole)
        na_tahu = "x"

    vysledek = vyhodnot(herni_pole)
    print(herni_pole)

    if vysledek != "-":
        if vysledek == "!":
            print(f"Remiza! {herni_pole}")
        elif vysledek == "x":
            print(f"Vyhravas nad pocitacem! {herni_pole}")
        elif vysledek == "o":
            print(F"Bohuzel, pocitac vyhral. {herni_pole}")
        else:
            raise ValueError(f"Nepripustny vysledek hry '{vysledek}'")
        break
Exemple #30
0
def test_vyhodnot_vyhru_o():
    """Kolečka vyhrála"""
    from piskvorky import vyhodnot
    assert vyhodnot('ooo-----------------') == 'o'
Exemple #31
0
def test_vyhodnot_remizu():
    """Nastala remíza"""
    from piskvorky import vyhodnot
    assert vyhodnot('oxoxoxoxoxoxoxoxoxox') == '!'
    assert vyhodnot('xxooxxooxxooxxooxxoo') == '!'
def test_vyhodnot_vyhru_x():
    """Křížky vyhrály"""
    from piskvorky import vyhodnot
    assert vyhodnot('xxx-----------------') == 'x'
Exemple #33
0
def test_vyhnoceni_krizky():
    assert vyhodnot('xxx----oo--x-oo-----') == 'x'
Exemple #34
0
def test_vyhodnot():
    assert vyhodnot("ooxxxo-xo--x-oo-xx--") == "x"
    assert vyhodnot("--------------------") == "-"
    assert vyhodnot("ooo----xx-----------") == "o"
    assert vyhodnot("xoxoxoxoxoxoxoxoxoxo") == "!"
def test_vyhodnot_remiza():
    vysledek = vyhodnot("xxooxoxoxoxoxoxoxoxx", "x")
    assert vysledek == "!"
Exemple #36
0
def test_vyhodnot():
    assert piskvorky.vyhodnot('ooxxxooxoxox') == 'x'
    assert piskvorky.vyhodnot('oooxxooxoxox') == 'o'
    assert piskvorky.vyhodnot('ooxoxooxoxox') == '!'
    assert piskvorky.vyhodnot('oo-xxooxoxox') == '-'
    assert piskvorky.vyhodnot('oooooooooooo') == 'o'