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 kommt

    habe 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ändern

    ich 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...


Anmelden zum Antworten