alle 10, +1

MsvP@habdichliebhasi

Erfahrenes Mitglied
Sorry, ich wusste nicht wie ich das besser beschreiben soll! =)

Ich hab folgendes Problem:

Ich habe einen Anfangswert, nennen wir ihn var Zahl=10. Jetzt möchte ich, dass diese Zahl verändert wird, durch eine Eingabe des Users.

Und zwar soll er die Möglichkeit haben auch eine Zahl einzugeben. Das, was er eingegeben hat wird überprüft ob es 0 , 10, 20, 30, etc. ist. (also nur ganze Zehner).
Für 0-10 soll dann var Zahl-2 sein, 10-20 var Zahl -1, für 20-30 var Zahl , für 30-40 +1, usw. (also immer pro 10ner eine Zahl Mehr)

Jetzt will ich aber nicht tausende If Abfragen basteln, sondern bräuchte ein Script was das etwas komfortabler löst! Weil es keine unmittelbare Grenze für die Eingabe des Users gibt.
Das heißt wenn er 1000 eingibt dann würden da ja schon einige Zahlen drauf gerechnet.

Danke schonmal für eure Hilfe!

Micha
 
Hi,

ich wollte dir jetzt eingentlich das Script schreiben, nach nochmaligem lesen, wurde mir aber klar, dass ich es nicht verstehe, was Du willst. Ich probiere das jetzt nochmal zusammen zufassen:

1. Der User gibt eine Zahl ein - er soll nur ein vielfaches von Zehn eingeben können.

2. bei dem Fall, dass er 0 oder 10 eingibt soll die Zahl = Zahl -2 sein.

3. bei dem Fall, dass er 10 oder 20 eingibt soll die Zahl = Zahl -1 sein. ( was schon komisch ist, da die 10 schon im 2.Fall behandelt wurde.)

...?

Oder soll der User alles mögliche eingeben können und wir behandeln nur die 10er?

dann könntest das so machen:

Code:
  var eingabe;
  var zahl;
  
  eingabe > 20 ? zahl += int((eingabe-20)/10) : zahl += int((eingabe-30)/10)
 
Ja ich weiß, war etwas schwer das zu erklären.

Also ich versuchs nochmal Schrittweise zu erklären:
mit erklärung wofür es gebraucht wird.

und zwar geht es hier um eine Schieß runde bei einem Würfelspiel, wobei mit einem 10seitigem Würfel gewürfelt wird.

Am Anfang muss der Spieler eine Zehn Würfeln um einen Erfolg zu erziehlen, ist Standart Schwierigkeit,.

Aber hierbei soll nun durch die Entfernung DIe Schwierigkeit verändert werden.

Bedeutet, alle 10 Meter näher an das Ziehl heran, kann er das Ziel leichter treffen, und alle 10 meter weiter weg schlechter. (nachher beeinflussen noch andere faktoren die schwierigkeit, deswegen darf die Zahl bei der entfernung auch über 10 gehen, auch wenn der würfel nur 10 seiten hat!)

Die Schwierigkeit 10 geht von einem Abstand 20 Meter aus. Was also bedeutet zwischen 0-20 Meter ist das Ziel leichter zu treffen alles über 20 schwerer.
Dies soll nun in 10er Schritten ausgegeben werden, da pro 10 Meter, die schwierigkeit 10 um jeweils +1 oder -1 verändert wird.

Damit der Spieler nun halt auch 100 eingeben kann, und ich nicht alles mit festen (if spieler gibt 10 ein mache -1 , else if spieler gibt 20 ein mache -0 else if spieler...) werten machen will. Weil ich ja sonst jeden eventuellen Zehner als if Abfrage gestalten, hatte ich nun um unterstützung gebeten!

Ich hoffe das war nun etwas verständlicher ausgedrückt! ;-)
 
Hi,

Das Problem ist: Dein erstes Posting habe ich verstanden, das wäre
PHP:
var ausgabe = basis + (int(eingabe / 10) - 2);
, das zweite dagegen nicht.

Ich bin allerdings noch etwas verschlafen, vielleicht steig' ich später durch. ;)

Gruß
.
 
Zurück