I am new to Java game programming. So I started with some simple games such as snake, moon lander, and I am doing sokoban now.
Following the idea of OOP, I created Player.class, Box.class, Grid.class, and some other classes for structure. When it comes to logic, I found that those classes hinder the design.
Then I realizes it would be much easier to implement sokoban just using a 2D int array, in which the integer value presents the player, box and so on.
Perhaps it is because I am a newbie and don’t know how to do things right. But I want to know what is the best way to design.