Well, I am finally done with the board representation. It's going to be a 0x88 engine.
Now, it's on to the FEN string stuff.
July 6, 2009
January 23, 2009
Issues with strings finally resolved!!
I know it's been a while, but I was having issues with strings....Apparently, you must include the using namespace std; when you use strings. I did not know that and spent two months beating my head against the wall....Hopefully, though, someone will not repeat my gross mistake.
November 14, 2008
Programming Issues....
I have started to program the board representation, and I am having issues with strings. Ugh!!
September 28, 2008
Object Orientation
Object Oriented programming is one concept that I really don't get, so I've been waiting until we go over it in C++ class. I've never really gotten it, and this will be the third time I've been exposed to it and hopefully the third time is the charm.
August 27, 2008
Board Representation
There are a couple of different ways to represent the board in chess. The two biggest ideas are the 0x88 and bitboards. I'm going to use the 0x88 method as it is a much easier method to implement. The bitboards, I will save for my next engine since they have a steep learning curve.
August 26, 2008
Starting Over
I have officially decided to start all over in Pebble, due to poor planning. Actually, it's not that the plan is bad, it's that I don't know how to program chess and I want to do it right. I honestly think that there is no "right" way to design a chess program, but there are hundreds, if not thousands, of wrong ways to do it. Using my gut and my head I will design a program that can hopefully(!), eventually beat me.
Okay, now that I'm starting over, I have to make a plan.
The main thing is the language that I will use. I plan on using C++. I'm taking a class on C++, and I have three books on how to learn the language. I think between them, and what I can find online, I will do fine.
Now for the Engine itself. Pebble. I plan on using Object-Oriented Programming, although I have no clue how to do it. Oh, well, I can learn.
The Objects I plan to use are:
Main-Basically tie Pebble together, and communicate with either Winboard or UCI protocol.
Board-Represent the state of the board. Keep track of the move history, whether or not en passant and castling are possible, and last but not least whose turn is it to move.
Definitions-This was not my idea for including this. It was actually the creator of Mediocre Chess who thought of it first. It's a good idea, and I hope that he doesn't get mad at me for using it.
Eval-Main part of the engine that handles move generation, evaluates the position, and makes a move.
So far, that's going to be it. If I think of anything else, I will possibly implement it.
Okay, now that I'm starting over, I have to make a plan.
The main thing is the language that I will use. I plan on using C++. I'm taking a class on C++, and I have three books on how to learn the language. I think between them, and what I can find online, I will do fine.
Now for the Engine itself. Pebble. I plan on using Object-Oriented Programming, although I have no clue how to do it. Oh, well, I can learn.
The Objects I plan to use are:
Main-Basically tie Pebble together, and communicate with either Winboard or UCI protocol.
Board-Represent the state of the board. Keep track of the move history, whether or not en passant and castling are possible, and last but not least whose turn is it to move.
Definitions-This was not my idea for including this. It was actually the creator of Mediocre Chess who thought of it first. It's a good idea, and I hope that he doesn't get mad at me for using it.
Eval-Main part of the engine that handles move generation, evaluates the position, and makes a move.
So far, that's going to be it. If I think of anything else, I will possibly implement it.
August 25, 2008
Subscribe to:
Posts (Atom)