Le 25/3/15 16:32, Laura Risani a ��crit��:
@olivier
I guess that playing to test them should be considered to work.

@kilon
Mail me back if you do develop a game adding from you graphical capabilities.

@stepharo ,��Ben��
Code review would be nice!

I've tried to chose the most meaningful names, yet i didn't discuss this with anyone, what would be adequate since communication is interpersonal. If you show me, telling why, you think another name would communicate better instead a current one i'll change it. Also i'd like more people to have an opinion on this.

I agree that games' director names are meaningless, seems that something like '(BG)DirectorOfGameName' would communicate better and be more practical since when you type 'BGDirector' code completition will show all the existing game director subclasses, that is all the games.

@stepharo
I subclass from��Matrix��BGBoardSpace and��DPPieceLayout. These ��are respectively��matrix arrangements of places (BGBoardPlace) and squares (DPSquare) that (potentially) need to understand all��Matrix��interface in addition to extending it (for example class side methods for instantiating particular space cases like level spaces, instance side methods for telling space properties). I think it's like having to model��matrix��of numbers that would need to support all math��matrix��operations, why not to subclass? why to rewrite all��matrix��interface?
Favor subtyping over subclassing.
A subclass Matrix should be a specific Matrix with matrix behavior.

Subclassing is not a really good practice. It is code reuse but this is short term.
Imagine that tomorrow we put some eigenvalues in Matrix will this eigenValue make sense for your board. I do not think so.

Following the same we removed in Pharo
Dictionary as subclass of Set.
Now dictionary is a subclass of HashedCollection.

We did not because it did not work but because it sucked and let to all kind of understanding problems.

Composition takes place at the level of BGBoard and��DPPiece (which are respectively composed by aBGBoardSpace and aDPPieceLayout), so substitution could occur there if you need a non��matrix��space (is that to be expected?).
Why do you think composing��BGBoardSpace and��DPPieceLayout would be better?




On Wed, Mar 25, 2015 at 9:01 AM, Ben Coman <btc@openinworld.com> wrote:
One pattern is that the main application class be fully named, leaving the mnemonic prefix for the support classes.
cheers -ben��

On Wed, Mar 25, 2015 at 4:14 PM, stepharo <stepharo@free.fr> wrote:
Hi laura

I would do a massive rename :)

EDirector new play.
does not tell me anything

BPDirector new play.
DPDirector new play.
GDirector new play.

neither :)

Stef

Le 24/3/15 15:41, Laura Risani a ��crit��:
Hi all,

A time ago i posted two board games on the list and��St��phane said that he would like to extract from these and other ones he has gathered a framework for doing board games. So i developed a little one called 'Boardician' and implemented four little example games through it.

DOCUMENTATION

DOWNLOAD
You can install configuration BgBoardician from Configuration Browser on 3.0 and 4.0 . This will download packages of framework (BgBoardician) and example games (BgBoxPush, BgEatBullet, BgDropPiece, BgEatElongating)

To run example games send

EDirector new play.
BPDirector new play.
DPDirector new play.
GDirector new play.


FEEDBACK
If you like (i would really like you to) to send any feedback comments on design / names / implementation / functionalities to add / questions you can post a comment on the blog / mail me.��

Next i'll be adding tests and��uploading development history to project's repo.��

Best,
Laura