Ich würde dir erstmal raten, den Cursor für Pacman auszuschalten und stattdessen den Spieler durch einen Buchstaben zu repräsentieren (evtl. farbig). Da der Spieler ja seine Position und evtl. noch paar mehr Werte braucht empfielt sich eine Klasse.
Jetzt könntest du z.b. für deine Gegner auch eine Klasse erstellen, die von der Spielerklasse erbt und zusätzlich noch methoden dafür hat, wie sich die Gegner bewegen sollen.
Für die Kollision gibt es ja im wesentlichen 2 Fälle:
Figur - Map (Mauer o.ä.)
Figur - Figur
Für den ersten Fall musst du eigentlich nur testen, ob an der neuen Position einer Figur eine Mauer ist -> auf alte Position zurücksetzen.
Im 2. Fall musst du testen, ob de Positionen übereinstimmen und dann je nachdem was du für ein ereignis haben willst das dann implementieren.
// naja, bisschen spät
@Koschka: ich würde ein char-array nehmen, so kann man das Spielfeld gleich unkompliziert zeichnen (sollte bei Pacman eigentlich mit dem selben Zeichen nicht Mauer und Weg geben
)