hi,
also ich mach mal ein beispiel:
ich bin bei einem autorenn-spiel 1 minute, 23 sekunden und 456 tausendstel sekunden gefahren und es wird folgendermaßen gespeichert:
die anzahl der minuten (variable: int m_minuten) in die erste editbox (01), die anzahl der sekunden (int m_sekunden) in die zweite editbox (23) und die tausendstel (int m_tausendstel) in die dritte editbox (456).
nun gibt es einen rekord: 0 minuten, 56 sekunden und 789 tausendstel sekunden.
die minuten (int m_RECORDminuten) in die vierte editbox (00), die sekunden (int m_RECORDsekunden) in die fünfte (56) und die tausendstel (int m_RECORDtausendstel) in die sechste (789).
jetzt brauch ich eine formel mit den variablen, die die differenz der beiden zeiten ausrechnet. in diesem beispiel müsste da also stehen:
|
Quellcode
|
1
2
3
|
eigene zeit differenz zu rekord zeit rekordzeit
01:23,456 - 00:26,667 00:56,789
|
ich hab schon rumüberlegt, dass man alles in sekunden umwandelt und dann einfach abzieht, z. B.:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
m_gesamtzeit = (m_minuten * 60) + (m_sekunden) + (m_tausendstel / 1000);
m_RECORDgesamtzeit = (m_RECORDminuten * 60) + (m_RECORDsekunden) + (m_RECORDtausendstel / 1000);
m_differenz = m_RECORDgesamtzeit - m_gesamtzeit;
|
dann erhält man nämlich bei diesem beispiel:
eigene zeit: (01 * 60) + (23) + (456 / 1000) = 83,456
rekord zeit: (00 * 60) + (56) + (789 / 1000) = 56,789
differenz: 56,789 - 83,456 = -26,677
nun habe ich aber das problem, die differenz (-26,677) wieder in die drei variablen (m_DIFminuten, m_DIFsekunden, m_DIFtausendstel) einzuteilen....
kann man das noch irgendwie anders machen?
ich hoffe, ihr könnt mir helfen,
vielen dank im voraus,
mfg Gon