Ah a general OOP question that even a flash-noob like me can answer.
Don't just separate functions, decompose the game and the objects should fall out. Let's use an online chess game as an example.
Chess has players, moves, pieces and a board.
I'd probably build a Player.as, Move.as, Piece.as and Board.as
I might create descendants of Piece (e.g. King, Queen, Rook etc).
As you look at each function in the game put that in the class file that it has the most to do with. Drawing the board goes in Board.as. The board probably knows where the pieces are and calls Piece to draw each piece on an occupied square. Testing for check belongs in Move.as since its not legal to put your own king in check by your move. The checktest should be public as you'll want to re-use it. Testing for checkmate probably belongs in Player as at the start of each player's turn you should test to see if s/he has lost the game. That will probably involve multiple calls to checktest to see if their king can move to a square where he's not in check.

The game starts by creating 2 players and a board.
while neither player is checkmated it processes one player's turn then the other's.

Helmut Granda wrote:
I have a game class that is about 215 lines of code. Is not really big but i would like to divide this class in smaller packages so I can re-use bits of
pieces of code for new versions of the game.

The question is what are the best practices to break this code into smaller
bits and pieces? As always we dont like to help without seeing what the
person is doing already.

So here it is my idea

MainClass
-com
--utils
---func1
---func2
---func3

But some of the functions talk directly to the main class so what is the
best approach to use those extra functions? Should I pass all the strings or arrays that in need and let the functions spit back the information I need?

Help welcome... maybe a book or 2 :)



_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to