Abstracted the agent_step function into two functions: storeReward and takeAction. These are also used by agent_end and agent_start respectively. The tests have been written for both of these too.
Problem: Piece tracking
When chasing the goal, actions will be assigned to the piece that may collide with other blocks in the field. There is no easy way of finding out when this happens given the current data. The only idea I have is a check that the action given was the action taken. I.e check at the start of agent_step (and agent_end) that the piece is where it should be. However, that requires a y-coord. Dammit!
Just realised that rotation also needs to know the ceiling height, thus the y-height. Double crap.
I think I’ll overlook the problem for now and assume that the only obstacles are the walls. In a large environment where every Tetromino is dropped, it wouldn’t matter. I’ll take care of it later. Need to get something up and running first.
Note – Need to retrieve rotation behaviour logs from lab at some point to check how rotation is handled.
What has been done:
Implemented chaseGoal and it’s brother method, checkWallCollision. Together, they work to follow the goal the agent has set. 4/12 tests passing.