Du bist nicht angemeldet.

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!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 31.

Werbeanzeige

31.03.2020, 21:05

Forenbeitrag von: »justmytwocents«

C++ Vektor bestehend aus Strukturelementen

Hallo. Habe ein paar Fragen zu folgendem Quelltext: 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 #include <iostream> #include <vector> using namespace std; struct myStruct{ myStruct(int x, int y) { xPos = x; yPos = y; } int xPos; int yPos; }; int main() { std::vector<myStruct> myVector; myVector.push_back(myStruct(10, 20)); // Das funktioniert, aber warum? myVector.push_back(myStruct(30, 40)); cout << "Zahl_1-x: " << myVector[0].xPos << " Zahl1-y: " << myVector[0]....

29.03.2020, 16:37

Forenbeitrag von: »justmytwocents«

C++ und SFML - Verwirrung um Initialisierungsliste

Cool. Danke für die Hilfe. Eine Frage hätte ich da aber noch. Quellcode 1 2 3 4 5 6 7 struct SnakeSegment{ SnakeSegment(int x, int y) { position = sf::Vector2i(x, y); } sf::Vector2i position; }; Wie kann es sein, dass man einfach position = sf::Vector2i(x,y); schreiben kann bevor man "position" deklariert hat? Ich würde es logischer finden wenn man erst sf::Vector2i position; schreiben muss und dann erst auf "positon" zugreifen kann. Vorher dürfte dem Kompiler "position" gar nicht bekannt sein.

29.03.2020, 12:13

Forenbeitrag von: »justmytwocents«

C++ und SFML - Verwirrung um Initialisierungsliste

Hallo. Habe hier mal wieder einen Codeausschnitt: Quellcode 1 2 3 4 struct SnakeSegment { SnakeSegment (int x, int y) : position(x, y) {} sf::Vector2i position; }; Wenn ich das richtig sehe, dann wird mit SnakeSegmengt(int x, int y) der Konstruktor deklariert und gleichzeitig implementiert - wegen der {}-Klammern. Nur wie werden diese übergebenen Werte verwendet? - die {}-Klammern sind ja leer. Und nach dem : wird anscheinend der Konstruktor von sf::Vector2i position; aufgerufen. Aber woher weiß...

25.03.2020, 18:26

Forenbeitrag von: »justmytwocents«

C++ und SFML - Umgang mit Initialisierungslisten

Danke für die Antworten. Mal sehen wie ich das in Zukunft verwende.

24.03.2020, 19:04

Forenbeitrag von: »justmytwocents«

C++ und SFML - Umgang mit Initialisierungslisten

