# Lar brikkeobjekter representere brikkene class Brikke: def __init__(self, felt, brikke): self._felt = felt # a1 ¨C h8 self._brikke = brikke # bokstav def hentBrikke(self): return self._brikke stilling = {'a2':Brikke('a2','b'), 'c2':Brikke('c2','l'), 'd2':Brikke('d2','k'), 'f2':Brikke('f2','b'), 'g2':Brikke('g2','b'), 'c3':Brikke('c3','b'), 'e3':Brikke('e3','l'), 'c4':Brikke('c4','b'), 'g4':Brikke('g4','t'), 'a5':Brikke('a5','B'), 'c5':Brikke('c5','B'), 'e5':Brikke('e5','b'), 'h5':Brikke('h5','t'), 'b6':Brikke('b6','B'), 'c6':Brikke('c6','L'), 'e6':Brikke('e6','B'), 'g6':Brikke('g6','S'), 'h6':Brikke('h6','B'), 'b7':Brikke('b7','K'), 'f7':Brikke('f7','B'), 'g8':Brikke('g8','T'), 'h8':Brikke('h8','T') } gammel = {'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): # lager ordbok hvor innholdsverdiene # er referanser til brikkeobjekter 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 tegnDiagram(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 print('\n'+linje) print('\n a b c d e f g h') ordbokMedBrikkeobjekter = lagBrikkeOrdbokFra(gammel) # hvorfor gir denne feilmelding? # assert ordbokMedBrikkeobjekter == stilling tegnDiagram(stilling)