Objekte dynamisch erzeugen



  • Hallo,

    Zuerst einmal, bitte ich um Rücksicht, ich habe zwar hobbymäßig neben meinem Abi etwas C++ angefangen zu lernen, bin jedoch noch ein absoluter Noob.

    Ich habe vor ein kleines Spiel zu programmieren, bei dem man sich von oben sieht und durch ein Straßennetz laufen kann. Jedoch ist das Straßennetz begrenzt sichtbar und sobald man sich bewegt, bewegt sich die Karte mit. Sozusagen bleibt die Spielfigur immer ziemlich in der Mitte stehen, aber die Karte bewegt sich.

    Ich möchte, dass die Karte nicht vordefiniert ist sondern sie unendlich groß ist, weil der Computer die Straßen immer erweitert.

    Nun zu meiner Frage:
    Wie kann ich Objekte automatisch erzeugen? Sodass immer weiter Straßenabzweigungen oder gerade Straßen angehängt werden und die Karte unendlich groß ist.

    Ich möchte also, dass das Programm bzw der Computer von alleine Objekte inizialisiert und an die Karte anhängt.

    Sorry für die ewig lange Frage, aber hoffe es ist wenigstens verständlich, was ich meine 😃



  • Sealed schrieb:

    ich habe zwar hobbymäßig neben meinem Abi etwas C++ angefangen zu lernen, bin jedoch noch ein absoluter Noob.

    Ich habe vor ein kleines Spiel zu programmieren

    Das passt nicht wirklich gut zusammen, Du solltest erst mal Grundlagen lernen, danach weißt Du auch, wie man Objekte erzeugt.



  • ich weiß ja wie man objekte erzeugt aber ich möchte dass der Computer sie alleine erstellt, benennt etc.
    ich will also diees Szenario beliebig oft machen:

    classname objectname;
    objectname.funtion();

    ich will also unendlich viele objekte erstellen können, aber ich muss ja jedes einzeln benennen. kann man sich das irgendwie alles sparen.

    Sozusagen, dass man ein Programm erstellt, bei dem der User eingibt, wie viele objekte er erstellen will von welcher Klasse und dann werden diese kreiert und eine bestimmte funktion aufgerufen.



  • Siehe http://www.cplusplus.com/reference/vector/vector/!

    size_t n = getNumberOfObjectsFromUserInput();
    vector<classname> allObjects(n);
    for (auto &object : allObjects) {
        object.function();
    }
    

    Sollte aber im 1x1 deines Wissens vorkommen!

    "Unendlich viele" kannst du so aber natürlich nicht erstellen. Denn die müssen ja schon in deinen Speicher passen.



  • wob schrieb:

    Siehe http://www.cplusplus.com/reference/vector/vector/!

    size_t n = getNumberOfObjectsFromUserInput();
    vector<classname> allObjects(n);
    for (auto &object : allObjects) {
        object.function();
    }
    

    Sollte aber im 1x1 deines Wissens vorkommen!

    "Unendlich viele" kannst du so aber natürlich nicht erstellen. Denn die müssen ja schon in deinen Speicher passen.

    cool danke, habe bis jetzt noch nichts mit Vektoren gemacht. Ich habe C++ bis jetzt nur per Lernapp gelernt (dort kamen auch gar keine Vektoren vor) aber wo lernt man denn das Basicwissen für C++? Denn wenn Vektoren dazuzählen, habe ich bestimmt einige andere Grundkenntnise noch nicht erlangt 😮



  • C++ lernst du nur wirklich mit einem vernünftigen Buch, s. z.B. Bücher: C++ Lernen - passende Lektüre und richtiger Anfang.



  • Th69 schrieb:

    C++ lernst du nur wirklich mit einem vernünftigen Buch, s. z.B. Bücher: C++ Lernen - passende Lektüre und richtiger Anfang.

    ok super danke, probier ich direkt aus 😃 hatte bi jetzt immer eher angst bücher zu kaufen und damit zu lernen, da oftmals bücher nicht gut genug erklären oder einfach keine community da ist zum fragen. Aber ich werds mal versuchen 👍



  • Sealed schrieb:

    aber ich möchte dass der Computer sie alleine erstellt

    ROFL



  • Sealed schrieb:

    da oftmals bücher nicht gut genug erklären oder einfach keine community da ist zum fragen. Aber ich werds mal versuchen 👍

    Wenn Du mit einem guten Buch lernst, und dann konkrete Fragen zu konkreten Problemen hast, findest Du hier ganz sicher Hilfe!


Anmelden zum Antworten