from random import randint from hund import Hund class Kennel: def __init__(self, rad, kol): self._rader = rad self._kolonner = kol self._hundeliste = self.generer(rad, kol) def generer(self, rad, kol): navneliste = ["Abe", "Ace", "Achillies", "Agar", "Aiden", "Ajax", "Allegro", "Amigo", "Avalon", "Atlas", "Bolt", "Baco", "Søta", "Amazon", "Argus", "Armani"] maxAlder = 15 hundeliste = [] for i in range(rad): hundeliste.append([]) for j in range(kol): #Får et tilfeldig tall som bestemmer kjonnet kjonn = randint(0,1) #Finner et tilfeldig navn fra navnelista navn_index = randint(0, 15) navn = navneliste[navn_index] #Gir hver hund en tilfeldig alder mellom 0 og 14 alder = randint(0, maxAlder) #Oppretter ny hund nyHund = Hund(kjonn, navn, alder) #Legger den nye hunden til i lista vi oprettet i for i in range(rad): hundeliste[i].append(nyHund) return hundeliste def finnNaboer(self, rad, kol): naboliste = [] for i in range(-1, 2): for j in range(-1, 2): naboRad = rad + i naboKol = kol + j gyldig = True #Dersom naborad og naboKol er like rad og kol betyr det at plassen vi er på er # den hunden som vi kaller metoden fra. En hund er ikke nabo med seg selv if naboRad == rad and naboKol == kol: gyldig = False #Dersom naboraden er en plass som er utenfor self._hundeliste er ikke plassen gyldig if naboRad >= self._rader or naboRad < 0: gyldig = False #Dersom naboraden er en plass som er utenfor self._hundeliste er ikke plassen gyldig if naboKol >= self._kolonner or naboKol < 0: gyldig = False if gyldig: naboliste.append(self._hundeliste[naboRad][naboKol]) return naboliste def hentHund(self, rad, kol): return self._hundeliste[rad][kol] def skrivUt(self): for rad in self._hundeliste: for hund in rad: print(hund.hentHund(), end=" | ") print()