[Novize] DOS-Anwendungs - neu zeichnen lassen?!
-
Hallo Leute!
Ich versuche mich im Moment mit dem kniffligen MS-DOS drawing. Möchte eine kleine Spielfläche visuell darstellen. Ebenfalls möchte ich das Ganze über eine Funktion neu zeichnen lassen wobei x|y Koordinaten die Position eines Punktes im Feld jeweils beeinflussen.
Dazu kenne ich den ASCII Carriage Return den ich nutzen kann um auf den Anfang einer Line zu kommen. Jedoch liegt mein Cursor ziemlich weit unten - demnach muss ich irgendwie in die Vertikale kommen um das komplette Abbild neu zu erzeugen. Vertical Tab hat hier NICHT seinen Dienst getan.
Ich habe das Ganze damals in nem Lernbuch gemacht - leider finde ich das Kapitel nicht mehr.
Bitte um Hilfe!
Wen es interessiert - mein kleiner Versuch:
/* KI Projekt v.0.1 (C) Patrick Höfer Entwicklungszeitraum: 22.10.2013 bis X */ #include <iostream> void genFrame(int, int); char TAB = 9; char VERT = 11; char SOL = 13; char BELL = 7; #define width 20 #define height 10 using namespace std; int main() { int x_Pos = 15; int y_Pos = 5; genFrame(x_Pos, y_Pos); system("Pause"); } void genFrame(int x_Pos,int y_Pos) { int x = 0; int y = 0; char fieldBorders[0][0]; cout << TAB << TAB << TAB << "KI-Projekt v.0.1 (c) Patrick Hoefer" << endl << endl; cout << endl << TAB << TAB << TAB << TAB; for(x = 0; x < width; x++) { // Oberkante Spielfeld fieldBorders[x][y] = 'x'; cout << fieldBorders[x][y]; } cout << endl; for(y = 0; y < height; y++) { // Hauptteil Spielfeld cout << TAB << TAB << TAB << TAB; // for(x = 0; x < width; x++) { // if((x == 0) || (x == width-1)) { // fieldBorders[x][y] = 'X'; // } else if((x == x_Pos) && (y == y_Pos)) fieldBorders[x][y] = 'O'; else fieldBorders[x][y] = ' '; cout << fieldBorders[x][y]; if(x == width-1) cout << endl; // } // } // cout << TAB << TAB << TAB << TAB; // Hauptteil Ende Spielfeld for(x = 0; x < width; x++) { // Unterkante Spielfeld fieldBorders[x][y] = 'x'; cout << fieldBorders[x][y]; } cout << endl << endl << endl << endl << endl; }
-
Der vorliegende Quellcode hat erstmal garnichts mit CLI/.NET zu tun ->falsches Forum
Soll das auf allen Systemen laufen ?
Wenn Windows als Zielplattform reicht; da haben wir vor einigen Tagen bereits einen entsprechenden Beitrag diskutiert:
http://www.c-plusplus.net/forum/320735
Die benötigten Routinen für Windows werden dort verwendet.
-
Ach tut mir Leid!
Habe mich von dem ersten C++ Begriff mitreissen lassen und nicht auf den Oberbegriff Frameworks geachtet.