Karten per Drag&Drop einsortieren - Modellierung?
Verfasst: 19. November 2010 11:35
Hi Forum,
ich hab die etwas komplexere Aufgabe bekommen, einen Korrekturmodus für Zufalls-Karten zu programmieren.
Man muss sich das so vorstellen: Der User bekommt eine zufällige Reiehnfolge von Karten gezeigt die er sich möglichst schnell einprägen soll. Danach erschein der hier vorgestellte Korrekturmodus in dem die Reihenfolge rekonstruiert werden soll - je schneller, desto mehr Punkte (am besten Ihr schaut euch erstmal das Attachment an).
Folgende Funktionen sollen implementiert werden:
- Karten können beliebig verschoben werden:
--Wenn sie schon in einer Lücke sind können Sie auch in eine andere Lücke verschoben werden
-- Karten können in die Ausgangsliste zurückgelegt werden
- Wird eine Karte über eine belegte Lücke gezogen erscheint ein "Rechts/Links-Overlay" (erkennbar im Attachment). Dropt man sie dann z.B. auf der rechten Hälfte (markiert mit "R"), wird die aktuelle Karte(also die die sich momentan in der Lücke befindent) eins nach links verschoben. Ist dieses Feld ebenfalls belegt, wird dies rekursiv fortgeführt bis maximal zum Anfang der "Lückenliste". Die erste Karte würde dann rausfallen d.h. zur Ausgangsliste zurückgelegt werden. Analog dazu der Drop auf der linken Kartenhälfte.
- ist man sich bei der Lücke unsicher, so sollte dies irgendwie Markierbar sein. Evtl per Leertaste. Die Toggelt dann ein rotes "?" das als Overlay über die zuletzt gedroppte Karte einblendet wird.
Nun meine Fragen hierzu , die eher architektonischer als syntaktischer Natur sind:
1. welche Klassen würdet Ihr verwenden
2. sollte man versuchen das ganze eher mit dem Graphics View Framework zu machen und einzelne Mauspositionen abfangen oder doch lieber jedes Objekt einzeln Modellieren da es ja auch Informationen in sich trägt
3. Ich hab mir mal BEIDE "Puzzle"-Beispiele von QT angeschaut:
http://doc.trolltech.com/4.7/draganddrop-puzzle.html
http://doc.trolltech.com/4.7/itemviews-puzzle.html
meint ihr man könnte diese Ansätze soweit umfunktionieren, dass die oben genannten Punkte mit einbaut werden?
Freue mich schon auf eure Resonanz!
Grüße aus München
ich hab die etwas komplexere Aufgabe bekommen, einen Korrekturmodus für Zufalls-Karten zu programmieren.
Man muss sich das so vorstellen: Der User bekommt eine zufällige Reiehnfolge von Karten gezeigt die er sich möglichst schnell einprägen soll. Danach erschein der hier vorgestellte Korrekturmodus in dem die Reihenfolge rekonstruiert werden soll - je schneller, desto mehr Punkte (am besten Ihr schaut euch erstmal das Attachment an).
Folgende Funktionen sollen implementiert werden:
- Karten können beliebig verschoben werden:
--Wenn sie schon in einer Lücke sind können Sie auch in eine andere Lücke verschoben werden
-- Karten können in die Ausgangsliste zurückgelegt werden
- Wird eine Karte über eine belegte Lücke gezogen erscheint ein "Rechts/Links-Overlay" (erkennbar im Attachment). Dropt man sie dann z.B. auf der rechten Hälfte (markiert mit "R"), wird die aktuelle Karte(also die die sich momentan in der Lücke befindent) eins nach links verschoben. Ist dieses Feld ebenfalls belegt, wird dies rekursiv fortgeführt bis maximal zum Anfang der "Lückenliste". Die erste Karte würde dann rausfallen d.h. zur Ausgangsliste zurückgelegt werden. Analog dazu der Drop auf der linken Kartenhälfte.
- ist man sich bei der Lücke unsicher, so sollte dies irgendwie Markierbar sein. Evtl per Leertaste. Die Toggelt dann ein rotes "?" das als Overlay über die zuletzt gedroppte Karte einblendet wird.
Nun meine Fragen hierzu , die eher architektonischer als syntaktischer Natur sind:
1. welche Klassen würdet Ihr verwenden
2. sollte man versuchen das ganze eher mit dem Graphics View Framework zu machen und einzelne Mauspositionen abfangen oder doch lieber jedes Objekt einzeln Modellieren da es ja auch Informationen in sich trägt
3. Ich hab mir mal BEIDE "Puzzle"-Beispiele von QT angeschaut:
http://doc.trolltech.com/4.7/draganddrop-puzzle.html
http://doc.trolltech.com/4.7/itemviews-puzzle.html
meint ihr man könnte diese Ansätze soweit umfunktionieren, dass die oben genannten Punkte mit einbaut werden?
Freue mich schon auf eure Resonanz!
Grüße aus München