Records of Thinking

Record of thinking #1

	I have sent an email to Mr. Kiang requesting a project switch from
virtual blackjack: HitMe, to a partnership with Jaz in virtual chess:
CleverName-Check. I haven't received a formal response but think it
will be all right to proceed as previously arranged as we were recently
told more about the possibility of partnering up. Switching as early as
possible is definitely better than waiting longer. Luckily Jaz is also
still primarily planning things out. We both haven't done too much
coding as much as we have been discussing the overall layout of the
project though. We have a general sense of how to set up the board and
graphics in gridworld. We're mainly figuring out how the different
classes will come together. Currently we are strategizing how to code a
class for each different piece and how they'll know things like moves
and what not.

Record of thinking #2

	Project has taken a change since the last update. Firstly, I have been
transferred on the project to specifically be working on an AI computer
to play against a human player. After discussion with Mr. Kiang in
class, it was decided that merely collaborating with Jaz to make a
two-player game did not justify having both of us collaborate.
Henceforth my work shall be programming an AI.
	Second major change is that the game is no longer chess but instead
checkers. This was suggested by Mr. Kiang and thought about by both of
us a little before then as well. It was a logical decision because
major components of the game would remain the same such as the board on
gridworld, the interface. Just there would be a lot less variation on
pieces to worry about which simplifies things.
	All these changes to my project work are definitely setting me back
but will hopefully be good in the long run. The most complicated thing
for me right now is figuring out how the AI will actually function. I
plan to have it prioritize pieces and narrow its search by recognizing
threats and moving accordingly.

Record of thinking #3

	Things are moving along now although there's still much to be done.
I've done more work on the inDanger() method which will help me narrow
my search through pieces and select more educated moves. I've also
received very important ideas and aid from Zach Taira and Wyatt Smith.
Zach has aided me in figuring out how to find a way to have pieces
defensively block and cover pieces in danger and other such strategies.
Wyatt has given me great ideas on how to fix major general problems.
One was to change my class to be run through an actor that extended
bug. That fix was what allowed me to use the getGrid() method in my
code, something I definitely couldn't have done without. He also
suggested using World.step() to implement a turn system for the AI and
player since we were having problems with that.
	The biggest concern I have is that as Jaz has been working on her side
of the project, I've been unable to really test my program. As she had
problems getting the player controls to work I've done some help in
implementing those but the full interface has yet to be completed with
a turn system which of course is the big downside to doing a
comprehensive partner project like this one.