def test_cross_over(): typer = ["a", "b"] spiller1 = Spiller(lag_kort(), Spilleske(typer), typer) spiller2 = Spiller(lag_kort(), Spilleske(typer), typer) spiller1.prioriteringer = {"a": [1, 2, 3], "b": [7, 8, 9]} spiller2.prioriteringer = {"a": [4, 5, 6], "b": [10, 11, 12]} ny_spiller = cross_over([spiller1, spiller2], typer) print(ny_spiller.prioriteringer)
def selvalgt_spiller(filnavn): spilleske = None spiller = Spiller(lag_kort(), spilleske, TYPER) spiller.prioriteringer = les_inn(filnavn) navnet = filnavn.split("/") spiller.navn = navnet[-1] return spiller
def lag_spillere(spilleske): spillere = [] for telling in range(antall_spillere): spillere.append(Spiller(lag_kort(), spilleske, TYPER)) for ab in range(len(spillere)): spillere[ab].navn = "s" + str(ab) return spillere
def test_finn_score(): typer = ["Ko", "So"] spilleske = Spilleske(typer) spiller = Spiller(lag_kort(), spilleske, typer) spiller.prioriteringer = {'Ko': [1, 6, 3], "So": [0, 3, 6]} spiller.trekkbunke = [ MyntSeierKort(1, 0), MyntSeierKort(1, 0), MyntSeierKort(2, 0) ] spiller.kort["Ko"] = 2 spiller.kort["So"] = 1 svar = spiller.finn_score() assert svar["Ko"] == 6 assert svar["So"] == 4 kortene = [ MyntSeierKort(1, 0), MyntSeierKort(2, 0), MyntSeierKort(2, 0), MyntSeierKort(2, 0) ] spiller.prioriteringer = {'Ko': [2, 4, 2], "So": [0, 8, 4]} score = spiller.finn_scorel(kortene) assert score["Ko"] == 4.5 assert score["So"] == 5 assert spiller.finn_andelu(MyntSeierKort(1, 0), kortene) == 0.25
def test_mtilfeldig(spilleren): logging.info("Begynner testing gruppe") kampen = [spilleren] for telling in range(3): kampen.append(Spiller(lag_kort(), Spilleske(TYPER), TYPER)) vinneren = spille_mothverandre(kampen) if vinneren == spilleren: return 1 else: return 0
def cross_over(spillere, typer): assert len(spillere) == 2 ny_spiller = Spiller(lag_kort(), Spilleske(typer), typer) for type in typer: for a in range((len(typer) + 1)): tallet = randint(1, 3) if tallet == 1: ny_spiller.prioriteringer[type][a] = spillere[ 0].prioriteringer[type][a] elif tallet == 2: ny_spiller.prioriteringer[type][a] = spillere[ 1].prioriteringer[type][a] else: ny_spiller.prioriteringer[type][a] = ( spillere[0].prioriteringer[type][a] + spillere[1].prioriteringer[type][a]) / 2 ny_spiller.navn = spillere[0].navn + spillere[1].navn return ny_spiller
def __init__(self, spillere): self.spilleske = Spilleske(TYPER) for spiller in spillere: spiller.klart_for_nytt_spill(lag_kort(), self.spilleske)
def finn_forste_score(self): if self.navn == "manuellsmiland.csv": a = "a" kortene = lag_kort() self.spilleske = Spilleske(self.typer) return self.finn_scorel(kortene)