Software – 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)

Kann ich mit meinem Notebook "Rising Storm 2: Vietnam" spielen?

Hallo,

ich möchte gerne wissen, ob ich mit meinem Notebook das neue "Rising Storm 2: Vietnam" spielen kann.

Hier die technischen Daten meines Gerätes:

Intel Core i7 - 4710 HQ 2.5 GHz with Turbo Boost up to 3.5 GHz NVIDEA GeForce GTX 850M with 4GB Dedicated VRAM 8 GB DDR3 L Memory 8GB SSd+ 1000 GB Hybrid HDD Windows 10 64 Bit

Nun die minimalen Systemanforderungen des Spiels:

Intel Core i3 @ 2.5GHz or AMD Phenom @ 2.5GHz 4 GB RAM NVIDIA GeForce GTX 460 or ATI Radeon HD 5850 DX: Version 11 Windows 7 SP1, Windows 8.1, Windows 10 (64-bit versions only)

Und hier nun noch die empfohlenen Systemanforderungen des Spiels:

Intel Core i5 @ 3.2GHz or AMD @ 4.0GHz or better 6 GB RAM NVIDIA GeForce GTX 760 or AMD R9 270X or better DX: Version 11 Windows 7 SP1, Windows 8.1, Windows 10 (64-bit versions only)

Auf systemanforderungen.com habe ich bereits die technischen Daten meines Laptops eingegeben und vergleichen lassen. Das Spiel würde bei mir laufen, allerdings nur mit 30 FPS bei einer Auflösung von maximal 720p und mittleren Einstellungen. Darauf habe ich ehrlicherweise nur wenig Lust. Ich frage mich jetzt nur, ob ich auf die Angaben dieser Seite so viel Wert legen kann. Schließlich kann ich "Red Orchestra 2: Heroes of Stalingrad", "Rising Storm" (das Addon dazu) sowie "Battlefield Bad Conpany 2" absolut problemlos spielen. Gerade das letzte von mir erwähnte Spiel ist ja eines, welches grafisch sehr gut aufgestellt ist, obwohl es schon einige Jahre auf dem Buckel hat. Wenn ich das problemlos und mit ausreichend viel FPS spielen kann, dürfte "Rising Stom 2" doch eigentlich kein Problem darstellen, oder?

Würde mich echt über die Meinungen eurerseits freuen, da ich keinen Fehlkauf tätigen will.

PC, Computerspiele, Games, Software, Technik, Notebook, Hardware, Gaming, Laptop

Meistgelesene Beiträge zum Thema Software