Curser Positionieren
-
Suche benutzt und komischerweise nix gefunden. Hätte gedacht dass es dazu schon Fragen gibt. Auch im FAQ nix gefunden.
Ich hab ein Tic Tac Toe geschrieben. Aber nach jeder Eingabe den Screen zu löschen und das Feld neu anzeigen zu lassen ist1. Unpraktisch und
2. ist der Curser immer am Ende heist ich seh nciht wo ich mich befinde. (Das Spiel geht, ich kann nur nicht sehen wo ich bin)Nun würd ich gern beim drücken von Links, Rechts x usw den Curser einfach verschieben und das alte überschreiben.
Wie geht das? Von mri aus auch nur Funktionsname bzw Seite wo es steht, ganz faul bin ich netMFG Craw
PS: Ich weiß gar net ob es dass gibt nur dass es in c++ geht, heist da ja glaub getoxid() oder so^^ (hat ein Freund gemeint)
-
Mit C geht's nicht, mit C++ geht's nicht.
Welches Betriebssystem, welcher Compiler?
unter windows eventuel:
Greetz, Swordfish
-
Gibts kein getoxy(x,y)???
Windows XP
Der liebe DJGPP Compiler (heist doch so der gcc dinger oder?)
Natürlich alles liebe Konsole also eigentlich DOS oder?
-
Die conio.h ist eine Borland Erfindung, welche bei deren frühen C/C++ IDE's für DOS dabei war. Die Funktionen der conio.h wurden dann, nach wachsender Beliebtheit auch von anderen Herstellern angeboten. Bis heute hat dieses Angebot jedoch wieder abgenommen, da es weniger gebräuchlich wurde.
Hast du dir die Improved Console angesehen!?
ansonsten mit Platform SDK:
#include <windows.h> #include <stdio.h> void gotoxy( unsigned char x, unsigned char y ); int main( int argc, char *argv[] ) { gotoxy( 10, 5 ); printf( "Hello!\n\n" ); return 0; } void gotoxy( unsigned char x, unsigned char y ) { COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), pos ); }
Greetz, Swordfish
-
standart.c:2:22: error: windows.h: No such file or directory (ENOENT)
standart.c: In function 'gotoxy':
standart.c:14: error: 'COORD' undeclared (first use in this function)
standart.c:14: error: (Each undeclared identifier is reported only once
standart.c:14: error: for each function it appears in.)
standart.c:14: error: parse error before 'pos'
standart.c:15: error: 'pos' undeclared (first use in this function)
standart.c:17: error: 'STD_OUTPUT_HANDLE' undeclared (first use in this function)Wenn ich es einfach so Compiliere.
Nun da ich mich damit nicht auskenne:Was sind COORD und STD_OUTPUT_HANDLE??? Ich seh grad das er windows.h nicht findet hä?
Bin ins Verzeichnis und windows.h ist wirklich weg. W ist es hin? Kann ich es irgendwo ziehen?
-
hat denn dein
Craw schrieb:
liebe[r] DJGPP Compiler (heist doch so der gcc dinger oder?)
die Platform SDK dabei?
ansonsten:
Greetz, Swordfish
-
Craw schrieb:
Gibts kein getoxy(x,y)???
Windows XP
Der liebe DJGPP Compiler (heist doch so der gcc dinger oder?)
Natürlich alles liebe Konsole also eigentlich DOS oder?hast du den djgpp?
dann gibt es gotoxy in der conio.h. aber es gibt logisch keine windows.hfrag bitte mit konkreter compilerangabe im dos/win32 forum weiter.
(bzw. lass dich verschieben)ps: wenn du dich mit compilern noch nicht auskennst, schau ins compilerforum und les dein compilerfaq
-
Grüß Dich, elise!
hat der djgpp also die PSDK nicht dabei? Kenn ihn nicht, bin ein MSVC 2003 Enterprise Architect - Verwöhnter.
(erlichgesagt müsst' ich mal ausprobieren ob ich es noch schaffe, einen Compiler *von Hand* aufzurufen)
Entschuldige die Verwirrung, Crow!
Greetz, Swordfish
-
djgpp ist ein dos "emulator".
er hat alle netten dos dinge mit an board, nur keine "windows.h.. etc.."der schönste compiler der welt.. aber eben ohne windows. es gab eine zeit, da hat er die fenstereierei versucht, Rsxntdj hieß das zauberwort.. sie haben es aber wieder rausgeschmissen, die ganze "windows kiste", und damit den djgpp zu seinen wurzeln zurückgeschickt. meines erachtens richtig.
hier läuft noch das Rsxntdj, hat mich vor 4 jahren fast den nerv gekostet, das hinzukriegen.nice night
-
Wer vertreibt das ding?
hast nen download-link?
dann ist/war Rsxntdj soetwas wie die TurboVision von Borland?nice night 2!
-
nimm den zip picker, packete entpacken in einen ordner, batchdatei mit pfaden schreiben, über konsole starten.
viel spaß.
-
Wenn ich Conio.h einbinde tut es auch nur mit gotoxy(x,y)
Danke.
Nur eine frage. Ich denke mal es schiebt den Cursor auf x|y oder?
Also wie wenn man x mal Enter drückt und y mal Leertaste oder?
EDIT: Habs getestet und es stimmt
EDIT2: Probs mitm programm^^ (ps: das ist ja nur der Anfang des Tic Tac Toe, gibt sicher viel zu Verbessern aber hab ein Hauptproblem.)#include <stdio.h> #include <conio.h> #include <eigen.h> //Clrscr() als system("cls") sowie Pfeiltasten int main() { int spielfeld[3][3]; int i, j, spieler, sieg = 0, zug = 0; char auswahl; clrscr(); for (i=0;i<3;++i) for(j=0;j<3;++j) spielfeld[i][j] = 0; //Alles leer i = j = 0; printf(" | | \n" "-----------\n" " | | \n" "-----------\n" " | | \n"); i = 1; j = 2; while (sieg == 0 && zug < 9) { //wenn neimand gewinnt bzw das Feld voll ist gotoxy(j,i); auswahl = getch(); switch (auswahl) { case LINKS: if (j == 6 || j == 10) //genaue Zwischenräume j -= 4; break; case RECHTS: if (j == 2 || j == 6) j += 4; break; case OBEN: if (i == 3 || i == 5) i -= 2; break; case UNTEN: if (i == 1 || i == 3) i += 2; break; case 120: //x if (spielfeld[i][j] == 0) { spielfeld[i][j] = 1; printf("x"); ++zug; } break; case 111: //o if (spielfeld[i][j] == 0) { spielfeld[i][j] = 2; printf("o"); ++zug; } } } }
Ich kann einmal x bzw o drücken. Pfeile gehen dann noch aber auf das nächste x bzw o lässt sich lange warten. Ich kann drücken wie wild es geht erst nach 5-6 versuchen. (Dazwischen sind Pfeiltasten)
Wieso?
-
hi
überprüfe deine arraygrenzen.. du haust dauernd drüber.. und alles über 0 - 2 ist dann irgendein "schrottwert", der nie '0' wird.
gruß
-
Ah ich sehs aaaaaah... Klar danke. Der Array war noch aus dem alten Prog, muss es aber wegen getoxyd ändern.
Jetzt nimmt es alles sofort danke dir *gegen Kopf hau*