[Kde-games-devel] kblocks single game new implementation...

Mauricio Piacentini piacentini at kde.org
Sun Dec 13 13:31:15 CET 2009


On Mon, Nov 30, 2009 at 11:23 AM, Dapeng Zhang
<zhangd at informatik.uni-freiburg.de> wrote:
> Hi,
>
> Tadeusz Andrzej Kadłubowski wrote:
>> Either start a branch of kblocks somewhere in /branches/kblocks/
>> new_cool_AI_and_stuff/, or just put it in /trunk/playground/games/
>> kblocks-refactoring/ or something. Anyway, working within KDE's SVN
>> will expose your work to other developers. Just don't break /trunk/
>> KDE/kdegames/kblocks/ for now.
>>
>> Best regards, your UML diagrams made a lot of sense to me.
>>
>
> I committed to trunk/playground/games/kblocks-refactoring/
>

Hi. I spent some time with the code and the app and have some feedback
to give you, and also some questions to the kdegames members regarding
it :)

First of all, congratulations. The implementation according to your
UML is cool, and there is the separation (as far as possible) of game
logic and some QGV internals. I found some minor issues that would
have to be corrected, though:

a) When you change difficulty, the game does not warn you that it will
be terminated, as the original KBlocks. You can switch from one to
another to test: start a game, select a new difficulty on the status
bar to test.

b) There is no message when you pause or resume a game. Also, the
state of the buttons in the interface is confused when you pause for
example and start a new one using the difficulty popup. I think this
is related to issue a somehow.

c) There is a caching problem with SVG elements and switching themes.
To test, start a game. Then go to configure and switch from egyptian
to oxygen, or vice-versa. Some element will not be updated. If you
scale the window then everything will be right. Tip: I believe this is
the old issue when you put elements in cache just with the name and
dimensions as keys, it might be good to add the theme name as well (I
believe we did this on KMines a while ago)

d) Copyright information on some files is not quite right. I would
prefer if you keep the copyright of the original author (me) and add
yours on a second line. I understand you probaby started a new
template project and some of this info was lost, no biggie.

As for replacing the current KBlocks with this one after 4.4 ships: I
would agree with this if you take over maintainership for this code,
maybe with someone as a backup. I ask you to take over maintainership
as I feel that the current code is easier for me to maintain: it has
no known bugs, fewer files, fewer classes, and I do not mind the
logic/presentation mix for simple games like this, which was supposed
to be single player only by design. This has maybe to do with my
background, which is not in computer science or engineering.

So, hard question :) Are you planning to stay around at least until
4.6 ships, and take care of KBlocks until then? If you are, then
welcome! I believe you just need to correct the issues above and then
you can move the refactoring to trunk after 4.4 ships, and start
implementing your AI and multiplayer ideas as well.

People, comments?

Best regards,
Mauricio Piacentini


More information about the kde-games-devel mailing list