Hi
Ich hab mit C ein kleines Konsolenspiel für Windows geschrieben (Es wird ein Level generiert und ein 'X' als Männchen kann darin rumlaufen). Jetzt hab ich das Problem, dass es bei jedem Neuzeichnen des Bildschirms flackert, da ja zuerst der Bildschirm per system("cls") gelöscht wird. Soweit ich weiß ist gepuffertes Zeichnen in einer Konsole nicht möglich, was ja ansonsten die normale vorgehensweise gewesen wäre.
Ich habe mir jetzt überlegt, wie man eventuell den Ansatz von gepuffertem Zeichnen auch in der Konsole realisieren könnte und kam auf die Idee, den Bildschirm nicht zu löschen sondern einfach zu überzeichnen. Ich möchte also system("cls") weglassen und stattdessen den Cursor für das neuzeichnen des Levels einfach wieder in die obere linke Ecke versetzen und dann die alte Levelansicht überzeichnen. Gibt es eine Möglichkeit die Cursorposition in der Windowskonsole zu manipulieren? Oder gibt es vielleicht sogar eine noch bessere Möglichkeit, das Flackern loszuwerden, auf die ich gar nicht gekommen bin?
Danke schonmal für eure Hilfe!
cu, Heinzi
Ich hab mit C ein kleines Konsolenspiel für Windows geschrieben (Es wird ein Level generiert und ein 'X' als Männchen kann darin rumlaufen). Jetzt hab ich das Problem, dass es bei jedem Neuzeichnen des Bildschirms flackert, da ja zuerst der Bildschirm per system("cls") gelöscht wird. Soweit ich weiß ist gepuffertes Zeichnen in einer Konsole nicht möglich, was ja ansonsten die normale vorgehensweise gewesen wäre.
Ich habe mir jetzt überlegt, wie man eventuell den Ansatz von gepuffertem Zeichnen auch in der Konsole realisieren könnte und kam auf die Idee, den Bildschirm nicht zu löschen sondern einfach zu überzeichnen. Ich möchte also system("cls") weglassen und stattdessen den Cursor für das neuzeichnen des Levels einfach wieder in die obere linke Ecke versetzen und dann die alte Levelansicht überzeichnen. Gibt es eine Möglichkeit die Cursorposition in der Windowskonsole zu manipulieren? Oder gibt es vielleicht sogar eine noch bessere Möglichkeit, das Flackern loszuwerden, auf die ich gar nicht gekommen bin?
Danke schonmal für eure Hilfe!
cu, Heinzi