i wanna write a othello programm myself.i Googled a platform to test programm.that's very good i think.there is a abstract player(source attached) .i don't how to start it.any good-heart people can give me a sample?
use the alpha-beta search is i want to do.

THANKS soooooooooo much

Recommended Answers

All 2 Replies


I'm writing a chess program,
So I might be able to help a little, you would obviously need alpha-beta pruning.
I guess you would use iterative deepening with that.
I'm not sure if Quiescent Search applies because every move is a capture, so position will never go quiet.
I think transposition tables is a good idea, I'm in the middle of putting them in now, but they are a bit fiddly.
I think the hard bit is working out how to make an evaluation function, with chess, you have lots of things, mainly the material balance, pawn structure, king safety, piece position to look at, but its more abstract in othello.
I just noticed in your AbstractPlayer file, you have a 2D array for your board, thats not necessary, I think a 1D array from 0-63 is better, then you just index x by index%8, and y by 7-index/8, or something like that.
Its a little pointless trying to express ideas using messages, it can take forever to explain something, so you can messenger me if you want at cms271828@yahoo.co.uk or colin-java@hotmail.com.


There is more material available for developing AI for chess. This is because it is more popular than othello. A good start would be to go through AI by Kevin & Knight. Then go through online resources for chess programming. TSCP is a really good starting point. Search for it on the web. Then, having understood the concepts in a solid way, apply them to othello. You will find it easier as evaluation function in case of othello is far less complex as compared to that of chess. I am also thinking of building AI for othello in Java after a month or so. All the best.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.