Autor Beitrag
Xearox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Fr 15.01.10 06:53 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
//------------------------Lager Menge-------------------------------------------
  for Stufe:=1 to 39 do
    begin
      Lagermenge:=Trunc(Lager)*Trunc((Stufe+1)*Power(1.5,Stufe))+Lagermenge; //"Stufe" beträgt hier 1...bedeutet, Stufe 1 + 1 = 2
      GesamtLager:=GesamtLager+Lagermenge;  //Die berechnete Lagermenge wird mit dem vorheriger Lagergröße addiert
      LagerStr:=floattostr(GesamtLager);
      MLager.Text:=MLager.Text+LagerStr+#13#10;
    end;


Zur info, die Formel zur die Lagermenge zu berechenen lautet: Lagermenge = ["Abrunden" Basismenge] * ["Abrunden" ( Stufe + 1 ) * 1,5 ^ ( Stufe + 1 )]
Die Berechnete Lagermenge wird mit der Vorherigen Lagermenge addiert.
Also:...
Stufe 0 = 0
Stufe 1 = +5.000 (5.000) //in klammern ist die vorherige Größe addiert mit der berechneten Größe
Stufe 2 = +20.000 (25.000)
Stufe 3 = +50.000 (75.000)
Stufe 4 = +100.000 (175.000)
Stufe 5 = +185.000 (360.000)
Stufe 6 = +340.000 (700.000)
Stufe 7 = +595.000 (1.295.000)
Stufe 8 = +1.025.000 (2.320.000)
Stufe 9 = +1.725.000 (4.045.000)
Stufe 10 = +2.880.000 (6.925.000)
Stufe 11 = +4.755.000 (11.680.000)
Stufe 12 = +7.780.000 (19.460.000)
Stufe 13 = +12.650.000 (32.110.000)
Stufe 14 = +20.435.000 (52.545.000)
Stufe 15 = +32.840.000 (85.385.000)

Ich fange an, mit der Stufe 2, denn die Startstufe ist Stufe 1.
Die Basismenge ist in diesem Fall 5000...


[Edit]: Jedoch bin ich die Formel auch in Excel durchgegangen, und bekomme da das selber ergebnis...
aus diesem Grund Poste ich euch das Original aus dem Spiel...

Zitat:
Die Menge an Rohstoffen, die man in einem Lager unterbringen kann, wächst, ähnlich wie die Kosten, auch exponentiell an. Die dafür verwendete Funktion latuet:

Lagermenge = ⌊ Basismenge * ⌊ ( Stufe + 1 ) * 1,5 ^ ( Stufe + 1 ) ⌋ ⌋

Genau wie bei den Baukosten beschreibt die Stufe die aktuelle Stufe. Und die Basismenge ist die Lagermenge, die bei einem Lager der Größe 1 gelagert werden kann. Diese kann in der Hilfe zu dem entsprechenden Lagergebäude nachgeschaut werden.
Das Abrunden sorgt hier dafür, dass auch ein Lager der Stufe 1 genau die Basismenge zur Verfügung stellt.
Beachte jedoch, dass dies nur die Lagerkapazität ist, die durch den Bau eines neuen Lagers auf die Gesamtkapazität addiert wird.

Wer die Symbole nicht kennt, ⌊ 1,9 ⌋ bedeutet abrunden


Habe ich irgendetwas Falsch berechnet?
Oder falsch in die Formel eingetragen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19340
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 15.01.10 06:58 
user profile iconXearox hat folgendes geschrieben Zum zitierten Posting springen:
Lagermenge:=Trunc(Lager)*Trunc((Stufe+1)*Power(1.5,Stufe))+Lagermenge;

Zur info, die Formel zur die Lagermenge zu berechenen lautet: Lagermenge = ["Abrunden" Basismenge] * ["Abrunden" ( Stufe + 1 ) * 1,5 ^ ( Stufe + 1 )]
:zwinker:
Xearox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Fr 15.01.10 07:40 
wie blöd muss man eigentlich sein...
vor lauter Formeln sehe ich so eine Kleinigkeit nicht...
Und ich hänge seit mehr als einem Tag daran, diese Formel hinzubekommen....
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19340
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 15.01.10 08:02 
Ganz übereinstimmen tut es aber dennoch noch nicht, denn das Abrunden soll wie ich im Original eben sehe auf das Produkt, nicht auf Lager alleine angewendet werden, das kann in Grenzfällen dann einen Unterschied machen. 1:1 sieht das also so aus:
ausblenden Delphi-Quelltext
1:
Inc(Lagermenge, Trunc(Lager * Trunc((Stufe + 1) * Power(1.5, Stufe + 1))));