Я бы так не поступил.
Я бы нарисовал графическую карту, а затем создал бы двумерный массив данных, который представляет карту. Карта данных будет отвечать за определение столкновений, употребление точек, где находятся конфеты и где призраки. Как только вся логика для всего будет обработана, просто используйте 2D-массив, чтобы отобразить все в правильных пиксельных координатах на графической карте.
Например, пользователь нажимает левую клавишу. Сначала вы определяете, что pacman находится в элементе 3, 3. Элемент 3, 2 содержит информацию, обозначающую стену, чтобы вы могли реализовать код, чтобы заставить его игнорировать команду.
EDIT:
Каждый элемент будет представлять, где может быть точка. Например:
Нет, глядя на доску, я бы сказал, что массив будет выглядеть примерно так.
d,d,d,d,d,d,d,d,d,d,d,d,w,w,d,d,d,d,d,d,d,d,d,d,d,d
d,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,d
p,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,p
d,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,d
d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d
И так далее. Возможно, вы захотите выбрать более гибкую структуру данных, чем просто символы, так как некоторые области должны содержать кучу различной информации. То есть, даже несмотря на то, что область появления призраков пуста, pacman не допускается туда. Движение призраков и пакманов различно для побегов, точка возрождения конфет - пустое место, но если вы хотите сохранить гибкость, вам нужно будет указать, где это находится для каждой карты.
Еще одна вещь, которую вы должны помнить, это то, что pacman и призраки часто находятся между точками, поэтому для обнаружения столкновений важна информация, представляющая процент пространства, которое они занимают между 1,2 и 1,3, так как а также определить, когда вы хотите удалить точки, бонусы и конфеты с доски.