changed heuristics to an interface
uses terminology of levels and not bonuses,
calculates the value of the whole board and not the new towers only
now calculates the heuristic value for all the towers, and not just the
new ones.
Room is now iterable of point and not block
Room's fields width and height changes to roomWidth and roomHeight to
avoid hiding of the rectangle's fields
Game is now iterable!
you can go over all the points in the room with an iterator
Game is now iterable!
uses the new iterator
-Uses the new iterator
-Uses the new constructor for BoardState
since game is iterable now, i dont need the width and height of the
room.
another change: heuristics now gets the game from it's caller (which is
the board)
any state needs to know the game he's in, in order to call the heuristic
function
uses the new classes that were changed in this push
constructs the heuritics with their new constructor