Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
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 |
int main() { int arr[3][3]; // Arry Feld (kleines) arr[0][0] = 0; arr[0][1] = 1; arr[0][2] = 2; arr[1][0] = 3; arr[1][1] = 4; arr[1][2] = 5; arr[2][0] = 6; arr[2][1] = 7; arr[2][2] = 8; int eing; cin >> eing; switch(eing) { case 'w': //erste Case { } } |
Zitat von »"Toa"«
So nun hab ich ein paar Probleme. Nämlich wie mache ich es das man bei der eingabe kein enter drücken muss ( wegen dem CIn) .
C-/C++-Quelltext |
|
1 2 3 4 |
// anstatt... cin >> eing; // machst du... eing = _getwch(); |
C-/C++-Quelltext |
|
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 |
#include <iostream> #include <windows.h> #include <wchar.h> #include <process.h> #include <conio.h> #include <stdlib.h> using namepsace std; //----------------------------------------- int main () { WCHAR up; WCHAR down; WCHAR right; WCHAR left; up = _getwch(); down = _getwch(); right = _getwch(); left = _getwch(); if (up == L'w' || up == L'W') { //Ausführung } //etc... } |
Zitat von »"Eldarion72"«
die map als binary würde trotzdem auf einem 2d koordinaten system basieren.
du musst einfach die aktuelle position betrachten, und wenn er W drückt gucken ob das feld darüber (ich geh jetzt mal davon aus das w nach oben heißt) begehbar ist (bei wasser musst du evtl noch gucken ob es nur dann begehbar ist wenn der hero nen gegenstand hat, z.b. ein boot) und wenn ja bewegst du ihn dahin und wen nein bewegste den player nciht. eig recht simpel.
aber wie du das mit dem dauernden abfragen machen sollst, keien ahnung. ich glaub mit streams kommst du da nicht weit.
C-/C++-Quelltext |
|
1 2 3 4 |
if (up == L'w' || up == L'W') { Player.y += 1; } |
Zitat von »"grek40"«
Schau mal das hier an, für Zeichnen an bestimmten Positionen und anderes. Allerdings sind da einige Sachen drin, die ich zwar mal verwendet habe, inzwischen aber anders machen würde (vor allem das cls)
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=6968
Ich werd mich irgendwann heut nochma hinsetzen und nen paar Änderungen für diesen FAQ Artikel schreiben
C-/C++-Quelltext |
|
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 64 65 66 67 68 |
#include <iostream> #include<windows.h> #include<conio.h> #include<process.h> #include<time.h> #include<stdlib.h> #include<ctype.h> #include <process.h> #include <wchar.h> using namespace std; class player { public : int x; int y; }; int main() { int arr[player.x][player.y]; player hero; WCHAR up; WCHAR down; WCHAR right; WCHAR left; up = _getche (); down = _getche (); right = _getche (); left = _getche(); if (up == L'w' || up == L'W') { system("cls"); hero.y += 1; cout<<char(4)<<endl; } if(down == L's' || down == L'S') { system("cls"); hero.y -= 1; cout<<char(4)<<endl; } if(right == L'a' || right == L'A') { system("cls"); hero.x += 1; cout<<char(4)<<endl; } if (left == L'd' || left == L'D') { system("cls"); hero.x -= 1; cout<<char(4)<<endl; } } |
Zitat von »"Toa"«
Zitat von »"grek40"«
Schau mal das hier an, für Zeichnen an bestimmten Positionen und anderes. Allerdings sind da einige Sachen drin, die ich zwar mal verwendet habe, inzwischen aber anders machen würde (vor allem das cls)
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=6968
Ich werd mich irgendwann heut nochma hinsetzen und nen paar Änderungen für diesen FAQ Artikel schreiben
Also der Faq beitrag ist Klasse , aber wie zeichnet man denn einzelne Sachen Z.b die umrandung des Feldes , oder den Punkt des Spielers. Oder Striche in das Feld ?
.............
und das cout<<char(4)<<endl; soll immer der Punkt des CHarakters sein .. oder hab ich was falsch gemacht weil so ganz geht es nicht
PS : _getwch(); <-- kennt er net trotz richtigem HEader
C-/C++-Quelltext |
|
1 2 |
int i=4; std::cout << i << '\t' << static_cast<char>(i) << std::endl |
Werbeanzeige