![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Blubb... öfz Registriert seit: 16.03.2006 Ort: Berlin
Beiträge: 419
|
Ich wusste nicht, in welches Forum ich das schreiben sollte, darum habe ich einfach mal das globalste genommen. Für mein Browsergame möchte ich gerne Angebot und Nachfrage berechnen. Ich habe mich mit einem Freund bereits auseinandergesetzt, bin aber noch nicht zufrieden. Drei Daten stehen mir zur Verfügung: - Gesamte Anzahl an Tonnen der Waren, die im Umlauf sind - Gekaufte Waren an einem Tag (in Tonnen) - lässt sich auch auf längere Sicht speichern - Anzahl der Tonnen im Markt / Handel / Langer Nun sind wir bisher auf folgendes Konzept gekommen, das ich am besten anhand eines Beispiels erläutere: Gegeben sei ein Richtwert von 7 Es gibt im Handel 100 Tonnen Holz. An einem Tag wurden 10 Tonnen gekauft. 100 / 10 = 10 Der Quotient für einen Tag wäre also 10. Dieser wird nun eine Woche lang aufgenommen, dann der Mittelwert berechnet. Gehen wir mal davon aus, dass dann 7 Tage lang 10 Tonnen pro Tag gekauft werden und der Warenbestand im Lager konstant 100 bleibt, also haben wir einen Durchschnitt von 10. Der Preis pro Tonne liegt am Anfang der Woche bei 9 € 10 > 7, Angebot größer als Nachfrage: Preis sinkt Der Richtwert wird wohl einmal pro Woche oder alle 14 Tage bestimmt. Das heißt, dass diese Woche der Richtwert steigen würde. 10 - 7 / 2 = 1,5 R = 8,5 Und dann gehts weiter... Hoffe die Rechnung wurde verstanden und ist logisch. Nun mal meine Frage... Ich habe ja wie oben geschrieben 3 Werte zur Verfügung. Bislang ist aber die Nachfrage "künstlich" erstellt worden. Wie kann ich die sich aktuell im Umlauf befindenden Waren mit in die Rechnung mit aufnehmen, sodass dort auch nochmals eine Abhängigkeit entsteht? Ebenfalls ist noch die Frage, wie weit der Preisverfall ist, bzw wie man den am logischsten ausrechnet.
__________________ Vive la France! Welcome to Sarkoworld... Geändert von ljungi (16.12.2006 um 18:31 Uhr). |
| | |
| | Nach oben #2 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.471
|
Hi, denke mal, dass das eher in das Forum "Plauderecke" passt. Ist halt irgendwie offtopic, wenn man sich die anderen Foren anschaut .. hmmm .. hätte auch nicht gewusst, wo ich das reinschreiben soll. Ich verschieb es mal. Werde eventuell morgen oder übermorgen nochmals schauen, ob ich da 'ne Antwort finde (bin gerade .. alkoholisiert *g*). Grüße, Ben. |
| | |
| | Nach oben #3 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Es ist doch total einfach Du hast ein Anfangswert von 100t Holz. Der Anfangsbedarf liebt bei 10t am Tag. Die Anfangsproduktion liegt auch bei 10t am Tag. Fazit: Preis bleibt stabil. Wenn nun der Bedarf auf 20t steigt. Hast du nach einem Tag nur noch 90t, am nächsten nur noch 80t, dann 70t etc. Die Ressourcen sinken, da Nachfrage höher. Fazit: Preis steigt. Du solltest also nur "Produktion pro Tag" / "Verbrauch pro Tag" = "Index" rechnen. Ist der Index > 1, sinkt der Preis, da mehr produziert als verbraucht wird. Ist der Index < 1, steigt der Preis, da mehr verbraucht als produziert wird. Je nachdem wie weit der Index von der 1 weg ist, desto größer ist der Preisanstieg / die Preissenkung. Sonderfall: 20t auf Lager, Produktion 10t, Verbrauch 50t. Es fehlen also locker 20t für den Tag. Im Normalfall würde der Preis nun explodieren. Demzufolge kannst du rechnen: "Lager + Produktion" / "Verbrauch" = "Index" dann ist 1 / "Index" deine Preisteigerung. Mit den Daten oben, kannst du den Preis dann auf das 1,66 fache steigern, also um 66% nach oben schrauben. Noch Fragen ?
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #4 |
| Blubb... öfz Registriert seit: 16.03.2006 Ort: Berlin
Beiträge: 419
|
Oh ja.. ^^ Ich verstehe wie du das meinst. Klar, kein Ding Nur scheitere ich schon bei der Umsetzung meines eigenen Systems ! Ich poste am Ende des Beitrags mal meinen aktuellen Quelltext, dokumentiert und hoffentlich verständlich - sage im vorneherein aber schon, dass so gut wie alle meine Tests fehlgeschlagen sind und ich nun auf ein Banaleres System umgestiegen bin (menge im Lager - menge im Lager von vor einer Woche; wenn Ergebnis negativ, Preis steigt, wenn positiv, Preis sinkt, funktioniert auch, allerdings sind die Schwankungen dann teils enorm). Hier also nun der Quelltext. Ich habe mir einige Beispiele auf dem Papier ausgerechnet, da hat es immer geklappt. PHP-Code: Code: Alter Richtwert
Array
(
[0] => 70
[Holz] => 70
[1] => 70
[Eisen] => 70
[2] => 70
[Stahl] => 70
[3] => 70
[Wasser] => 70
[4] => 70
[Beton] => 70
[5] => 70
[Sand] => 70
[6] => 70
[Glas] => 70
[7] => 70
[Titan] => 70
[8] => 70
[Oel] => 70
[9] => 70
[Nahrung] => 70
)
Neuer Richtwert
Array
(
[Holz] => -2465
[Eisen] => 105.12622720898
[Stahl] => 70
[Beton] => 315.5049088359
[Wasser] => 70
[Sand] => 70
[Titan] => 70
[Glas] => 70
[Oel] => 70
[Nahrung] => 70
)
Marktstand aktuell
Array
(
[0] => 3
[id] => 3
[1] => 25000
[Holz] => 25000
[2] => 30000
[Eisen] => 30000
[3] => 20000
[Stahl] => 20000
[4] => 20000
[Wasser] => 20000
[5] => 60000
[Beton] => 60000
[6] => 20000
[Sand] => 20000
[7] => 20000
[Glas] => 20000
[8] => 20000
[Titan] => 20000
[9] => 20000
[Oel] => 20000
[10] => 20000
[Nahrung] => 20000
)
Marktstand letzte Woche
Array
(
[0] => 30000
[Holz] => 30000
[1] => 20000
[Eisen] => 20000
[2] => 20000
[Stahl] => 20000
[3] => 20000
[Wasser] => 20000
[4] => 20000
[Beton] => 20000
[5] => 20000
[Sand] => 20000
[6] => 20000
[Glas] => 20000
[7] => 20000
[Titan] => 20000
[8] => 20000
[Oel] => 20000
[9] => 20000
[Nahrung] => 20000
)
Alter Quotient
Array
(
[0] => 100
[Holz] => 100
[1] => 100
[Eisen] => 100
[2] => 100
[Stahl] => 100
[3] => 100
[Wasser] => 100
[4] => 100
[Beton] => 100
[5] => 100
[Sand] => 100
[6] => 100
[Glas] => 100
[7] => 100
[Titan] => 100
[8] => 100
[Oel] => 100
[9] => 100
[Nahrung] => 100
)
Neuer Quotient
Array
(
[Holz] => -5070
[Eisen] => 70.252454417952
[Stahl] => 100
[Beton] => 491.00981767181
[Wasser] => 100
[Sand] => 100
[Titan] => 100
[Glas] => 100
[Oel] => 100
[Nahrung] => 100
)
Alter Preis
Array
(
[0] => 10
[Holz] => 10
[1] => 10
[Eisen] => 10
[2] => 10
[Stahl] => 10
[3] => 10
[Wasser] => 10
[4] => 10
[Beton] => 10
[5] => 10
[Sand] => 10
[6] => 10
[Glas] => 10
[7] => 10
[Titan] => 10
[8] => 10
[Oel] => 10
[9] => 10
[Nahrung] => 10
)
Neuer Preis
Array
(
[Holz] => 10.7
[Eisen] => 8.9487377279102
[Stahl] => 10
[Beton] => 6.844950911641
[Wasser] => 10
[Sand] => 10
[Titan] => 10
[Glas] => 10
[Oel] => 10
[Nahrung] => 10
)
Man sieht ganz klar - das System funktioniert recht gut. Der Preis sinkt und steigt. In diesem Beispiel habe ich allerdings nichts gekauft, der Lagerstand ist lediglich verändert worden. Kaufe ich nun 2000 Tonnen Holz, dann kommt folgendes raus Code: DEBUG-Ausgabe:
Alter Richtwert
Array
(
[0] => 70
[Holz] => 70
[1] => 70
[Eisen] => 70
[2] => 70
[Stahl] => 70
[3] => 70
[Wasser] => 70
[4] => 70
[Beton] => 70
[5] => 70
[Sand] => 70
[6] => 70
[Glas] => 70
[7] => 70
[Titan] => 70
[8] => 70
[Oel] => 70
[9] => 70
[Nahrung] => 70
)
Neuer Richtwert
Array
(
[Holz] => 41.25
[Eisen] => 105.12622720898
[Stahl] => 70
[Beton] => 315.5049088359
[Wasser] => 70
[Sand] => 70
[Titan] => 70
[Glas] => 70
[Oel] => 70
[Nahrung] => 70
)
Marktstand aktuell
Array
(
[0] => 3
[id] => 3
[1] => 25000
[Holz] => 25000
[2] => 30000
[Eisen] => 30000
[3] => 20000
[Stahl] => 20000
[4] => 20000
[Wasser] => 20000
[5] => 60000
[Beton] => 60000
[6] => 20000
[Sand] => 20000
[7] => 20000
[Glas] => 20000
[8] => 20000
[Titan] => 20000
[9] => 20000
[Oel] => 20000
[10] => 20000
[Nahrung] => 20000
)
Marktstand letzte Woche
Array
(
[0] => 30000
[Holz] => 30000
[1] => 20000
[Eisen] => 20000
[2] => 20000
[Stahl] => 20000
[3] => 20000
[Wasser] => 20000
[4] => 20000
[Beton] => 20000
[5] => 20000
[Sand] => 20000
[6] => 20000
[Glas] => 20000
[7] => 20000
[Titan] => 20000
[8] => 20000
[Oel] => 20000
[9] => 20000
[Nahrung] => 20000
)
Alter Quotient
Array
(
[0] => 100
[Holz] => 100
[1] => 100
[Eisen] => 100
[2] => 100
[Stahl] => 100
[3] => 100
[Wasser] => 100
[4] => 100
[Beton] => 100
[5] => 100
[Sand] => 100
[6] => 100
[Glas] => 100
[7] => 100
[Titan] => 100
[8] => 100
[Oel] => 100
[9] => 100
[Nahrung] => 100
)
Neuer Quotient
Array
(
[Holz] => -57.5
[Eisen] => 70.252454417952
[Stahl] => 100
[Beton] => 491.00981767181
[Wasser] => 100
[Sand] => 100
[Titan] => 100
[Glas] => 100
[Oel] => 100
[Nahrung] => 100
)
Alter Preis
Array
(
[0] => 10
[Holz] => 10
[1] => 10
[Eisen] => 10
[2] => 10
[Stahl] => 10
[3] => 10
[Wasser] => 10
[4] => 10
[Beton] => 10
[5] => 10
[Sand] => 10
[6] => 10
[Glas] => 10
[7] => 10
[Titan] => 10
[8] => 10
[Oel] => 10
[9] => 10
[Nahrung] => 10
)
Neuer Preis
Array
(
[Holz] => 10.7
[Eisen] => 8.9487377279102
[Stahl] => 10
[Beton] => 6.844950911641
[Wasser] => 10
[Sand] => 10
[Titan] => 10
[Glas] => 10
[Oel] => 10
[Nahrung] => 10
)
__________________ Vive la France! Welcome to Sarkoworld... Geändert von ljungi (17.12.2006 um 14:39 Uhr). |
| | |
| | Nach oben #5 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
schau ich mir heute abend an. ich muss jetzt erstmal kaffee trinken und abendbrot essen bei verwandten da nehm ich wieder 3 kilo zu ey
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #6 |
| Blubb... öfz Registriert seit: 16.03.2006 Ort: Berlin
Beiträge: 419
|
Danke. Dann noch folgendes Phänomen, dem ich gerade auf der Spur bin... Kaufe ich 2000 Tonnen ein, so wird der Preis mäßig geändert. Kaufe ich nur 10 Tonnen ein, dann bricht der Preis drastisch ein - geht ins Negative. Und.. Mahlzeit - iss gleich für die ganze Woche, das spart Zeit und Geld
__________________ Vive la France! Welcome to Sarkoworld... |
| | |
| | Nach oben #7 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Ich find das mit deinem Richtwert und Quotienten echt wirre. Schreib mal dein Skript um so dass es ohne deine klassen funktioniert und schick mir nen dump (mailaddy haste per PN), ansonsten würde ich dir empfehlen, alles rauszunehmen und eine schleife nach der anderen einzeln zu begutachten ob sie das liefert was du verlangst. ich denke aber mit der von mir oben genannten methode gehts um einiges leichter
__________________ I did it my way - Senseless-Blog |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Suche Hilfe für eine Portalseite | bl-25 | PHP-Programmierung | 36 | 29.05.2007 15:57 |