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