pkffsl
Goto Top

CPP - Optimierung der Bildausgabe eines Breakout-Spiels

VS 2008

Hallo,

wir sollen in der Schule einen Breakout-Klon mit C++ und Konsolenausgabe programmieren.
Ist ja an sich nicht schwer xD
Ich hab nur ein Problem: Wenn die neue Position des Balls ausgegeben werden soll, also die alte Position gelöscht und die neue geschrieben worden ist (im char array[80][20]), hab ich mit Kanonen auf Spatzen geschossen und per system("cls") alle Ausgaben gelöscht. Da system("cls") wohl etwas länger braucht, flackert das Bild.
Frage:Kann ich den Ausgabecursor an den Anfang zurücksetzen? Oder gibt es schnellere Methoden als system("cls")?

Wer das Spiel nicht kennen sollte- hier ein Bild vom Anfangsstadium

f34eec96d4e9370b25eeebfe151b815c-breakout

MfG und Danke im voraus
pkffsl

Content-ID: 90810

Url: https://administrator.de/forum/cpp-optimierung-der-bildausgabe-eines-breakout-spiels-90810.html

Ausgedruckt am: 23.12.2024 um 14:12 Uhr

miniversum
miniversum 27.06.2008 um 20:04:47 Uhr
Goto Top
Ich habe sowas ähnliches auch mal gebraucht.
Schau mal im Internet nach der conio2.0 (http://sourceforge.net/projects/conio/). Dort gibt es einen Gotoxy-Befehl mitdem du an eine bestimmte Position des Bildschirms springen kannst. So must du nicht alles löschen sondern kanst an die alte Position des Balls springen, dort ein " " einfügen und dann direkt an die neue Position springen.
Eine cls funktion, die schneller ist gibt es dort glaube ich auch.
pkffsl
pkffsl 18.08.2008 um 13:38:43 Uhr
Goto Top
Der Volständigkeit halber:

void gotoxy (int x, int y)
{
COORD abc;
abc.X=x; /*koordinate x*/
abc.Y=y; /*koordinate y*/
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), abc );
}

und in der Main

#include<windows.h>

gotoxy (x,y);

FUNKTIONIERT