LEVEL EDITOR ...
-
Hallo , ich schreibe gerade an ein C++ Konsolen Spiel
ich will ein level editor erstellen und brauche dafür eine
function, die dass, was auf der Konsole gezeigt wird in
eine txt-datei kommthabe folgendes vor: (bespiel)
#include <fstream> using namespace std; ... int level editor() { fstream datei; datei.open("datei_schreiben.txt", ios::out); cout << ".......\n" cout << ".......\n" cout << ".......\n" ... datei << //alles was ausgegeben wird... << endl; datei.close(); }
wenn man dass dann in der konsole verändert, dann soll sich das auch in der
Text datei verändernich hoffe ihr versteht, wie ich das meine
gruss: Bauer Ewald ^^
-
Das ist recht einfach zu lösen, schreib die Ausgabe in einen char Puffer. Diesen Puffer schreibst gibst du in der Konsole aus und schreibst ihn in die Datei.
-
ja aber, der char , soll ja verändert werden und dann soll der das speichern
ich will das so machen
auf der konsole:
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²dann soll mans verändern können (halt mit gotoxy + steuern usw...)
und dann soll man dass VERÄNDERT in eine text datei speichern
nur ich weis nicht wie ^^
-
Machst du Puffer:
char puffer[25][80];
Hier hat der Puffer 80 Spalten und 25 Zeilen, also Standard Textmodus.
Jedes Zeichen, das du in der Konsole an Position x y ausgibst, schreibst du in diesen Puffer an Position x y rein.
Den Puffer kannst du auch in eine Datei speichern.
-
stimmt
danke, wusteich nicht mehr -
-
@ bauer ewald
- wie hast du das realisirt, dass das jetzt 25,80 mal in der TXT
datei ist ????
-
du solltest Ausgabe und Logik trennen.
als nicht versuchen die Ausgab der Konsole als Level zu speichern sondern mach dir besser ein array
char level [80][20];
das du dann veränderst und am Ende abspeicherst.also wenn du vorher zB hattest
gotoxy (x,y);
printf ("#"); //eine wand oder sonstwas
mach einfach
level [x][y] = '#';zum level anzeigen machst du dann 2 verschachtelte Schleifen die das Level Zeichen für Zeichen anzeigen.
Oder in eine Datei schreiben.
Der einzige Unterschied zwischen level_anzeigen() und level_speichern() wäre dann
cout << level[x][y]; beim anzeigen und datei << level[x][y] beim speichern...