Hallo. Ich bin über folgenden Codeausschnitt gestolpert: Quellcode 1 2 3 4 5 Game::Game() : m_window("Chapter 2", sf::Vector2u(800,600)) { // Setting up class members m_tileTexture.loadFromFile("Tile.png"); ... } m_window wird nach dem Doppelpunkt initialisiert - so weit so gut. Aber warum verwendet man dazu nicht einfach eine eigens geschriebene public Window:: Setup-Funktion? Stattdessen lässt der Autor dieser Zeilen die Window:: Setup-Funktion private und nutzt die Initialisieurngsliste. Ist ...

21.03.2020, 18:33

Forenbeitrag von: »justmytwocents«

C++ und SFML - Schlüsselwort auto durch Datentyp ersetzen

Danke für die Antwort. Habe auto durch 'sf::Uint32' ersetzt und es funktioniert. Das auto-Schlüsselwort finde ich manchmal noch recht verwirrend. Macht es an dieser Stelle überhaupt Sinn es zu verwenen?

21.03.2020, 18:29

Forenbeitrag von: »justmytwocents«

C++ Minimum in jeder Reihe eines 2D-Vektors bekommen

Danke für die Tipps. Habe die Funktion nochmal überarbeitet. Quellcode 1 2 3 4 5 6 7 8 int sum_of_minimums(std::vector<std::vector<int>>& numbers) { int Temp = 0; for (auto i : numbers) Temp += *min_element(i.begin(), i.end()); return Temp; } Edit: Habe die Funktion nochmal geändert.

20.03.2020, 23:14

Forenbeitrag von: »justmytwocents«

C++ und SFML - Schlüsselwort auto durch Datentyp ersetzen

Hallo. Ich habe hier einen Codeausschnitt in dem das Schlüsselwort auto verwendet wird. Quellcode 1 2 3 4 void Window::Create() { auto style = (m_isFullscreen ? sf::Style::Fullscreen : sf::Style::Default); m_window.create( {m_windowSize.x, m_windowSize.y, 32}, m_windowTitle, style); } Durch welchen Datentyp muss ich auto ersetzen um dieses auto-Schlüsselwort rauszuschmeißen? Habe schon sf:: Style versucht aber das ging leider nicht.

20.03.2020, 23:01

Forenbeitrag von: »justmytwocents«

C++ Minimum in jeder Reihe eines 2D-Vektors bekommen

Habe jetzt die Lösung. Mein Problem war, dass ich nicht wusste das man foo.size() auf einzelne Reihen im 2D-Vektor verwenden kann. Ich dachte, dass man mit foo.size() die Anzahl aller Elemente im 2D-Vektor bekommt. Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int sum_of_minimums(std::vector<std::vector<int>>& numbers) { vector<int> myVec = {0}; int Temp = 0; for (int y=0; y < numbers.size(); y++) { sort(numbers[y].begin(), numbers[y].end()); myVec.push_back(numbers[y][0]); } for (int i=0; i < m...

08.03.2020, 19:11

Forenbeitrag von: »justmytwocents«

C++ Minimum in jeder Reihe eines 2D-Vektors bekommen

Hallo. Ich hab ein neues Problem. Es soll eine Funktion geschrieben werden die einen 2D Vektor bekommt. Als Rückgabewert soll sie das Minimum jeder Reihe liefern. Also z.B.: {1,2,3,4,5}, // Minimum der Reihe ist 1 {5,6,7,8,9}, // Minimum der Reihe ist 5 {20,21,34,56,100} // Minimum der Reihe ist 20 1 + 5 + 20 = 26 Also soll 26 zurückgegeben werden. Es ist übrigens gewährleistet das es keine leeren Vektoren gibt und sie immer positive Werte enthalten. Mein Code bisher: Quellcode 1 2 3 4 5 6 7 8 9...

29.02.2020, 11:29

Forenbeitrag von: »justmytwocents«

C++ Eine int Zahl in einzelene Ziffern zerlegen und im Vektor speichern

Cool. Danke Konnte das Problem damit lösen. Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 std::vector<int> digitize(unsigned long n) { vector <int> myVec; do { myVec.push_back(n % 10); n = n / 10; } while (n > 0); return myVec; }

29.02.2020, 10:44

Forenbeitrag von: »justmytwocents«

C++ snprintf() unter Code Blocks verwenden (sprintf_s funktioniert nur unter Visual Studio)

Hab mal ein bisschen gegoogelt und die Antwort heißt string streams. Hier der Code dazu: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream> #include <sstream> // nötig fur ostringstream using namespace std; int main() { ostringstream buffer; string name = "Hans"; int punkte = 430; // String zusammenbauen buffer << "Spieler " << name << " hat " << punkte << " Punkte erreicht."; // buffer in string kopieren string myString = buffer.str(); // string ausgeben cout...

28.02.2020, 18:15

Forenbeitrag von: »justmytwocents«

C++ snprintf() unter Code Blocks verwenden (sprintf_s funktioniert nur unter Visual Studio)

Was wäre den eine gute IDE-Alternative? Eclipse oder Visual Studio Code vielleicht? Habe Code Blocks verwendet weil es in einem (älteren) youtube Video empfohlen wurde. Wie löst man das ganze mit strings? Steht das auch im C++ Buch?

28.02.2020, 17:23

Forenbeitrag von: »justmytwocents«

C++ snprintf() unter Code Blocks verwenden (sprintf_s funktioniert nur unter Visual Studio)

Für alle die sich wie ich gewundert haben warum sprintf_s nicht unter Code Blocks funktioniert - hier ein kleiner Codeausschnit: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <iostream> #include <stdio.h> // nötig für snprintf() using namespace std; int main() { char buffer[60]; char name[30] = "Hans"; int punkte = 430; // String zusammenbauen snprintf(buffer, 60, "Spieler %s hat %i Punkte erreicht.", name, punkte); cout << buffer << endl; return 0; } Das ganze funktioniert ...

28.02.2020, 16:58

Forenbeitrag von: »justmytwocents«

C++ Eine int Zahl in einzelene Ziffern zerlegen und im Vektor speichern

Hallo. Habe ein neues Problem: Es soll eine Funktion geschrieben werden die eine int Zahl bekommt. Die Zahl soll in einzelne Ziffern zerlegt werden und dann in umgekehrter Reihenfolge in einem Vektor gespeichert werden. Hier mein bisheriges Programm: 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 using namespace std; std::vector<int> digitize(unsigned long n) { int temp=0; vector <int> myVec; temp = n / 100; myVec.push_back(temp); n = n - temp * 100; temp = n / 10...

Werbeanzeige