blob: 825dff8a585533848bb444feaa9e95202b7ae12a [file] [log] [blame]
Zesstra051ad6b2020-01-23 21:46:58 +01001walk_mapping
2************
3
4
5BEISPIELE
6=========
7
8 In einem Mapping (Keys: Spielerobjekte) soll auf alle Werte etwas
9 drauf addiert werden:
10
11 // Liste mit Spielern durchgehen ...
12 mapping x=([ [/human:liafar]: 20,
13 [/dwarf:mesirii]: 50,
14 [/elf:zarniya]: 40,
15 [/feline:turbo]: 30]);
16
17 // ... und Werte aendern:
18 void add_val(object key, int val, int add) {
19 if(key->InFight())
20 val+=add;
21 else
22 val-=add;
23 }
24
25 // verschiedene Aufrufarten, identisches Resultat:
26 walk_mapping(x, "add_val", 0, 10);
27 walk_mapping(x, "add_val", this_object(), 10
28 walk_mapping(x, "add_val", "/players/jof/addierobjektmitmethode", 10);
29
30 walk_mapping(x, #'add_val, 10);