# Better representation of Board Game AI

This topic is 2539 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hello again.
I have programed a game of chess. However I have used dynamic memory allocation everywhere,when new moves are generated.This has slowed down the speed of my code.
I came up with an idea of making a multi-dimensional array, one stores the depth at which the moves are called and other stores the moves.
For this I have written a X's and O's game.
Here is the snippet.
 static int moves[][]=new int[maxDepth][boardSize] static int n[]=new int[maxDepth]; ... public static void possibleMoves(int board[][], int depth) { n[depth] = 0; // here it acts as a counter, counts the number of legal moves, this can be used in the loop to play the legalmoves. for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (board[j] == 0) { mList[depth][n[depth]++] = size * i + j; } } } }
I doesnt work though, wanted to know if my basic idea is correct or not.
Basically my AI plays continuously, without me getting a chance to play.
Is this a common problem any sort of help is welcomed.
Thank you.

##### Share on other sites
Using a two-dimensional array to store moves seems very reasonable. What you are describing sounds like a bug, which you are going to have to find yourself.

##### Share on other sites
you are going to run out of memory very quickly on any reasonable (interesting) sized game

##### Share on other sites

you are going to run out of memory very quickly on any reasonable (interesting) sized game

No, unless he is doing something very stupid, and this doesn't seem to be the case. As you perform the depth-first search that is minimax, you only need to keep around the list of moves at each node of the branch you are currently exploring, and that doesn't take much memory at all. The way he is indexing the array of moves by depth indicates he is probably doing it right.

##### Share on other sites
No, unless he is doing something very stupid, and this doesn't seem to be the case.[/quote]
But then this has always been the case.
My program now seems to be working correctly.

1. 1
2. 2
3. 3
Rutin
22
4. 4
JoeJ
17
5. 5

• 14
• 30
• 13
• 11
• 11
• ### Forum Statistics

• Total Topics
631774
• Total Posts
3002295
×