Working version. Restriction for occupied cells for human. check diagonal. check reaching line still needs to be implemented