[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