コード例 #1
0
def test_fin_de_partie():
    jeu = Jeu()

    jeu.placer_navire(1, 2, 0, "Horizontal", "Sous-marin de reconnaissance")
    jeu.fin_partie()
    assert jeu.partie_gagnee is False
    assert jeu.partie_perdue is False

    jeu.recevoir_tir(1, 2)
    jeu.recevoir_tir(2, 2)
    jeu.recevoir_tir(3, 2)
    jeu.fin_partie()
    assert jeu.partie_perdue is True
    assert jeu.partie_gagnee is False

    jeu.compteur_bateau_coule = 18
    jeu.fin_partie()
    assert jeu.partie_gagnee is True
    assert jeu.partie_perdue is True

    jeu = Jeu()

    jeu.placer_navire(1, 2, 0, "Horizontal", "Sous-marin de reconnaissance")
    jeu.fin_partie()
    assert jeu.partie_gagnee is False
    assert jeu.partie_perdue is False

    jeu.compteur_bateau_coule = 18
    jeu.fin_partie()
    assert jeu.partie_perdue is False
    assert jeu.partie_gagnee is True
コード例 #2
0
def test_get_navire_at():
    jeu = Jeu()

    jeu.placer_navire(2, 2, 2, "Horizontal", "Sous-marin de combat")
    assert jeu.get_navire_at(32, 2) is True
    assert jeu.get_navire_at(33, 2) is True

    assert jeu.get_navire_at(32, 1) is False
    assert jeu.get_navire_at(33, 0) is False

    assert jeu.get_navire_at(31, 2) is False
    assert jeu.get_navire_at(34, 2) is True
コード例 #3
0
def test_position_navire_disponible():
    jeu = Jeu()

    jeu.placer_navire(0, 1, 1, "Horizontal", "Sous-marin de combat")

    assert jeu.position_navire_disponible(0, 0, 3, 1, 0) is True
    assert jeu.position_navire_disponible(0, 0, 5, 2, 0) is True
    assert jeu.position_navire_disponible(0, 0, 5, 1, 0) is True
    assert jeu.position_navire_disponible(0, 0, 4, 1, 0) is True

    assert jeu.position_navire_disponible(13, 0, 3, 2, 0) is False
    assert jeu.position_navire_disponible(15 * 10, 0, 6, 1, 90) is False
    assert jeu.position_navire_disponible(2 * 15, 2, 3, 4, 0) is False
    assert jeu.position_navire_disponible(1, 1, 2, 1, 90) is False
コード例 #4
0
def test_defense_touche():
    jeu = Jeu()

    jeu.placer_navire(1, 2, 1, "Horizontal", "Sous-marin de reconnaissance")
    jeu.recevoir_tir(0, 0)
    jeu.recevoir_tir(1, 2)
    jeu.recevoir_tir(3, 3)

    assert jeu.get_defense_touche(0, 2) is True
    assert jeu.get_defense_touche(0, 1) is True
    assert jeu.get_defense_touche(0, 0) is True

    assert jeu.get_defense_touche(31, 2) is False
    assert jeu.get_defense_touche(31, 1) is True
    assert jeu.get_defense_touche(31, 0) is True

    assert jeu.get_defense_touche(32, 2) is False
    assert jeu.get_defense_touche(32, 1) is False
    assert jeu.get_defense_touche(32, 0) is False
コード例 #5
0
def test_placer_navire():
    jeu = Jeu()

    jeu.placer_navire(5, 5, 1, "Vertical", "Destroyer")
    assert jeu.carte_perso.navires[0].cases[0].x == 5
    assert jeu.carte_perso.navires[0].cases[0].y == 5
    assert jeu.carte_perso.navires[0].cases[0].z == 1

    assert jeu.carte_perso.navires[0].cases[1].x == 5
    assert jeu.carte_perso.navires[0].cases[1].y == 6
    assert jeu.carte_perso.navires[0].cases[1].z == 1

    assert jeu.carte_perso.navires[0].cases[2].x == 5
    assert jeu.carte_perso.navires[0].cases[2].y == 7
    assert jeu.carte_perso.navires[0].cases[2].z == 1

    assert not jeu.carte_perso.navires[0].cases[2].x == 6
    assert not jeu.carte_perso.navires[0].cases[2].y == 8
    assert not jeu.carte_perso.navires[0].cases[1].z == 2

    jeu.placer_navire(0, 0, 1, "Horizontal", "Sous-marin nucléaire")
    assert jeu.carte_perso.navires[1].cases[1].x == 1
    assert jeu.carte_perso.navires[1].cases[1].y == 0
    assert jeu.carte_perso.navires[1].cases[1].z == 1