ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
814
814
EMPFEHLEN
-
Hi,
ich möchte in der Konsole eine Art graphische Oberfläche erzeugen, die aber nur aus Zeichen bzw. Buchstaben bestehen soll. Leider hab ich keinen blassen Schimmer wie ich das bewerkstelligen soll. Am Ende sollte das ganze dann in etwa so aussehen:
****************************************************
****************************************************
*************@************************************
****************************************************
****************************************************
wobei das @ dann z.B. mit den Pfeiltasten frei auf dem Feld beweglich sein soll.
thx im vorrausGeändert von bi0h4zard (28.02.08 um 16:30 Uhr)
-
îch würde es so nach dem moto machen:
noch ne endlosschleife drum nach gotoxy musste mal hier im Forum suchen so als ganz grober Roh-Entwurf, weiß auch nicht, ob ich switch und case noch richtig im Kopf habeCode cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <iostream> using namespace std; main(){ char Richtung = ''; cout << "*************************************************\n*****************************************\n\ ***************************************\n********@************************\n"; Richtung = cin.get(); switch(Richtung){ case(/*hier der ASCII wert einer pfeiltasten*/): //hier jetzt die Console sauberwischen mit system("CLS"); //mit gotoxy an die richtige stelle springen //neue ausgabe return; case(/*mit den anderen tasten*/) default: return 0; } }
-
Gibts noch Alternativen?
-
Ich rate von dem Systemaufruf ab!
Und für gotoxy musste dich entscheiden welchen weg du gehen willst:
windows.h
oder
conio.h hier gibt es dann auch clrscr() als Funktion!
Gruß XeoXWenn du jemandem auf die Brille trittst, erinnere ihn: Man sieht nur mit dem Herzen gut.
(Antoine de Saint-Exupéry)
-
-
Da der System aufruf nur unter dem Entsprechenden Betriebsystem zum tragen kommt!
Und das macht keinen schönen Code aus, Bibl. geben einige Funktionen schon vor wie conio.h mit clrscr()!
Gruß XeoXWenn du jemandem auf die Brille trittst, erinnere ihn: Man sieht nur mit dem Herzen gut.
(Antoine de Saint-Exupéry)
-
Hab mal in meiner alten Code Sammlung gesucht vielleicht hilft dir das weiter!
Code c:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#include <stdio.h> #include <conio.h> #define breite 25 #define hoehe 12 #define figur "T" #define spielflaeche "_" void spielfeld(); void bewegung(); int main (){ char dummy[81]; spielfeld(); bewegung(); return 0; } void spielfeld() { int hi, bi; for (hi=0; hi < hoehe+1; hi++){ for (bi = 0; bi < breite; bi++) if(hi != hoehe) printf(spielflaeche); else printf("#"); printf("#\n"); } } void bewegung (){ unsigned int taste; gotoxy(breite/2, hoehe/2); printf(figur); gotoxy(wherex()-1, wherey()); do { taste = getch(); fflush(stdin); switch (taste){ case 97 : printf(spielflaeche); gotoxy(wherex()-1, wherey()); if(wherex() >= 2 && wherey() <= hoehe){ gotoxy(wherex()-1, wherey()); printf(figur); gotoxy(wherex()-1, wherey()); break; } else if(wherex() == 1 && wherey() == 1){ gotoxy(breite, wherey()); printf(figur); gotoxy(wherex()-1, wherey()); break;} else {gotoxy(breite, wherey()); printf(figur); gotoxy(breite, wherey()); break;} case 100 : printf(spielflaeche); gotoxy(wherex()-1, wherey()); if(wherex() < breite && wherey() <= hoehe){ gotoxy(wherex()+1, wherey()); printf(figur); gotoxy(wherex()-1, wherey()); break; } else if(wherex() == breite && wherey() == hoehe){ gotoxy(1, wherey()); printf(figur); gotoxy(wherex()-1, wherey()); break;} else{gotoxy(1, wherey()); printf(figur); gotoxy(wherex()-1, wherey()); break;} case 119 : printf(spielflaeche); if(wherex() > 1 && wherey() > 1){ gotoxy(wherex()-1, wherey()-1); printf(figur); gotoxy(wherex()-1, wherey()); break; } else {gotoxy(wherex()-1, hoehe); printf(figur); gotoxy(wherex()-1, wherey()); break;} case 115 : printf(spielflaeche); if(wherex() >= 1 && wherey() < hoehe){ gotoxy(wherex()-1, wherey()+1); printf(figur); gotoxy(wherex()-1, wherey()); break; } else {gotoxy(wherex()-1, 1); printf(figur); gotoxy(wherex()-1, wherey()); break;} } } while (taste != 101); }
Gruß XeoXGeändert von XeoX (29.02.08 um 12:05 Uhr)
Wenn du jemandem auf die Brille trittst, erinnere ihn: Man sieht nur mit dem Herzen gut.
(Antoine de Saint-Exupéry)
-
Noch ne frage: Gibt es einen Befehl mit dem man herausfinden kann welches Zeichen an der aktuellen Cursorposition steht?
Geändert von bi0h4zard (01.03.08 um 10:15 Uhr)
-
Meinst du den Punkt in der ASCII Tabelle, oder in der Konsole?
Falls du die ASCII Tabelle meinst sollte folgender Code dir helfen:Falls du die Konole meinst habe ich keine AhnungCode cpp:1 2 3 4 5 6 7 8 9 10 11 12 13
#include <iostream> using namespace std; int main(){ char input = ''; cout << "Drücke die Taste deren ASCII Wert du wissen willst (Drücke ESC zum Beenden \n\n"; while( input != 27 /*ist die Taste ESC*/){ input = cin.get(); cout << "Der ASCII Wert der Taste " << input << " ist: " << (int)input << endl; } return (int)input; }
-
Ich mein in der Konsole
-
Also was an einem Punkt genau stht kannst du ncht bestimmen, aber du kannst ja wenn du durch deine Bewegung an einem Punkt angekommen bist die Kordinaten mit dem Entsprechenenden Befehlen Füttern!
Also wenn du links oben einen Punkt haben möchtest der was auf dem Bildschirm ausgibt, dann kannst du mit der Abfrage wo sich der Courser befindet und einer if Anweisung alles regeln!
Gruß XeoXWenn du jemandem auf die Brille trittst, erinnere ihn: Man sieht nur mit dem Herzen gut.
(Antoine de Saint-Exupéry)
-
Was ich jetzt speziell machen möchte ist z.B. dass der Cursor keinen punkt berühren kann wo er schonmal war also er hinterlässt z.B. ein Zeichen und kann felder auf denen ein Zeichen steht nicht nochmal "betreten".
-
Löse das in dem du die Koordinaten speicherst (Array) und dann abfragst und wenn du das dynamisch machst ist das erst nicht so speicher Intensiv!
Gruß XeoXWenn du jemandem auf die Brille trittst, erinnere ihn: Man sieht nur mit dem Herzen gut.
(Antoine de Saint-Exupéry)
Ähnliche Themen
-
Konsolen Ein- und Ausgabe
Von RMI_17 im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 15.09.05, 10:52 -
Menü in DOS-Konsolen
Von ProgFreak im Forum C/C++Antworten: 1Letzter Beitrag: 20.04.04, 14:04 -
Konsolen Menü struckturieren
Von js-mueller im Forum C/C++Antworten: 10Letzter Beitrag: 20.04.04, 11:19





Zitieren
Login






