Thursday, August 9, 2012

Day 1: First ideas

Well, the time I was thinking about this go engine I displayed in my mind what classes would I need, what objects have the go game and this is the first approach (I know this will change a lot in the future, while I discover how things work):

Let's describe some of the packages and classes here:

Package: Material (will have all the "hardware" of the go game).

Class: Stone. 

Class: Board.

Package: Actors (will have the players)

Class: Actor. This is an abstract class with the methods that human players and the engine will need.

Class: Human. For human players. Inherits from Actor.

Class: Engine. For the go engine. Inherits from Actor.

Class: Ruleset. Well, I still don't know if put this class on this package or put it in another. this class will have the rules of the game and will determine if a move is valid or not. I thought of this as an actor because in some way it is kind of "judge".

Package: Showing (all the ays to show information of the game goes here)

Class: Console. To show the game on the console.

Package: Start (just to have the main class).

Class: Principal. Main class.

I know this will change a lot and this is just a first sketch of the program, so I accept all kind of comments and suggestions to make this better. 

Here it is, in NetBeans:

No comments:

Post a Comment