Ein @ in der Konsole mit Pfeiltasten Steuern
-
Soll das heißen auf welchem Betriebssystem es läuft wenn ja Windows!
-
Wie steuere ich ein @ in der Konsole mit Pfeiltasten?
Und wie mach ich wenn es ein ² Berührt das es dort nicht durch kommt?
Am besten machst du das Ganze mit C++...

Das hört sich so an als sollten wir deine Hausaufgaben machen.
Um ein Spielfeld zu begrenzen , und unteranderem auch noch trigger einzubauen kannst du so vorgehen :int pos_row = 1, pos_col = 1; int offset_row = 0, offset_col = 0; ... gotoxy(pos_col, pos_row); ... case ARROW_UP: offset_row = -1; zug(); break; ... gotoxy(pos_col, pos_row); ... pos_row += offset_row; pos_col += offset_col; if (pos_row < 1) { pos_row = 1; } if (pos_row > 45) { pos_row = 45; } ...Das ganze in eine kompakte while schleife usw.
So schwer ist das nicht
-
Uff ich check ja nichma ne while schleife

-
Xenotack schrieb:
Uff ich check ja nichma ne while schleife

und dann wilslst du ein @ steuern? lern erstmal while schleifen.
-
otze schrieb:
Xenotack schrieb:
Uff ich check ja nichma ne while schleife

und dann wilslst du ein @ steuern? lern erstmal while schleifen.
Sehe ich auch so. Ein @ zu steuern ist eben nichts für Anfänger.
-
...

Ist nicht dein ernst oder ?
Du willst ein @ in deiner Konsole bewegen , aber kennst keine schleifen ?
Das errinert mich an so was :DirectX(Mach jetzt mal ein großes Spiel); DirectX(mit viel booom und so); DirectX(dann noch ganz viele quests); DirectX(dankeschön);Kauf dir ein C++ buch , aber NICHT von JW
mit NICHT mein ich niemals.Wenn du dir ausversehen die erste Seite ansiehst verbrenne das buch/Stech einen silbernen Pfahl durch es hindurch
-
Xenotack schrieb:
Uff ich check ja nichma ne while schleife

Die idealen Voraussetzungen für so ein Projekt

-
Die idealen Voraussetzungen für so ein Projekt

xDDDD

Der war wieder lustig
Nein aber mal im Ernst :
Du kannst nicht von deinem Gehiern verlangen , das es einfach C++ kann , so schön es auch wäre.Kauf dir einfach ein gutes buch.
-
Ach und noch was als verbesserung :
Du kannst statt @ auch das asc2 zeichen 1 oder 2 nehmen.Sind Smilies.
Oder 15 , sieht aus wie ein bug
-
V ist kuhl. Sieht aus wie ein voll kuhles Raumschiff. Man muss zwar seinen Monitor dafür um 180° drehen, aber das ist ja schnell gemacht.
Alternativ kann man #> verwenden, wenn man nen Side-Scrolling Shooter oder sowas machen will, das ist auch kuhl. Und man kann den Monitor so lassen wie er ist.
-
Aber es gibt doch <>, die sehen viel KUHLER aus.
-
Du kannst dir die Demo (Edit: Mover-Demo auf der Download-Seite) der http://ic.c-plusplus.net ansehen, dort passiert etwas Ähnliches. Vielleicht hilft dir der Beispielcode auch die Schleife zu verstehen.
MfG SideWinder
-
#include <windows.h> #include <iostream> #include <conio.h> namespace taste { const int Apfeil_oben = 72; //die ASCII-tabellenwerte fuer die tasten const int Apfeil_unten = 80; const int Apfeil_links = 75; const int Apfeil_rechts = 77; const int Aesc = 27; const int Aleer = 32; void gotoxy(int X, int Y) { //wir verzichten mal auf prototypen HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = Y - 1; pos.Y = X - 1; SetConsoleCursorPosition(hCon, pos); } //windows-funktion zum setzen der cursorposition void pos_cout(int X, int Y, char zeichen) { gotoxy(X, Y); std::cout << zeichen; } } int main() { using namespace std; char Taste; unsigned short Xpos = 1, Ypos = 1; //die position aufm bildschirm cout << "@"; taste::pos_cout(5, 10, 'X'); //ein extra-zeichen ausgeben do { Taste = getch(); //zeichen eingeben lassen (ohne enter) switch(Taste) { //taste auswerten case taste::Apfeil_oben: //pfeil nach oben? dann.. case 'w': //wasd-steuerung akzeptiert taste::pos_cout(Xpos, Ypos, ' '); //lösche das alte zeichen vom bild if(Xpos > 1) --Xpos; //ist er noch nicht am rand, dann verringere Xpos break; case taste::Apfeil_unten: case 's': taste::pos_cout(Xpos, Ypos, ' '); if(Xpos < 15) ++Xpos; break; case taste::Apfeil_rechts: case 'd': taste::pos_cout(Xpos, Ypos, ' '); if(Ypos < 30) ++Ypos; break; case taste::Apfeil_links: case 'a': taste::pos_cout(Xpos, Ypos, ' '); if(Ypos > 1) --Ypos; break; default: ; //nichts davon? egal } taste::pos_cout(Xpos, Ypos, '@'); //zeichne zeichen mit aktuellen koord. if(Xpos == 5 && Ypos == 10) return 0; //zum spaß: wenn //er das zeichen erreicht wird das prog beendet } while(Taste != taste::Aesc); //solange nicht die esc-taste gedrueckt wurde }Das hatte ich irgendwann mal gemacht..