bewegte Bildausgabe
-
Hallo alle mit einander,
nachdem ich hier des öfteren schon gestöbert habe wollte ich gerne mal eure Hilfe in Anspruch nehmen.Ich bin blutiger Anfänger und beschäftige mich im moment mit Arrays.
In meinem jetzigen Quellcode habe ich das Problem das ich durch den wiederholten Bildaufbau den Zyklus sehe in dem die Konsole die Ausgabe schreibt.
Gibt es den eine Möglichkeit das die Konsole das Ausgegebene erst Anzeigt wenn
der komplette Text geschrieben ist ? Oder ein Zeichen an eine bestimmte Stelle in der Konsole zu delegieren?Quellcode :
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std ;
int a,b,c,d;
int e,g=60,f=30,h=0;
char Bild [60][60];//Array deklarieren
int main (){
for ( a=0;a<60;a++ ){ // Array
for ( b=0;b <60;b++ ){ //automatisch
((Bild+a)+b)=0; //mit Zeiger
cout<<Bild [a][b];} //füllen
cout<<endl ;} //bis hier
int eingabe ;
do{
eingabe=getch();//auswahl des zu beschreibenen Feldes
if (eingabe =='8'){g-=1;}
else if (eingabe =='2'){g+=1;}
else if (eingabe =='4'){f-=1;}
else if (eingabe =='6'){f+=1;}
((Bild+g)+f)=2; //Feld füllen
system("cls"); // Bildschirm löschen
for ( d=0;d <60;d++ ){ //Array neu ausgeben
for ( e=0;e <60;e++ ){
cout<<Bild [g][f];}
cout<<endl ;} // bis hier
((Bild+g)+f)=0;} // vorher umgeschriebenes Arrayfeld wieder zurücksetzen
while(h==0); // Schleife
return 0 ;
}
-
Du kannst dir erst die komplette Ausgabe zeilenweise/displayweise als String erzeugen und dann ausgeben.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ein neuer schrieb:
Hallo alle mit einander,
nachdem ich hier des öfteren schon gestöbert habe wollte ich gerne mal eure Hilfe in Anspruch nehmen.Ich bin blutiger Anfänger und beschäftige mich im moment mit Arrays.
In meinem jetzigen Quellcode habe ich das Problem das ich durch den wiederholten Bildaufbau den Zyklus sehe in dem die Konsole die Ausgabe schreibt.
Gibt es den eine Möglichkeit das die Konsole das Ausgegebene erst Anzeigt wenn
der komplette Text geschrieben ist ? Oder ein Zeichen an eine bestimmte Stelle in der Konsole zu delegieren? Ups es hatte sich ein Fehler im Code eingeschlichen da ich vorher noch was probiert hatte deshalb noch mal das selbe. FAST !Quellcode :
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std ;
int a,b,c,d;
int e,g=60,f=30,h=0;
char Bild [60][60];//Array deklarieren
int main (){
for ( a=0;a<60;a++ ){ // Array
for ( b=0;b <60;b++ ){ //automatisch
((Bild+a)+b)=0; //mit Zeiger
cout<<Bild [a][b];} //füllen
cout<<endl ;} //bis hier
int eingabe ;
do{
eingabe=getch();//auswahl des zu beschreibenen Feldes
if (eingabe =='8'){g-=1;}
else if (eingabe =='2'){g+=1;}
else if (eingabe =='4'){f-=1;}
else if (eingabe =='6'){f+=1;}
((Bild+g)+f)=2; //Feld füllen
system("cls"); // Bildschirm löschen
for ( d=0;d <60;d++ ){ //Array neu ausgeben
for ( e=0;e <60;e++ ){
cout<<Bild [d][e];}
cout<<endl ;} // bis hier
((Bild+g)+f)=0;} // vorher umgeschriebenes Arrayfeld wieder zurücksetzen
while(h==0); // Schleife
return 0 ;
}
-
ich verstehe leider nicht wie Du das meinst.
Ist den die Ausgabe einer Seite Strings schneller als eine Seite Array ?
Denn ich müsste ja alle Zeilen ausgeben um den Cursor nach unten zu bekommen , oder ?
-
ich habe das Problem gelöst