# Klassen zur Modellierung einer Lernkarte # Autor: KB # Datum: 16.06.09 # Deklaration der Klasse Karte class Karte(object): def __init__(self, stichwort, erlaeuterung): self.stichwort = stichwort self.erlaeuterung = erlaeuterung # Deklaration der Klasse Kartenstapel class Kartenstapel(object): def __init__(self): self.karten = [] def getKarte(self, index): if index > -1 and index < len(self.karten): return self.karten[index] else: return None def getMaxIndex(self): return len(self.karten)-1 def karteHinzufuegen(self, stichwort, erlaeuterung): self.karten = self.karten + [Karte(stichwort, erlaeuterung)] def karteLoeschen(self, index): if index >= 0 and index <= self.getMaxIndex(): self.karten = self.karten[0:index] + \ self.karten[(index+1):len(self.karten)] # Deklaration der Klasse Kartenmanager class Kartenmanager(object): def __init__(self): self.kartenstapel = None self.indexAktuelleKarte = -1 def setKartenstapel(self, kartenstapel): self.kartenstapel = kartenstapel def anfangKartenstapel(self): if self.kartenstapel.getMaxIndex() > -1: self.indexAktuelleKarte = 0 def endeKartenstapel(self): if self.kartenstapel.getMaxIndex() > -1: self.indexAktuelleKarte = self.kartenstapel.getMaxIndex() def weiterKartenstapel(self): if self.kartenstapel.getMaxIndex() > -1 and \ self.indexAktuelleKarte < self.kartenstapel.getMaxIndex(): self.indexAktuelleKarte = self.indexAktuelleKarte + 1 def zurueckKartenstapel(self): if self.kartenstapel.getMaxIndex() > -1 and \ self.indexAktuelleKarte > 0: self.indexAktuelleKarte = self.indexAktuelleKarte - 1 def aktuelleKarteLoeschen(self): if self.kartenstapel.getMaxIndex() > -1: self.kartenstapel.karteLoeschen(self.indexAktuelleKarte) if self.indexAktuelleKarte > self.kartenstapel.getMaxIndex(): self.indexAktuelleKarte = self.indexAktuelleKarte - 1 def karteHinzufuegen(self, stichwort, erlaeuterung): self.kartenstapel.karteHinzufuegen(stichwort, erlaeuterung) self.indexAktuelleKarte = self.kartenstapel.getMaxIndex() def getAktuelleKarte(self): if self.indexAktuelleKarte >= 0 and \ self.indexAktuelleKarte <= self.kartenstapel.getMaxIndex(): return self.kartenstapel.getKarte(self.indexAktuelleKarte) else: return None