C++ Menü für alle zwecke ^^
-
Hallo , ich möchte euch mein geschreibendes Menü zur verfügung stellen
ich habe es für mein spiel geschrieben , aber weil es so geil geworden ist habe ich gedacht - ich stell es mal für alle zur verfügung
complier berreit - einfach makieren und ausführen
#include <iostream> #include <windows.h> using namespace std; HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE); void gotoxy (int x, int y) { COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(hOuput,pos); } void show_arrow( int x, int y ) { gotoxy(x,y); cout << "²"; } void kill_arrow ( int x, int y ) { gotoxy (x, y); cout << " "; } void menu() { int x = 15; int y = 15; cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; cout<<" Spiel Starten \n"; cout<<" Weiter Spielen \n"; cout<<" Spiel Beenden \n"; ///////////////////////////////////////////// gotoxy(15,15); while(1) { show_arrow ( x, y ); Sleep(100); kill_arrow ( x, y ); if(GetAsyncKeyState(VK_UP) & 1 ) { --y; } if(GetAsyncKeyState(VK_DOWN) & 1 ) { ++y; } if (y == 15) { if(GetAsyncKeyState(VK_RETURN) & 1 ) { system("cls"); cout<<"auswahl 1"; Sleep(1000); system("cls"); menu(); } } if (y == 16) { if(GetAsyncKeyState(VK_RETURN) & 1 ) { system("cls"); cout<<"auswahl 2"; Sleep(1000); system("cls"); menu(); } } if (y == 17) { if(GetAsyncKeyState(VK_RETURN) & 1 ) { system("cls"); cout<<"auswahl 3"; Sleep(1000); system("cls"); menu(); } } ////////////////////////////////////////////// if (y == 14) { y = 15; } if (y == 18) { y = 17; } } } int main() { menu(); }
-
achja .. arbeits-zeit: 3 stunden

-
Darf man das auch in komerziellen Projekten verwenden? Ich bin Lead-Programmer bei Anno 2179 und würde den Code gerne für diesen AAA-Titel adaptieren!
-
ja - wie gesagt , der code ist FREE für alle
sogar komerzielwer will darf ihn auch verändern
-
ich glaub das war nicht ganz ernstgemeint (leiser sarkasmus)
-
Hey nicht schlecht!
-
Mjoa, mjoa schrieb:
Hey nicht schlecht!
Genau...
while(1) { ... }Der Prozessor schmort, obwohl niemand am Rechner sitzt...
Außerdem ist es win-only, k.A. wer da ein Consolen-Menu braucht.
Zu guter letzt ist es C und sollte in ein anderes Forum verschoben werden, da das nix mit std-C++ zu tun hat.
-
Da gibts noch einiges dran zu verbessern, angefangen mit den system()-Aufrufen.
Warum ruft sich menu() eigentlich rekursiv auf? Das lässt sich mit break bzw. continue auf jeden Fall besser lösen.
Die ganzen if-Abfragen sind in einer switch-Verzweigung auf jeden Fall besser aufgehoben. Und hOutput kann man als globale Variable auch vollständig vermeiden.

Aber lass dich davon nicht entmutigen, jeder fängt mal klein an.

-
Hi.
Nice.
Bye.
-

Die "Nice, cool und der Anno" - Typ sind alle er >.>
Der Code ist einfach grausig... mehr nicht.
Sowas dauert bestimmt keine 3h

-
Mampfi_der_Lämmerschreck schrieb:
Mjoa, mjoa schrieb:
Hey nicht schlecht!
Genau...
while(1) { ... }Der Prozessor schmort, obwohl niemand am Rechner sitzt...
Nö, da ist ein Sleep(100) drin.