class Brikke: def __init__(self, felt, brikke): self._felt = felt self._brikke = brikke def hentBrikke(self): return self._brikke stilling = {'a2':'b', 'c2':'l', 'd2':'k', 'f2':'b', 'g2':'b', 'c3':'b', 'e3':'l', 'c4':'b', 'g4':'t', 'a5':'B', 'c5':'B', 'e5':'b', 'h5':'t', 'b6':'B', 'c6':'L', 'e6':'B', 'g6':'S', 'h6':'B', 'b7':'K', 'f7':'B', 'g8':'T', 'h8':'T' } def lagBrikkeOrdbokFra(oppstilling): brikkeordbok = {} for nkl in oppstilling: brikkeordbok[nkl] = Brikke(nkl, oppstilling[nkl]) return brikkeordbok def itererNedoverFra(fom, tom): # fra og med, til og med liste = [] while (fom >= tom): liste.append(fom) fom = fom - 1 return liste def lagBrettFra(brikkeordbok): hvit = True brett = [] r = 0 for rad in itererNedoverFra(8,1): brett.append([]) for kol in ['a','b','c','d','e','f','g','h']: felt = kol + str(rad) if felt in brikkeordbok: tegn = brikkeordbok[felt] elif hvit: # . for hvitt felt, : for svart tegn = '.' else: tegn = ':' brett[r].append(tegn) if kol != 'h': hvit = not hvit print("r=", r, "brett = ", brett) input("Fortsett?") r = r + 1 return brett def tegnDiagram2(brikkeordbok): hvit = True for rad in itererNedoverFra(8,1): linje = str(rad)+' ' for kol in ['a','b','c','d','e','f','g','h']: felt = kol + str(rad) if felt in brikkeordbok: tegn = brikkeordbok[felt].hentBrikke() elif hvit: # . for hvitt felt, : for svart tegn = '.' else: tegn = ':' linje = linje + tegn + ' ' if kol != 'h': hvit = not hvit # neste felt skal ha omvendt farge, # men ikke f?rste felt p? neste rad print('\n'+linje) print('\n a b c d e f g h') # tegnDiagram2(lagBrikkeOrdbokFra(stilling)) sjakkbrett = lagBrettFra(stilling) for rad in sjakkbrett: print(rad) print(sjakkbrett) # Oppgave. Hva blir resultatet av dette kallet? print(lagBrettFra([]))