Suche Lösungsweg

Hallo,

ich schreibe gerade an einem Chat. In diesem gibt es ein Rangsystem. Je nachdem welchen Rang der User hat kann er verschiedene Sachen machen.
Insgesamt gibt es 139 Raenge.
Durch das schreiben von öffentlichen Nachrichten etc. werden punkte vergeben. Soweit ist das alles kein Problem.
Hat der user nun eine bestimmte Runktanzahl x erreicht sollte er befördert werden!

Ich dachte mir das er von Rang 1 auf 2 100 Punkte brauch.
Von Rang 2 auf 3 die doppelte Punktzahl, also 200, von rang 3 auf 4 , demzufolge 400 Punkte, von rang 5 auf 6 dann schon 800 Punkte etc.

Weiss jemand eine Rechenweg , wie ich an die punktzahl von rang 115 auf 116 zum bsp. komme ? Waeren ja rein theoretisch punktzahl rang 115 *2 , aber das programm weiss dann ja nicht wieviel punkte rang 115 hat.

VLG Alex

hi,

Ich dachte mir das er von Rang 1 auf 2 100 Punkte brauch.
Von Rang 2 auf 3 die doppelte Punktzahl, also 200, von rang 3
auf 4 , demzufolge 400 Punkte, von rang 5 auf 6 dann schon 800
Punkte etc.

Weiss jemand eine Rechenweg , wie ich an die punktzahl von
rang 115 auf 116 zum bsp. komme ? Waeren ja rein theoretisch
punktzahl rang 115 *2 , aber das programm weiss dann ja nicht
wieviel punkte rang 115 hat.

du vermischst hier gedanklich 2 wachstumsarten:
a) exponenziell: 100, 200, 400, 800, … nur kommt da der 800er schon von rang 4 nach rang 5. zu exponenziellem wachstum weiter unten mehr.
b) linear: 100, 200, 400, 600, 800, … da hast du aber einen nicht-linearen sprung zwischen 100 und 200.

ich denk, für eine einfache formel musst du dich entscheiden. ent oder weder.

falls es exponenziell sein sollte (immer hunderterzahl mal 2):

von rang n=1 auf n=2: 100 * 1 = 100 * 2^0
von rang n=2 auf n=3: 100 * 2 = 100 * 2^1
von rang n=3 auf n=4: 100 * 4 = 100 * 2^2

das wäre für rang n: 100 * 2^(n-1) punkte, um zu rang n+1 zu kommen.

das wäre dann von rang n=115 auf n=116: 100 * 2^114 … das ist dann aber sehr viel, nämlich ca. 20769187434139310514121985316880400 punkte = 2,07692 * 10^34

ich denk, du solltest deine punktezahlen halbwegs den menschlichen größenordnungen anpassen. und du solltest verstehen, was exponenzielles wachstum bedeutet.

hth
m.

Ha, Anno,
wenn ich das recht verstanden habe, hast du für jeden User zwei Zähler; einen Punktezähler und einen Rangzähler.
Wenn der Punktezähler auf 100 steht, wird der Rangzähler +1 gesetzt, der Punktezähler wieder auf Null.

Oder ist das komplizierter?

Gruß
Eckard

Hallo Michael,

erst einmal dank für deine rasche Antwort und deine bemuehungen.
Ok das das extrem viel ist sehe ich nun selber und auch das ich das so nicht machen kann :frowning:
Mir geht es halt daraum …

also in dem chat, da gibt es 139 Raenge. So aehnlich wie dem lycos chat. Das man mit dem naechsten Rang die neuen Feature bekommt ist schon implementiert.
Nun suche ich aber nach einer Lösung wie wer wann befördert wird. Da kam mir die idee. Der chatter sollte schon eine weile schreiben bis er es bis ganz nach oben geschafft hat. So eine Art Ansporn.
Bei Lycos bedarf das einer zeit von ca 1 jahr wenn man regelmaesig und viel chattet.
Dieses will ich auch erziehlen.
Die punkte vergebe ich pro geschriebener zeile. Also wenn sie öffentlich ist dann 3 punkte. bei einer privaten nachricht 2 punkte und bei einer handlung 1 punkt. Dazu kommt noch pro minute die er im chat ist = 10 punkte.

Sicherlich sollen die beförderungen am anfang schneller gehen als am ende.
Hast du ein idee wie ich das machen kann ?

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo eckhard,

vielen dank für deine rasche antwort :smile:
das ich 2 zaehler habe ist richtig. Der rang wird immer um 1 erhöht wenn der andere zaehler voll ist. Dieser zaehler ist je nach zu erreichender rangstufe unterschiedlich. rang 1 = 100 , rang 2 =200 etc.
meine frage war nun wie ich die zaehlerhöhe bei einer rangstufe n herausbekomme.
Aber michale hatte mir unten schon geantwortet und da stellte sich heraus das dieser weg net geht :frowning:
Wenn du magst lese dir mal meine antwort durch, da weisst du auch genau was ich vorhabe. vielleicht hast du eine idee und einen passenden loesungsweg ?

VLG Alex und danke für deine bemuehungen :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi…

Der chatter sollte schon eine weile
schreiben bis er es bis ganz nach oben geschafft hat. So eine
Art Ansporn.
Bei Lycos bedarf das einer zeit von ca 1 jahr wenn man
regelmaesig und viel chattet.

Die punkte vergebe ich pro geschriebener zeile. Also wenn sie
öffentlich ist dann 3 punkte. bei einer privaten nachricht 2
punkte und bei einer handlung 1 punkt. Dazu kommt noch pro
minute die er im chat ist = 10 punkte.

Scheint mir relativ viel fürs idlen.

Sicherlich sollen die beförderungen am anfang schneller gehen
als am ende.

Ok. Wie passt folgendes zu Deinen Vorstellungen:

nötige Punktzahl = Rang ^ 2 * 50 + 50

1: 100
2: 250
3: 500
4: 850
139: 966100

Quadratisches Wachstum geht nicht gar so schnell ins Unermessliche.

genumi

1 „Gefällt mir“

Hi…

Hallo und vielen dank für deine rasche antwort :smile:

Der chatter sollte schon eine weile
schreiben bis er es bis ganz nach oben geschafft hat. So eine
Art Ansporn.
Bei Lycos bedarf das einer zeit von ca 1 jahr wenn man
regelmaesig und viel chattet.

Die punkte vergebe ich pro geschriebener zeile. Also wenn sie
öffentlich ist dann 3 punkte. bei einer privaten nachricht 2
punkte und bei einer handlung 1 punkt. Dazu kommt noch pro
minute die er im chat ist = 10 punkte.

Scheint mir relativ viel fürs idlen.

ok das kann ich aendern :smile: sollte net das problem sein :smile:

Sicherlich sollen die beförderungen am anfang schneller gehen
als am ende.

Ok. Wie passt folgendes zu Deinen Vorstellungen:

nötige Punktzahl = Rang ^ 2 * 50 + 50

1: 100
2: 250
3: 500
4: 850
139: 966100

Quadratisches Wachstum geht nicht gar so schnell ins
Unermessliche.

das klingt super und werde ich sicherlich so machen :smile:
Ich dank dir wie verrueckt :smile:

genumi

Alex