[Kde-games-devel] KScoreManager design
Dmitry Suzdalev
dimsuzkde at gmail.com
Fri Oct 2 16:07:17 CEST 2009
On Friday 02 October 2009 17:52:52 Dmitry Suzdalev wrote:
> > First of all, it seems like much code has been copied and adapted from
> > KHighScore/KScoreDialog. There's nothing bad about that a priori, because
> > this code has proven its stability in plenty releases. But moving to a
> > new API gives the chance of cleaning up old stuff. In this particular
> > case, much of the code (also on the presentation layer) is tossing around
> > QMap and QList objects. I'd rather use a model/view approach here, which
> > can reflect both the score tables and the groups at once.
>
> This is a really nice initiative, I'm all for it! :)
>
> > Something like a KScoreModel might also open the door to an arbitrary
> > grouping order (grouping by difficulty, by level, by level pack, etc.).
> > See the attached mockup of a KScoreModel with level packs and levels.
> > The green part of the model has a tree structure, while the blue part
> > (which is found below every leaf of the tree) has a table structure. The
> > blue part directly corresponds to what KScoreTable displays, while the
> > green part might require different interfaces. Everything of this should
> > be doable with the generic approach that the KScoreManager draft is
> > taking on the UI side.
>
> With this model you attached I can see how it can be used in both types of
> the games' highscores:
>
> For the games like katomic, kgoldrunner, kshisen, kolf (kolf2?) which use
> levelpacks, layout that you've attached is used.
>
> For the games like kmines, kblocks, klines, kreversi, and many others which
> use a system in which word "level" doesn't mean a separate realm in which
> user plays, but means "level of difficulty" I can see the model you
> proposed in the following way:
>
> It would consist of a dummy level pack which consists of several levels
> which in this case represent a difficulty levels "Easy, Medium, Hard" for
> instance.
>
> I beleive that the api then should contain some method which would allow to
> put the model/ui in either mode and contain some additional convenient api
> which would allow a class user to know nothing about this dummy pack if he
> wants to use highscores in a second mode.
>
> And games should call this api method while initializing their highscore
> system (i beleive the second method should be used by default - majority of
> games in kdegames use this highscores type).
>
> Well, these are some thougts :)
>
> Btw, If we discuss this a bit more to the point when it starts to be
> implemented, KAtomic could be the testing app for level packs feature as
> I'm in a process of adding a levelpacks support to this game :)
> (http://websvn.kde.org/branches/work/katomic-levelsets)
>
> Dmitry.
>
> PS. Sorry for my maybe cryptic English :)
>
More information about the kde-games-devel
mailing list