Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Formel/Funktion für Werte (https://www.delphipraxis.net/164501-formel-funktion-fuer-werte.html)

WorstNightmare 15. Nov 2011 18:43

Formel/Funktion für Werte
 
Hallo,

ich hoffe ich bin in diesem Unterforum richtig, mein Problem hat nicht direkt mit Delphi/Programmierung zu tun...

Folgende Tabelle gibt Auskunft über die Lebenspunkte von Monstern in einem Spiel: Tabelle auf Zoho

Die Werte wurden offensichtlich mit einer Formel oder einem Algorithmus erzeugt, allerdings kann ich nicht feststellen mit welchem.
Bei Lv. 1 sind es 15 HP, dann erhöht sich der Wert ein paar mal um 5, von Lv. 3 auf 4 um 10 und danach etwas länger um 15 (und beim nächsten Mal nicht etwa um 20, sondern 25).

Kann mir jemand helfen, den Algorithmus zu finden? Wenn man die Werte plottet sieht die Kurve exponential aus, allerdings immer mit so Ecken als wären es viele lineare Funktionen aneinandergelegt (was die Werte im Prinzip ja auch aussagen, nur frage ich mich ob es einen Weg gibt das einfacher zu beschreiben, da der Term sonst ziemlich lang wäre).

Sir Rufo 15. Nov 2011 19:20

AW: Formel/Funktion für Werte
 
Ich würde mal vermuten da wurde immer auf volle 5 gerundet.
Code:
11 -> 10
12 -> 10
13 -> 15
14 -> 15
15 -> 15
Nimm also mal deine angenommene Funktion und lasse die Werte entsprechend runden.

WorstNightmare 15. Nov 2011 19:36

AW: Formel/Funktion für Werte
 
Zitat:

Zitat von Sir Rufo (Beitrag 1136364)
Nimm also mal deine angenommene Funktion und lasse die Werte entsprechend runden.

Wenn ich eine angenommene Funktion hätte wäre ich da wohl auch selber drauf gekommen... allerdings habe ich ja nicht mal die. Sowas wie x^2 + 15 geht wohl für die ersten 3 Werte (mit auf 5 runden), aber für alle anderen bedarf es wohl einer viel komplexeren Gleichung.

Furtbichler 15. Nov 2011 19:49

AW: Formel/Funktion für Werte
 
Das ist keine Funktion. Schau dir mal die Spalte 'diff' an. Das hüpft ab hp=30 total hin und her.

Code:
mobid  mob level hp  diff
3210100   26   580   55
2150003   28   720   140
2230111   29   790   70
3300000   30   900   110
3150000   31   990   90
3300002   32   1100   110
3150001   33   1200   100
3300004   34   1300   100

Bummi 15. Nov 2011 19:52

AW: Formel/Funktion für Werte
 
manchmal ist eine Tabelle einfach nur eine Tabelle, stetig ist die Funktion sofern vorhanden in jedem Fall nicht


25 525
26 580
28 720
29 790

und das ist nur die erste Stelle die mir aufgefallen ist ....

[edit]
schon wieder kein roter Kasten ....
[/edit]

Sir Rufo 15. Nov 2011 20:03

AW: Formel/Funktion für Werte
 
ich hoffe euch ist aber aufgefallen, dass es Lücken in der Tabelle gibt?

So fehlt z.B. die ID 27 gänzlich. Wenn man das nicht berücksichtigt, dann sieht das an der Stelle tatsächlich konfus aus ;)

Die Diff-Spalte wurde hier mit der Formel (Zelle D4)
Code:
=(C4-C3)/(B4-B3)
berechnet
Code:
2150002   25   525   30
3210100   26   580   55
???????   27   ???   ??
2150003   28   720   70
2230111   29   790   70
3300000   30   900   110
3150000   31   990   90
3300002   32   1100   110

Bummi 15. Nov 2011 20:19

AW: Formel/Funktion für Werte
 
Nein, hatte ich tatsächlich übersehen, allerdings muss man ja nicht viel weiter suchen ....
Code:
29   790      70
30   900      110
31   990      90
32   1100      110

Sir Rufo 15. Nov 2011 20:23

AW: Formel/Funktion für Werte
 
Zitat:

Zitat von Bummi (Beitrag 1136381)
Nein, hatte ich tatsächlich übersehen, allerdings muss man ja nicht viel weiter suchen ....
Code:
29   790      70
30   900      110
31   990      90
32   1100      110

Allerdings frage ich mich auch, wie diese Werte-Tabelle entstanden ist.
Wenn da Lücken bei den IDs sind ... scheint es da wohl eine gewisse Unschärfe zu geben ...
Gibt es die dann evtl. auch bei den hp-Werten?

WorstNightmare 15. Nov 2011 20:36

AW: Formel/Funktion für Werte
 
Ah, das war mir gar nicht aufgefallen... aber bis auf wenige Ausnahmen passt die Differenz eigentlich immer in ein gewisses Schema. Ich wäre ja schon mit einer Funktion zufrieden die sich annähernd an diese Vorgaben hält, Abweichungen von ~10% wären durchaus tollerierbar.

"mobid" ist völlig unwichtig, diese IDs sagen nur grob was darüber aus in welchem Gebiet das Monster anzutreffen ist.

Medium 15. Nov 2011 20:45

AW: Formel/Funktion für Werte
 
Dass die Differenzen teils etwas oszillieren würde ich eher der Rundung zuschreiben. Es sieht so aus, als wäre die Basis eine Funktion, die dann entweder stückweise auf unterschiedliche Genauigkeiten gerundet wurde, oder sogar manuell.

Man nehme einfach nur mal f(x)=x^2:
Code:
 x f(x) auf 5 auf 10  diff
 0   0    0            --
 1   1    0              0
 2   4    5              5
 3   9   10              5
 4  16   15             10
 5  25   25             10
 6  36         30        5 <--
 7  49         50       20
 8  64         60       10 <--
 9  81         80       20
10 100        100       20
11 121        120       20
12 144        140       20
Solche Differenzen allein sind kaum ein Argument gegen eine Gesetzmäßigkeit, nur müsste man zur Funktion eben noch die intervallweisen Rundungsgenaugkeiten (und die Intervalle) ermitteln. Findet man dann noch eine Gesetzmäßigkeit bei den Intervallen und Genauigkeiten, steht einer Extrapolation nichts mehr im Wege :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz