added checks to ensure player doesn't make invalid placement or place off of canvas