Небольшие поправки и объяснения предыдущих.

- Direction отвечает за направление змеи.
- Square переименовал в Block. Так красивее
- World не должен наследоваться от JPanel он лишь некий контейнер все�
объектов.
- Нужно придумать некий класс типа Screen который мы унаследуем от
JPanel он и будет отрисовывать все объекты из World.
- CollisionDetector будет отвечать за столкновения.

Некоторые классы скорее всего придется убрать типа MyFrame, MyPanel,
FieldWall.
- FieldWall же наследуется от Wall , надо просто обобщить Wall, а не
плодить ненужные классы.