public void calculate_observation()
{
this.Observation = 0;
if (this.GetPosition(X+1, Y) == CWall) {
this.Observation |= this.ORightWall;
}
if (this.GetPosition(X - 1, Y) == CWall)
{
this.Observation |= this.OLeftWall;
}
if (this.GetPosition(X, Y+1) == CWall)
{
this.Observation |= this.ODownWall;
}
if (this.GetPosition(X, Y-1) == CWall)
{
this.Observation |= this.OUpWall;
}
}