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

1

22.11.2016, 23:17

Zufallszahlengenerator C++

Ein ganz herzliches Hallo erstmal an alle! Ich bin neu und das ist mein erster Thread hier im Forum.

Für ein Wirtschaftssimulationsspiel möchte ich zufällig virtuelle Menschen / Kunden generieren. Diese "Kunden" sollen verschiedene Eigenschaften besitzen, z.B. Name, Alter, Geschlecht, Körpergröße, Gewicht usw.. Das Ganze soll nach realen Statisktiken aufgebaut sein. Ich sitze gerade an der "zufälligen" Generierung der Körpergröße. Hier will ich mich auf Werte zwischen 145 - 200 cm beschränken. Soweit ja noch kein Problem. Nun möchte ich aber eine spezielle %-Gewichtung bei der Generierung der Zahlen berücksichtigen, z.B. bei Frauen...

Körpergröße / Anteil in %
145–149 cm / 0,6 %
150–154 cm / 4,0 %
155–159 cm / 12,7 %
160–164 cm / 27,0 %
165–169 cm / 29,1 %
170–174 cm / 17,6 %
175–179 cm / 6,9 %
180–184 cm / 1,8 %
185–189 cm / 0,2 %
190-200 cm / 0,1 %

Kann mir jemand einen Tipp geben wie man so etwas in C++ umsetzen kann?

Vielen Dank im Voraus.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

22.11.2016, 23:58

Denk mal in "von bis" - sprich kumulierte Wahrscheinlichkeit ;) .
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

4

23.11.2016, 19:03

Danke für Eure Antworten! Ich werde mich da mal reinfuchsen. Ich hab gesehen das std::discrete_distribution mir am geeignetsten erscheint.

5

24.11.2016, 12:16

hört sich interessant an, ich liebe Simulationen! Verrätst Du uns nähere Details zu dem Spiel? 8o
Grüße

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

25.11.2016, 06:49

Danke für Eure Antworten! Ich werde mich da mal reinfuchsen. Ich hab gesehen das std::discrete_distribution mir am geeignetsten erscheint.
Warum sollte das der Fall sein? Gerade solche Eigenschaften unterliegen doch ganz sicher einer Normalverteilung. Klar ist diese Statistik da diskret, aber die eigentlich realen Werte dahinter sind normalverteillt. Damit wärst du doch dann auch wesentlich realistischer unterwegs.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

7

25.11.2016, 09:55

https://de.statista.com/statistik/daten/…in-deutschland/ sieht jetzt nicht so normalverteilt aus und auch https://de.wikipedia.org/wiki/K%C3%B6rpe…ndesb.C3.BCrger lässt vermuten, dass Normalverteilung nur bedingt gegeben ist. Vllt hängt es mit dieser Erblichkeit, Ernährung usw zusammen ;). Also ich finde es berechtigt nicht von einer Normalverteilung auszugehen. Außerdem ist im Spiel und in der Liebe alles erlaubt! :P
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

8

25.11.2016, 11:39

Also ich bin der Meinung, ohne jetzt großartig Ahnung davon zu haben, das man die diskrete Verteilung im Detail besser konfigurieren (Nennt man das in dem Zusammenhang so?) kann. Das ganze soll am Ende nun auch nicht ein 100%iges Abbild der Realität werden, was wahrscheinlich auch unmöglich ist, da die Statistiken an sich schon fehlerhaft sein könnten und zudem auch schon älter sind, also das was ich aufgelistet habe. Ich bin C++ Anfänger und kam zu der Annahme, das man bessere Lernerfolge mit einem konkreten Projekt erzielt als das stupide abtippen von irgendwelchen Tutorials.

derMax wollte noch nähere Details über das Spiel wissen. Nun, so ganz genau und bis zum Ende überlegt habe ich das noch nicht. Eine Idee ist erstmal virtuelle Personen bzw. Kunden zu generieren. Diese potenzielle Kunden sollen in einer lokalen Datenbank, ich möchte dafür SQLite nutzen, für die Dauer des Spiels quasi mitleben. Sie sollen viele Eigenschaften besitzen, z.B. welche Interessen sie haben, wann sie Zeit haben z.B. shoppen zu gehen und bspw. wieviel Geld sie bereit sind auszugeben. Der Spieler kennt diese Daten jedoch nicht oder vielleicht nur teilweise. Eine Idee ist das man versuchen muss ein Geschäft oder ähnliches einer bestimmten Branche, z.B. Bekleidung, aufzubauen und in irgendeiner Art und Weise an die Bedürfnisse der Kunden anzupassen. Das ist jetzt nur grob so die Idee, die ich im Kopf habe. Aber eigentlich geht es mir erstmal gar nicht darum ein komplettes, funktionsfähiges Spiel zu bauen sondern Stück für Stück C++ mit Visual Studio im Selbststudium zu erlernen. Ich beschäftige mich jetzt auch erstmal mit der ganzen SQLite Anbindung, mal schauen.

Ich finde es toll das hier eine kleine aber durchaus interessante Diskussion entstanden ist. Hätte ich eingangs nicht erwartet ;)

Werbeanzeige