from passasjer import Passasjer class Trikk: def __init__(self): self._plassPerRad = 3 self._rader = 2 self._trikk = [] def lagRad(self): rad = [] for i in range(self._plassPerRad): rad.append(None) return rad def lagTrikk(self): for i in range(self._rader): self._trikk.append(self.lagRad()) def skrivUtTrikk(self): for i in self._trikk: print(i) def nyPassasjer(self, passasjer): for radnr in range(len(self._trikk)): for plassnr in range(len(self._trikk[radnr])): if self._trikk[radnr][plassnr] == None: if self.naboer(radnr,plassnr): print("Her var det naboer, her vil jeg ikke sitte") else: self._trikk[radnr][plassnr] = passasjer return print("Her var det for mange, jeg venter p? neste trikk :-(") def naboer(self, radnr, plassnr): forran = False bakkerst = False #her er det fremst eller bakerst --> spesialtilfelle if radnr == 0: forran = True if radnr == self._rader-1: bakkerst = True if bakkerst: if self._trikk[radnr-1][plassnr] != None: return True #hvis vi sitter fremst if forran: if self._trikk[radnr+1][plassnr] != None: return True #sjekker om noen sitter foran eller bak if forran == False and bakkerst == False: if self._trikk[radnr-1][plassnr] != None or self._trikk[radnr+1][plassnr] != None: return True if plassnr == 0: if self._trikk[radnr][plassnr+1] == None: return False elif plassnr == self._plassPerRad-1: if self._trikk[radnr][plassnr-1] == None: return False else: if self._trikk[radnr][plassnr-1] == None and self._trikk[radnr][plassnr+1] == None: return False return True