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
Quellcode |
|
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 |
// Übung für C++ // 1.1 // #include <iostream> using namespace std; // Hauptprogramm // int main () { // Variablen int unsigned nSpieler; // Anzahl der Spieler int unsigned nSpielerPunkte = 0; // Punkte des Spielers int unsigned nBesterHighscore_SP_E = 50000; // Derzeitiger Highscore im einfachen Singelplayer int unsigned nBesterHighscore_SP_M = 35000; // Derzeitiger Highscore im mittleren Singelplayer int unsigned nBesterHighscore_SP_S = 10020; // Derzeitiger Highscore im schweren Singelplayer int unsigned nBesterHighscore_MP_JgJ = 45100; // Derzeitiger Highscore im Jeder gegen Jeden Multiplayer int unsigned nBesterHighscore_MP_TS = 22000; // Derzeitiger Highscore im Teamspiel Multiplayer char chAuswahl; // Menüauswahl // Singelplayer oder Multiplayer? cout << "Wie viele Spieler nehmen teil? " << endl; cin >> nSpieler; // Falsche Angabe < Singelplayer oder Multiplayer if (nSpieler == 0) { cout << "Falsche Angabe" << endl; } // Singelplayer < Singelplayer oder Multiplayer else if (nSpieler == 1) { cout << "Willkommen im Singelplayer, bestimmen sie die Schwierigkeitsstufe: " << endl; cout << " (E)infach (M)ittel (S)chwer " << endl; cin >> chAuswahl; // Einfach < Síngelplayer if ((chAuswahl == 'E') || (chAuswahl == 'e')) { cout << "Sie haben die einfache Schwierigkeitsstufe bestimmt." << endl; cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> chAuswahl; // Starten < Einfach if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Viel Spass im Kindergarten" << endl; } // Highscore < Einfach else if ((chAuswahl == 'H') || (chAuswahl == 'h')) { // Punktzahl eingeben und vergleichen < Highscore cout << "Derzeitiger Highscore: " << nBesterHighscore_SP_E << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> nSpielerPunkte; // Ist der Highscore höher als die erreichten Punkte? if (nSpielerPunkte < nBesterHighscore_SP_E) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; // Ist der Highscore geringer als die erreichten Punkte? if (nSpielerPunkte > nBesterHighscore_SP_E) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; // Ist derHighscore gleich mit den erreichten Punkten? if (nSpielerPunkte == nBesterHighscore_SP_E) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; } //Falsche Angabe < Einfach else { cout << "Falsche Angabe" << endl; } } // Mittel < Singelplayer else if ((chAuswahl == 'M') || (chAuswahl == 'm')) { cout << "Sie haben die mittlere Schwierigkeitsstufe bestimmt." << endl; cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> chAuswahl; // Starten < Mittel if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Viel Spass im Spiel" << endl; } // Highscore < Mittel else if ((chAuswahl == 'H') || (chAuswahl == 'h')) { // Punktzahl eingeben und vergleichen < Highscore cout << "Derzeitiger Highscore: " << nBesterHighscore_SP_M << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> nSpielerPunkte; // Ist der Highscore höher als die erreichten Punkte? if (nSpielerPunkte < nBesterHighscore_SP_M) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; // Ist der Highscore geringer als die erreichten Punkte? if (nSpielerPunkte > nBesterHighscore_SP_M) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; // Ist der Highscore gleich mit den erreichten Punkten? if (nSpielerPunkte == nBesterHighscore_SP_M) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; } // Falsche Angabe < Mittel else { cout << "Falsche Angabe" << endl; } } // Schwer < Singelplayer else if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Sie haben die schwere Schwierigkeitsstufe bestimmt, sind sie sicher das sie das wollen? " << endl; cout << " (J)a (N)ein " << endl; cin >> chAuswahl; // Bestätigung < Schwer //Ja < Bestätigung if ((chAuswahl == 'J') || (chAuswahl == 'j')) { cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> chAuswahl; // Starten < Ja if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Viel Spass in der Unterwelt" << endl; } // Highscore < Ja else if ((chAuswahl == 'H') || (chAuswahl == 'h')) { // Punktzahl eingeben und vergleichen < Highscore cout << "Derzeitiger Highscore: " << nBesterHighscore_SP_S << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> nSpielerPunkte; // Ist der Highscore höher als die erreichten Punkte? if (nSpielerPunkte < nBesterHighscore_SP_S) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; // Ist der Highscore geringer als die erreichten Punkte? if (nSpielerPunkte > nBesterHighscore_SP_S) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; // Ist der Highscore gleich mit den erreichten Punkten? if (nSpielerPunkte == nBesterHighscore_SP_S) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; } // Falsche Angabe < Ja else { cout << "Falsche Angabe" << endl; } } // Nein < Bestätigung else if ((chAuswahl == 'N') || (chAuswahl == 'n')) { cout << "Verlassen sie das Spiel!" << endl; } // Falsche Angabe < Bestätigung else { cout << "Falsche Angabe" << endl; } } // Falsche Angabe < Singelplayer else { cout << "Falsche Angabe" << endl; } } // Multiplayer < Singelplayer oder Multiplayer else { cout << "Willkommen im Multiplayer, bestimmen sie den Spielmodus" << endl; cout << " (J)eder gegen Jeden (T)eamspiel " << endl; cin >> chAuswahl; // Jeder gegen Jeden < Multiplayer if ((chAuswahl == 'J') || (chAuswahl == 'j')) { cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> chAuswahl; // Starten < Jeder gegen Jeden if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Viel Spass bei Jeder gegen Jeden!" << endl; } // Highscore < Jeder gegen Jeden else if ((chAuswahl == 'H') || (chAuswahl == 'h')) { // Punktzahl eingeben und vergleichen < Highscore cout << "Derzeitiger Highscore: " << nBesterHighscore_MP_JgJ << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> nSpielerPunkte; // Ist der Highscore höher als die erreichten Punkte? if (nSpielerPunkte < nBesterHighscore_MP_JgJ) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; // Ist der Highscore geringer als die erreichten Punkte? if (nSpielerPunkte > nBesterHighscore_MP_JgJ) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; // Ist der Highscore gleich mit den erreichten Punkten? if (nSpielerPunkte == nBesterHighscore_MP_JgJ) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; } // Falsche Angabe < Jeder gegen Jeden else { cout << "Falsche Angabe" << endl; } } // Teamspiel < Multiplayer else if ((chAuswahl == 'T') || (chAuswahl == 't')) { cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> chAuswahl; // Starten < Teamspiel if ((chAuswahl == 'S') || (chAuswahl == 's')) { cout << "Viel Spass beim Teamspiel" << endl; } // Highscore < Teamspiel else if ((chAuswahl == 'H') || (chAuswahl == 'h')) { // Punktzahl eingeben und vergleichen < Highscore cout << "Derzeitiger Highscore: " << nBesterHighscore_MP_TS << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> nSpielerPunkte; // Ist der Highscore höher als die erreichten Punkte? if (nSpielerPunkte < nBesterHighscore_MP_TS) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; // Ist der Highscore geringer als die erreichten Punkte? if (nSpielerPunkte > nBesterHighscore_MP_TS) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; // Ist der Highscore gleich mit den erreichten Punkten? if (nSpielerPunkte == nBesterHighscore_MP_TS) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; } // Falsche Angabe else { cout << "Falsche Angabe" << endl; } } // Falsche Angabe else { cout << "Falsche Angabe" << endl; } } return 0; } |
Administrator
Nun hätte ich gerne Feedback zur Übersicht des Code´s.
C-/C++-Quelltext |
|
1 2 |
cout << "Derzeitiger Highscore: " << nBesterHighscore_MP_JgJ << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; |
C-/C++-Quelltext |
|
1 2 |
cout << "Derzeitiger Highscore: " << nBesterHighscore_MP_JgJ << " Punkte!" << endl << "Gib deine erreichte Punktzahl ein" << endl; |
C-/C++-Quelltext |
|
1 |
else if ((chAuswahl == 'N') || (chAuswahl == 'n')) |
C-/C++-Quelltext |
|
1 |
else if (( 'N'==chAuswahl) || ('n'==chAuswahl)) |
Community-Fossil
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
// Übung für C++ // 1.1 // #include <iostream> #include <string> namespace { /// <summary>Dialogmenu des Einspieler Spiels</summary> auto EinspielerDialog() -> void; /// <summary>Dialogmenu des Mehrspieler Spiels</summary> auto MehrspielerDialog() -> void; /// <summary>Einspieler Spiels</summary> /// <param name="begruessung">[in] Begruessungsnachricht</param> auto EinspielerSpiel(const std::string begruessung) -> void; /// <summary>Mehrspieler Spiel</summary> /// <param name="begruessung">[in] Begruessungsnachricht</param> auto MehrspielerSpiel(const std::string begruessung) -> void; /// <summary>Fehlerbehandlung bei falscher Angabe</summary> auto FalscheAngabe() -> void; /// <summary>Zeigt den Highscore und die Spielerpunkte an.</summary> /// <param name="highscore">Der Highscore.</param> /// <returns>Die Punkte des Spielers.</returns> auto HighscoreAnzeigen(unsigned int highscore) -> unsigned int; } // ---------------------------------------------------------------------------------------------------------- // Anwendungs-Einstiegs-Punkt // ---------------------------------------------------------------------------------------------------------- /// <summary>Anwendungs Einstieg.</summary> /// <returns>Anwendungsfehlercode</returns> int main () { using std::cout; using std::cin; using std::endl; int unsigned spielerzahl; // Anzahl der Spieler // Singelplayer oder Multiplayer? cout << "Wie viele Spieler nehmen teil? " << endl; cin >> spielerzahl; if (spielerzahl == 0) { FalscheAngabe(); exit(0); } switch (spielerzahl) { case 0: FalscheAngabe(); break; case 1: EinspielerDialog(); break; default: MehrspielerDialog(); break; } return 0; } namespace { // ------------------------------------------------------------------------------------------------------ // EinspielerDialog // ------------------------------------------------------------------------------------------------------ auto EinspielerDialog() -> void { using std::cout; using std::cin; using std::endl; using std::string; cout << "Willkommen im Singelplayer, bestimmen sie die Schwierigkeitsstufe: " << endl; cout << " (E)infach (M)ittel (S)chwer " << endl; char auswahl; cin >> auswahl; string begruessung; unsigned int highscore = 0; switch (auswahl) { case 'E': cout << "Sie haben die einfache Schwierigkeitsstufe bestimmt." << endl; begruessung = "Viel Spass im Kindergarten"; highscore = 50000; break; case 'M': cout << "Sie haben die mittlere Schwierigkeitsstufe bestimmt." << endl; begruessung = "Viel Spass im Spiel"; highscore = 30000; break; case 'S': cout << "Sie haben die schwere Schwierigkeitsstufe bestimmt." << endl; begruessung = "Viel Spass in der Unterwelt"; highscore = 10000; break; default: FalscheAngabe(); exit(0); break; } cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> auswahl; switch(auswahl) { case 'S': EinspielerSpiel(begruessung); break; case 'H': HighscoreAnzeigen(highscore); break; default: FalscheAngabe(); exit(0); break; } } // ------------------------------------------------------------------------------------------------------ // MehrspielerDialog // ------------------------------------------------------------------------------------------------------ auto MehrspielerDialog() -> void { using std::cout; using std::cin; using std::endl; using std::string; cout << "Willkommen im Multiplayer, bestimmen sie den Spielmodus" << endl; cout << " (J)eder gegen Jeden (T)eamspiel " << endl; char auswahl; cin >> auswahl; string begruessung; unsigned int highscore = 0; switch (auswahl) { case 'J': begruessung = "Viel Spass bei Jeder gegen Jeden!"; highscore = 45000; break; case 'T': begruessung = "Viel Spass beim Teamspiel"; highscore = 22000; break; default: FalscheAngabe(); exit(0); break; } cout << "(S)tarten oder (H)ighscore ansehen" << endl; cin >> auswahl; switch(auswahl) { case 'S': MehrspielerSpiel(begruessung); break; case 'H': HighscoreAnzeigen(highscore); break; default: FalscheAngabe(); exit(0); break; } } // ------------------------------------------------------------------------------------------------------ // EinspielerSpiel // ------------------------------------------------------------------------------------------------------ auto EinspielerSpiel(const std::string begruessung) -> void { using std::cout; using std::endl; cout << begruessung << endl; } // ------------------------------------------------------------------------------------------------------ // MehrspielerDialog // ------------------------------------------------------------------------------------------------------ auto MehrspielerSpiel(const std::string begruessung) -> void { using std::cout; using std::endl; cout << begruessung << endl; } // ------------------------------------------------------------------------------------------------------ // FalscheAngabe // ------------------------------------------------------------------------------------------------------ auto FalscheAngabe() -> void { using std::cout; using std::endl; cout << "Falsche Angabe!" << endl; } // ------------------------------------------------------------------------------------------------------ // HighscoreAnzeigen // ------------------------------------------------------------------------------------------------------ auto HighscoreAnzeigen(unsigned int highscore) -> unsigned int { using std::cout; using std::cin; using std::endl; unsigned int spielerpunkte; cout << "Derzeitiger Highscore: " << highscore << " Punkte!" << endl; cout << "Gib deine erreichte Punktzahl ein" << endl; cin >> spielerpunkte; if (spielerpunkte < highscore) cout << "Du hast leider keinen neuen Highscore erreicht" << endl; if (spielerpunkte > highscore) cout << "Glueckwunsch du hast den Highscore geknackt!!" << endl; if (spielerpunkte == highscore) cout << "Das war knapp viel Erfolg beim naechsten Versuch!" << endl; return spielerpunkte; } } // -------------------------------------------------------------------------------------------------------END |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 |
// Falsche Angabe < Singelplayer oder Multiplayer if (nSpieler == 0) { cout << "Falsche Angabe" << endl; } // Singelplayer < Singelplayer oder Multiplayer else if (nSpieler == 1) { cout << "Willkommen im Singelplayer, bestimmen sie die Schwierigkeitsstufe: " << endl; cout << " (E)infach (M)ittel (S)chwer " << endl; |
C-/C++-Quelltext |
|
1 2 3 4 5 |
// Falsche Angabe < Bestätigung else { cout << "Falsche Angabe" << endl; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
if(...) { cout << "Falsche Angabe" << endl; } else { cout << "Richtige Angabe" << endl; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
if(...){ cout << "Falsche Angabe" << endl; } else{ cout << "Richtige Angabe" << endl; } |
Wenn man schon weiß, was es zurück gibt, oder zu Mindest 'ne Ahnung hat, stört es nur, im besten Fall ewig lang definierte Rückgabetypen zu lesen. Daher sind sie hinten geschickter. Ein einfacheres Beispiel als Templates wäre auch derart offensichtliches:Zitat
Hm, interessant, die Variante mit "auto HighscoreAnzeigen(unsigned int highscore) -> unsigned int" statt "unsigned int HighscoreAnzeigen(unsigned int highscore)" kannte ich noch nicht, aber hat das auch irgendeinen Vorteil?
C-/C++-Quelltext |
|
1 2 3 4 5 |
iterator_t iterator() const noexcept; const_iterator_t citerator() const noexcept; // vs. auto iterator() const noexcept -> iterator_t auto citerator() const noexcept -> const_iterator_t |
C-/C++-Quelltext |
|
1 2 3 4 |
int main(int _argc, char** _argv) noexcept { asm volatile("lock cmpxchg8b %eax"); return 0; } // ::main |
Werbeanzeige