Code – die besten Beiträge

C++: Kann ich diesen Code irgendwie noch vereinfachen?

Guten Abend,

ich schreibe gerade in C++ an einem kleinen Kniffelspiel. Im Moment bin ich soweit, dass ich mir fünf zufällige Zahlen (Würfel) über die rand()-Funktion erstelle, diese dann in einem Vektor speichere und anschließend über die Funktion auswertung() den höchsten Pasch zurückgebe. Jedoch ist der Code nicht gerade sehr kompakt. Hat jemand Vorschläge für Optimierungen?

Vielen Dank im Voraus!

#include <iostream>
#include <ctime>
#include <vector>
#include <random>

using namespace std;

vector<int> würfe()
{
  vector<int> list; // Ermittelt über die aktuelle Systemzeit 5 Zufallszahlen und übergibt sie dem Vektor list
  srand(time(0));

  for (int i = 0; i < 5; i++) {
    list.push_back(1 + rand() % 6);
    cout << list[i];
  }

  cout << endl;
  return list;
}

int auswertung(vector<int> ergebnis)
{
  int pasch = 0;

  // Verschachtelte for-Schleife iteriert durch Vektor und vergleicht alle Elemente miteinander
  for (vector<int>::iterator it = ergebnis.begin(); it != ergebnis.end(); ++it) {
    for (vector<int>::iterator it1 = ergebnis.begin(); it1 != ergebnis.end(); ++it1) {
      // Nur wenn die Werte gleich sind (Pasch) und nicht auf dasselbe Element zeigen, geht es weiter
      if (*it1 == *it && it != it1) {
        // Nur wenn der gefundene Pasch höher als der Höchste bereits gefundene ist, wird er ausgewertet
        if (*it > pasch) {
          switch (*it) {
            case 1: pasch = 1;
              break;
            case 2:
              pasch = 2;
              break;
            case 3: pasch = 3;
              break;
            case 4: pasch = 4;
              break;
            case 5: pasch = 5;
              break;
            case 6: pasch = 6;
              break;
          }
        }
      }
    }
  }

  return pasch;
}

int main()
{
  int pasch;
  vector<int> random = würfe();
  pasch = auswertung(random);

  cout << "Pasch: " << pasch << endl;
}
Computer, Software, Technik, programmieren, Cplusplus, CC, Code, CPP, Informatik, Softwareentwicklung, Technologie, C (Programmiersprache)

Wie mache ich für Informatik ein Würfelspiel in Visual Basic?

Hey :) Ich weiß, ich sollte hier nicht fragen ob ihr meine Hausaufgaben machen könnt und das will ich eigentlich auch garnicht. Allerdings muss ich bis morgen ein Projekt in Visual Basic für Informatik fertig haben und habe noch kaum etwas. Das liegt einerseits an unserem Lahrer, der es nicht schafft uns den Stoff zu vermitteln und andererseits an mir, da ich zu spät angefangen habe, mich für das falsche Spiel entschieden habe und nicht schaffe zu verstehen wie es geht :/ Jetzt wollte ich mal ganz lieb fragen, ob es unter euch netten Menschen möglicherweise jemanden gibt, der auch ein Spiel für Informatik machen musste, dies noch auf seinem Computer hat und gewillt ist es mir zu schicken :) Unser Spiel muss mindestens zwei Würfel, mindestens zwei Spieler und wenn möglich eine Anleitung und eine Möglichkeit des Neustartens haben. Es muss in Visual Basic laufen. Ich habe versucht ein Spiel zu programmieren, allerdings ist es viel zu kompliziert, da ich mich für ein sehr viel zu umfangreiches Spiel entschieden habe. Ich wäre wirklich dermaßen dankbar, wenn mir jemand irgendwie (email,pm,etc.) sein Projekt zukommen lassen könnte und mir somit meine Note retten könnte, Ich habe mich wirklich schon bemüht :/ Vielen vielen Dank, dass ihr zumindest bis hier gelesen habt, euer IanonymMENSCH

Spiele, Computer, Microsoft, Visual Basic, Schule, programmieren, Code, Hausaufgaben, Informatik

Meistgelesene Beiträge zum Thema Code