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

Slides:



Advertisements
Verwante presentaties
Het maken van presentaties voor op de computer.
Advertisements

Digitaal wedstrijd formulier Presentatie scheidsrechters.
Introductie POP-applicatie (MLB) Loopbaanbegeleiding
Informatieanalyse en databaseontwerp Practicum 2 Welkom bij het practicum IID: Query’s, Orde in de Chaos.
Algoritmen en Datastructuren (ALDAT)
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Algoritmische problemen Onbeslisbaar / niet-berekenbaar Geen algoritme mogelijk Tegel- of domino-problemen Woordcorrespondentie-probleem Syntactisch equivalentie.
HTMLHTML UITLEG & CURSUS. Inleiding HTML: Hyper Text Mark-up Language.
Gegevensstructuren: list boxen en lijsten
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
Leerlijn: Programmeertechnieken, Databanken, Algoritmen Gent, 7 januari 2013 met dank aan: Annemie Vorstermans, Joost Vennekens, Koen Pelsmaekers, Jeroen.
Datastructuren Analyse van Algoritmen en O
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Lijstjes (Stacks & Queues) Onderwerp 7.
Datastructuren Zoekbomen
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Oplossen van een doolhof
Inleidend probleem Data structuur (hiërarchie van classes)
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
Optuigen van datastructuren
Lokale zoekmethoden Goed in de praktijk:
Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.
RapidRaycast Trimesteroverschrijdend Project Bjorn Schobben Domien Nowicki.
RapidRaycast Trimesteroverschrijdend Project Bjorn Schobben Domien Nowicki.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Optuigen van datastructuren Datastructuren Onderwerp 11.
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Sorteeralgoritmen. Sorteren: aanpak 1 Hoe ga je een rij getallen sorteren met PC? Sorteren door selectie (= selection sort): Zoek de kleinste waarde Sorteer.
Handleiding ClassDojo
- Telefoon - Kopiëren - Faxen - Printen - Scannen.
Welkom bij de cursus SketchUp 2014
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Polymorphisme en Interfaces: inleiding
Groep 3 Michel Wijdemans Max Italiaander Robert van Gelder.
Torens van Hanoi ● Uitgevonden door Franse Wiskundige Edouard Lucas in ● Beschreven in zijn wiskundig “spelletjesboek” Récréations Mathématiques.
Rineke Dijkstra, strandportretten (1992 – 1994)
Voorjaar 2004SAP/HR Rapportages en eenvoudige Queries1 Voorjaar 2004 SAP/HR Rapportages en eenvoudige Queries SAP/HR.
Welkom! maandag 16 November 2015 Les B-2.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
BEGINSCHERM STAAT KLAAR ? DE FOTO’S ZIJN INGEVOEGD ALSOOK DE ACHTERGROND. DE OVERGANGEN EN EFFECTEN ZIJN GEPLAATST!!!??? DAN GAAN WE, INDIEN NODIG, ER.
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
Via TEGELS | ZETTEN is de tegel Browser te openen. ( B )
Doorzoeken van grafen Algoritmiek.
Instructiekaart SpoorWeb
1. Wat gaan we vandaag doen ?
MENU: wat wil je doen? Hoe wil je het ZIEN VLOER = 2d BOVENAANZICHT
Instructiekaart SpoorWeb
Datastructuren voor graafrepresentatie
Training: Cliëntsessies
Zoekfilter instellen Handleiding
BEGINNERs EV3 PROGRAMMeer Les
VWO 6 Wiskunde C – les 1 Meneer Ypma.
Zoeken en filteren Handleiding
Zoeken en filteren Handleiding
Training: Cliëntsessies
Toepassingen van ICT aardrijkskunde Hallo allemaal,
Vernieuwde webkaart Programma welkom en inleiding presentatie
Overzicht: les 2 Het toetsenbord verkennen Apps installeren
Slim tellen.
Modderdorp UNPLUGGED Bron: csunplugged.org.
tafel van 1 tafel van 1 x 1 = 1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4
Om de PowerPoint te starten: Rapportage Indicatoren Opbrengsten
“Knuffels” Kies een spel.
“Knuffels” kleuren digibordpeuters.
tafel van 1 tafel van 1 x 1 = 1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4
Slim tellen.
Software Development fundamentals
Transcript van de presentatie:

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

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

Inleiding Color Crazy Kleurspel op basis van 4 kleuren probleem Qt

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

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

Aanpak UML

Aanpak UML

Aanpak UML

Aanpak UML

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 Meerdere landen −Provincies uit andere land mogelijk ook buren −Geen dikkere rand

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

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)

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

Datastructuren en Algoritmen: Backtracking Vervolledigen van een kaart Geschiedenis bijhouden van geplaatste stappen −Bitmask: lijst van geprobeerde kleuren (index) = 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

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

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

Demo

Vragen ?