De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.

Verwante presentaties


Presentatie over: "Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben."— Transcript van de presentatie:

1 Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben

2 Inleiding Aanpak Datastructuren en Algoritmen −Map −Highscores −Graph −Backtracking Demo Vragen? Overzicht

3 Inleiding Color Crazy Kleurspel op basis van 4 kleuren probleem Qt

4 Aanpak Model-View principe Onderliggende datastructuren afschermen −Basis klasse Klasse overerving en polymorfisme −Specifieke implementatie −Overloading Voorbeeld: Highscore - HighscoreDialog −Highscore: basis klasse −HighscoreDialog: QDialog + Highscore

5 Aanpak Kleine klassen eerst Grotere klassen opbouwen Enkele klassen per teamlid Bespreking

6 Aanpak UML

7 Aanpak Extras: Interactieve muis cursor (penseeltje) −Realtime hertekent met geselecteerde kleur −Enkel actief over “kleurbare” gebieden Tooltips −Naam van provincie verschijnt Zoom −‘+’ of ‘-’ knop −Muis scroll

8 Datastructuren en Algoritmen: Map Provincie: lijst van punten Land: lijst van provincies Map: lijst van landen Onbekend aantal elementen Altijd hele lijst doorlopen −Willekeurige toegang niet nodig Dubbele gelinkte lijst (STL list) −Invoegen en verwijderen: constante tijd −Voorwaarts en achterwaarts doorlopen

9 Datastructuren en Algoritmen: Highscores Score: naam, tijd, kleuren, stappen Highscore: lijst met scores Dubbele gelinkte lijst? −Maximum scores bekend, redelijk klein, preallocatie? −STL sort verwacht willekeurige toegang Dynamische array (STL vector) −Achter invoegen en verwijderen: constante tijd −Willekeurige toegang Sorteren (STL sort) −Complexiteit: O(n log n)

10 Datastructuren en Algoritmen: Graph Graaf met kleur van provincies Dunne graaf: −Provincie is waarschijnlijk niet buur van elke andere provincie Adjacency-list implementatie (STL list) −Pointers naar andere provincies (buren) −Provincie: eigen lijst van buren

11 Datastructuren en Algoritmen: Backtracking Vervolledigen van een kaart Geschiedenis bijhouden van geplaatste stappen −Bitmask: lijst van geprobeerde kleuren (index) 01010 = Rood en Groen geprobeerd −Volgende te proberen kleur Blauw −Pointer naar provincie/land Bij terug gaan, enkel de laatste geplaatste stap inspecteren Stack (STL stack): push en pop −Deque: Achter invoegen en verwijderen: constante tijd

12 Datastructuren en Algoritmen: Backtracking 1. Initialisatie 2. “Dubbels” ongedaan maken en opnieuw initialisatie 3. Kijk naar vorige stap, naar “volgende-te-proberen kleur”: −Provincie wit kleuren? Kleur provincie wit, pop laatste stap, zet nieuwe kleur voor vorige provincie. −Laatste stap komt niet overeen met kaart? Provincie gewoon inkleuren, indien nodig eerst wit kleuren. 4. Als kaart niet “vast” zit: −Kleur provincie met buren met de meest verschillende kleuren −Push nieuwe stap 5. Anders: −Laatste provincie wit kleuren −Andere kleur gereed zetten −Indien er geen andere kleur mogelijk is, kleur provincie wit, pop laatste stap, en zet nieuwe kleur voor vorige provincie Provincie 1 Provincie 2 Provincie 3 Provincie 4 Provincie 7 Provincie 6 Provincie 5 Initialisatie Stack

13 Datastructuren en Algoritmen: Backtracking Vragen van hint: 1. Maak kopie van kaart en vervolledig = “oplossing” 2. Zoek “mismatch” waar originele provincie gekleurd is: −Maak die provincie wit 3. Anders: −Kleur een witte provincie met zijn overeenkomstige kleur van oplossing

14 Demo

15 Vragen ?


Download ppt "Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben."

Verwante presentaties


Ads door Google