Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hilfe bei Formel (https://www.delphipraxis.net/27309-hilfe-bei-formel.html)

Pseudemys Nelsoni 7. Aug 2004 18:43


Hilfe bei Formel
 
hallo =)

kann mir jemand helfen folgende funktion zu realisieren?:

Zitat:

NP = AP + K * (WL - (1 / (10 ^ (DR / 400) + 1))

NP: sind die neuen Punkte.
AP: sind die alten punkte.
K: ist eine konstante, die die maximal zu gewinnende/verlierende punktzahl enthält basiert auf den Gegnerrank gegen den man gespielt hat. 1minimum-64maximum
WL: ob man gewonnen oder verloren hat (1/0)
DR: ist die differenz de rpunkte beider spieler.

ein spieler kann nie mehr als 10% seiner punkte verlieren.

Delphi-Quellcode:
function GetPoints(Player1, Player2: integer): integer;
var NP, AP, WL, DR, winnerPoints, loserPoints: integer;
const K: integer = 64;
begin
  DR := loserpoints - winnerpoints;
  result := AP + K * (WL - (1 / (10 ^ (DR / 400) + 1)));
end;
das geht soweit ganz gut da wenn ich der funktion "0, 0" übergebe ich "32" bekomme.... falsch wird es nur wenn ich z.b "120,120" übergebe...da kriege ich immer noch "32" das dürfte aber eigentlich nicht sein....und der Fehler muss an K liegen.... weiss jemand wie ich für die K Konstante den richtigen wert bekomme? 64 kann es ja nicht immer sein...


viewlleicht hilft das ja weiter: http://www.montanachess.com/members/uscfrate.htm

aber ich kriege das nich raus...

DelphiFreund 7. Aug 2004 18:45

Re: Hilfe bei Formel
 
NP = AP + K * (WL - (1 / Power(10, (DR / 400) + 1)) ;


würd ich sagen

math muss in uses stehen.

Gruß DelphiFreund

Pseudemys Nelsoni 7. Aug 2004 18:49

Re: Hilfe bei Formel
 
hallo,

ich habe das ganze in C, habs nur kurz in delphi "überschrieben" damit jeder versteht was ich meine. Meine Rechnung stimmt sonst soweit, also in C brauch man kein Power, sorry, haette ich erwähnen sollen

DelphiFreund 7. Aug 2004 18:51

Re: Hilfe bei Formel
 
Ich hab das geschrieben,weil Delphi keine Potenzen kann. Deshalb funktion Power.
Geht das in C?

Gruß DelphiFreund

Pseudemys Nelsoni 7. Aug 2004 18:54

Re: Hilfe bei Formel
 
jo, in C geht das mit ^


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.

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