Bin auch ein bißchen weitergekommen. Stört euch das, wenn ich von der Pygame-Version schreibe? Ich halte die Themen auch allgemein, versprochen.
Ich speichere den Zustand des Playfields in Zahlen, dafür lösche ich beim Zeichnen ausnahmsweise nicht die Oberfläche, auf der der Spieler malt. Sein "Sprite" wird dann als neue Schicht darüber geblittet.
Bisher kann man rumlaufen wie bei Nibbles, und die Kollision wird geprüft (mit dem Playfield in Zahlen, nicht durch Abfrage der Bildschirmfarben).
Bei dem Original-Qix ist es tatsächlich so, daß man auf die Linie laufen kann, und sobald man das tut, wird gefüllt. Bei mir wird man vorerst noch vor der Linie gestoppt (das andere Verhalten kommt später).
Jetzt fehlt eigentlich (mehr oder weniger) nur noch das Füllen. Das werde ich wie EgonOlsen71 machen: Ausgehend vom Gegner (dem Qix) füllen, dann invertieren. Ist wohl die beste Lösung. Wie gesagt habe ich den Zustand des Playfields in Zahlen, das heißt in einem Array (of Array). In diesem Array werde ich das Füllen machen. Erstmal nur rein in Zahlen. Und wenn es fertig ist, den Zustand des Playfields aus dem Array auf den Bildschirm übertragen. Dürfte machbar sein.
Also, so'n Hexenwerk ist Qix in der Programmierung nun auch wieder nicht. Läßt sich schon machen. Aber geniale Spielidee.
Code (version 0.1). Geschrieben in Python 2.7; kann sein, daß man für neuere Versionen noch kleinere Anpassungen machen müßte.