So...I'm just gonna push this. We have to use getBestMove now in computer player. But I just realized that doesn't work for building the tree. So I'll have to change that, but I needed to do it there so that I can do the special cases for the computer player.

I changed nothing of yours, just added in my stuff. But I'm gonna read over your code tonight to understand it. Won't have internet (at the cottage) so text me instead of skype if you're gonna be working on it.