PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe zu Mod



TheHamHam
07.07.2004, 00:16
tach auch ^^
so ihr werdet mich jetzt alle für doof halten, da ich die frage jetzt echt nochmal stellen muss:
Wie funktioniert mod und für was benutzt man das alles?
ich weiß das ich in nem vorigen thread das beantwortet bekommen habe aber ich hab immer noch probleme damit.

konkretes beispiel: habe eine variable [HP Hero1] so die möchte ich jetzt per pics (für jede stelle eins) anzeigen lassen. mit den einsern klappt, aber wenn ich dann bei [HP Hero] mod 10 (für die einser mache) und dann per fork die bilder anzeigen lasse, bekomme ich nur die einserstellen angezeigt obwohl ich danach dasselbe für die 10erstellen gemacht habe (also [HP Hero1] mod 100).
Hilfeeee!!!:confused:

The HamHam

Kelven
07.07.2004, 00:33
Mit der Modulo-Operation teilst du eine Zahl, behälst aber statt dem Ergebnis nur den Rest der dabei herauskommt.

Praktisch setzt man das dazu ein um eine Zahl zu "stutzen". Wenn ich eine Zahl > 100 habe, dann kann ich durch Mod 100 die Hunderterstelle wegschneiden.

Beispiel : 142 Mod 100 = 42.

TheHamHam
07.07.2004, 00:48
und wie mache ich das dann rückgängig? ich brauch den "richtigen" variablenwert ja auch noch für andere sachen

Kaat
07.07.2004, 01:02
Indem du ihn in einer anderen Variable speicherst?
Oder du zählst wieder 100 (bzw. die Modul-Zahl) dazu...

ZidaneFFIX
07.07.2004, 02:18
und wie mache ich das dann rückgängig? ich brauch den "richtigen" variablenwert ja auch noch für andere sachen
Am besten ist es immer, wenn du vorgegebene Werte nimmst. Z.B. die HP des Helden. Diese kannst du immer leicht in eine Variable speichern etc etc...

Noch was zu Mod:

Beispiel mit der Zahl 234:
In der Database ist der Held auf Level 15 und hat nun 234 Maximale HP. Wie bekomme ich nun für ein Menü z.B. jede einzelne Stelle?
Erstmal brauch man für jede einzelne Stelle eine Variable, damit man die Zahl speichern kann. (Soweit bestimmt logisch)

(Es gibt viele Methoden, hier eine)
Nun speichert man die Maximale HP in JEDE Variable.

<>Change Variable 0001: Hunderter, Set Hero Max HP
<>Change Variable 0002: Zehner, Set Hero Max HP
<>Change Variable 0003: Einzer, Set Hero Max HP

Ausgeschrieben bedeutet das:

Variable 0001 (Hunderter) = 234
Variable 0002 (Zehner) = 234
Variable 0003 (Einzer) = 234

Nehmen wir nun die erste Variable. Um die erste Ziffer zu bekommen, muss man einfach geteilt durch 100 rechnen.

234 / 100 = 2 ,Rest 34

Da der Maker Nachkommastellen (hier als Rest) nicht mitrechnet und immer abrundet (Bedeutet, selbst wenn das Ergebniss 2,999999 ist, wird in der Variable 2 stehen), hätten wir schonmal die Hunderter bestimmt.
Makercode:

<>Change Variable 0001: Hunderter, / 100

Ausgeschrieben bedeutet das:

Variable 0001 (Hunderter) = 2
Variable 0002 (Zehner) = 234
Variable 0003 (Einzer) = 234

Nehmen wir nun die Zehner. Nun können wir den Mod Befehl anwenden. Damit die 3 als erste Ziffer rauskommt, müssten wir folgendes rechnen:
234 / 100 = 2 ,Rest 34
Das wichtige hierbei wäre, das nur der Rest gespeichert wird, und nicht die 2. Das ist der Sinn der Modfunktion. Es speichert den Rest.

<>Change Variable 0002: Zehner, MOD 100

Ausgeschrieben bedeutet das:
Variable 0001 (Hunderter) = 2
Variable 0002 (Zehner) = 34
Variable 0003 (Einzer) = 234

Um nun nur die 3 zu haben (in der Zehnerstelle), reicht simples dividieren durch 10.

<>Change Variable 0002: Zehner, / 10
( 34 / 10 = 3 ,Rest 4 )

Ausgeschrieben bedeutet das:
Variable 0001 (Hunderter) = 2
Variable 0002 (Zehner) = 3
Variable 0003 (Einzer) = 234

Nun müssen wir nur noch die 4 aus der 234 rauslösen. Um als Rest 4 zu bekommen, müssten wir 234 durch 10 teilen.

234 / 10 = 23 ,Rest 4

Wie oben erwähnt, speichert die Variable beim Mod Befehl den Rest. Bedeutet:

<>Change Variable 0003: Einzer, MOD 10

Ausgeschrieben bedeutet das:
Variable 0001 (Hunderter) = 2
Variable 0002 (Zehner) = 3
Variable 0003 (Einzer) = 4

Und, man schaue, man hat in jede einzelne Variable eine Ziffer. Nun einfach im Menü abfragen, wie hoch der Wert ist... Aber das versteht sich von selbst.
Hier der ganze Makercode:

<>Change Variable 0001: Hunderter, Set Hero Max HP
<>Change Variable 0002: Zehner, Set Hero Max HP
<>Change Variable 0003: Einzer, Set Hero Max HP
<>Change Variable 0001: Hunderter, / 100
<>Change Variable 0002: Zehner, MOD 100
<>Change Variable 0002: Zehner, / 10
<>Change Variable 0003: Einzer, MOD 10


Zidi

TheHamHam
07.07.2004, 06:32
ich möcht euch beiden echtmal dnaken dass ihr (und vor allem zidi) mir das so gut und auch ausführlich erklärt habt. jetzt hab ichs auf jeden fall verstanden ^^
mensch mensch wow *rumhüpf*
Tausend dank ihr seid die besten *bigsmile*:D