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!

Werbeanzeige

Korowai

unregistriert

1

21.04.2015, 18:05

Vektoren- Prüfen ob ein Vektor mit Instanzen gefüllt wird

Hi,

ich beschreibe mal das Problem.

Ich habe einen Integer- Vektor, der mit ca. 1Dutzend Werten belegt wird.
Der Spieler kann im Spiel fortlaufend neue Instanzen erstellen, die jeweils wieder gelöscht werden oder ergänzt werden.
Er kann auch die Variablen mit höheren Werten belegen (bspw. Stärke etc...)

Mit welchem Befehl kann ich über das Programm prüfen, wieviele Instanzen der Spieler angelegt hat und diese am Bildschirm ausgeben.

Es hat mMn wahrscheinlich was mit den Iteratoren zu schaffen, aber ich finde im Netz nix eindeutiges, was mich weiter bringt.

Gut wäre ein Codesatz, der den Vektor auf Instanzen prüft, gefolgt von einer for Schleife, die dann alle Instanzen mit Namen und Integern ausgibt.

Kennt jemand ein Beispiel? Wo kann ich nachsehen?

2

21.04.2015, 18:13

Link

Für dich dürfte size intereasant sein und begin und end (wenn ich das Problem richtig Verstanden habe).

Ist übrigens in paar sec gegoogelt.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

Korowai

unregistriert

3

21.04.2015, 18:27

Danke,

ich muss mal doof nachfragen.
Ich hatte size als Zugriff auf die Inhalte auf den Container des VEktors begriffen, nicht als Abfrage der Instanzen.

Das Problem ist ja, dass der Container auf jeden Fall mit Werten gefüllt ist, da die zugeordneten Integer bereits einen Wert haben.

Ich möchte quasi die Anzahl der Instanzen abfragen.

Ich versuche mal in Pseudo:

std::vector<int>Vektor(5);
Das erschafft mir einen VEktor, dessen COntainer 5 Integer enthält.
Jetzt lege ich diesen COntainer über den Vektor in eine Anzahl an COntainern zu je 5 Integern.
Und da scheitere ich...
Wie bekomme ich hin, dass der Vektor "Vektor" Instanzen erhält, und wie kann ich deren Anzahl abfragen. Es geht mir nicht um die Werte der Integervariablen.

Vektor "Vektor"
Integer 1 - Integer 2 - Integer 3 - Integer 4 - Integer 5

Problem: Mehrere "Vektor" mit jeweils 5 Integern werden vom Spieler angelegt.
Das Program soll die Anzahl der Vektoren erfassen...

Vielleicht funktioniert das mit size... aber ich habe es so verstanden, dass ich mit size nur die Integervariablen erfassen kann...

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

4

21.04.2015, 18:29

In C++11 gerne auch:

C-/C++-Quelltext

1
2
3
for(auto& objekt : objekte){
    // ...
}

[Edit]

Achso...

C-/C++-Quelltext

1
2
3
4
5
vector<vector<int>> foo(5); // 5x vector<int>

for(auto& v : foo){
    v.resize(5); // alle 5 auf größe 5 skalieren
}

Korowai

unregistriert

5

21.04.2015, 18:30

Welche Grundlagen empfiehlst Du mir?

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

6

21.04.2015, 18:31

siehe Post #4.

Werbeanzeige