[Kde-games-devel] Review Request: Add KScore2 framework to libkdegames (implementation incomplete)
Parker Coates
parker.coates at kdemail.net
Sun Aug 8 16:07:49 CEST 2010
> On 2010-08-07 11:11:26, Parker Coates wrote:
> > Hello Stefan. So far it looks quite good, although to be honest, I'm not sure I can really give a thorough review until we get to see some UI to understand how it all comes together. ;) I see the motivation of posting the model for review before moving on, however, and thus far nothing sticks out as obviously wrong/restrictive/inflexible. :)
Hmm. How did I manage to do a double post?
- Parker
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/4919/#review6848
-----------------------------------------------------------
On 2010-08-08 13:08:47, Stefan Majewsky wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/4919/
> -----------------------------------------------------------
>
> (Updated 2010-08-08 13:08:47)
>
>
> Review request for KDE Games.
>
>
> Summary
> -------
>
> KScore2 is a new framework which ought to replace the commonly used KHighscore/KScoreDialog and perhaps also KExtHighscore. The most central class (and the point where you should start reading the APIDOX) is KScore2::Model.
>
> KScore2 makes use of the Model/View concept to create a simple, extensible, yet future-proof API. Contrary to KScoreManager (the other new highscore library which is in playground/games ATM), KScore2 is designed such that no assumptions about the internal data structures are included in the public interfaces. Its API makes simple tasks easy and complex tasks achievable.
>
> Many KDE games have, over the years, grown their own highscore systems. KScore2 allows to accomodate these special needs: The score model can be made to retrieve its data from arbitrary locations by writing a custom KScore2::Engine subclass. Similarly, a KScore2::CategoryModel can be implemented to support custom highscore grouping (e.g. by difficulty, by level, or by levelpack and level). As an example, the KGameDifficulty::categoryModel() contains the difficulty levels for this application. The internal selection is automatically updated to match the selected difficulty level, so showing the highscore table for the current difficulty level becomes a one-liner.
>
> What I'm presenting here is my current working state. Several things are missing:
> * the implementation for KScore2::Model::addScore() plus the relevant logic in the KScore2::Dialog class
> * unit tests
> * API for gathering game statistics (like KPat and KReversi do; I want input on this one!)
>
> The code is also available from my Git-SVN repository at git://git.bethselamin.de/kdegames-work.git (branch "kscore2").
>
>
> Diffs
> -----
>
> /trunk/KDE/kdegames/kdiamond/src/mainwindow.cpp 1160372
> /trunk/KDE/kdegames/libkdegames/CMakeLists.txt 1160372
> /trunk/KDE/kdegames/libkdegames/kgamedifficulty.h 1160372
> /trunk/KDE/kdegames/libkdegames/kgamedifficulty.cpp 1160372
> /trunk/KDE/kdegames/libkdegames/kscore2/categorymodel.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/categorymodel.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/dialog.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/dialog_p.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/engine.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/engine.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/flags.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/flags.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/model.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/model.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/model_p.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/record.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/record.cpp PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/recordformat.h PRE-CREATION
> /trunk/KDE/kdegames/libkdegames/kscore2/recordformat.cpp PRE-CREATION
>
> Diff: http://reviewboard.kde.org/r/4919/diff
>
>
> Testing
> -------
>
> The score display of KDiamond has been ported. It is able to read the scores which are at the moment still written by KHighscore.
>
>
> Screenshots
> -----------
>
> Relation of the different data sources in KScore2
> http://reviewboard.kde.org/r/4919/s/473/
> First KScore2 integration in KDiamond
> http://reviewboard.kde.org/r/4919/s/474/
>
>
> Thanks,
>
> Stefan
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-games-devel/attachments/20100808/358eb0e4/attachment-0001.htm
More information about the kde-games-devel
mailing list