summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'data/examples/monster_battle/include/creatures.fate')
-rw-r--r--data/examples/monster_battle/include/creatures.fate37
1 files changed, 16 insertions, 21 deletions
diff --git a/data/examples/monster_battle/include/creatures.fate b/data/examples/monster_battle/include/creatures.fate
index 2ce30c9..393473e 100644
--- a/data/examples/monster_battle/include/creatures.fate
+++ b/data/examples/monster_battle/include/creatures.fate
@@ -2,29 +2,24 @@
(require types/creature.fate)
-(declare_variable creature monster_0)
-(declare_variable creature monster_1)
-(declare_variable creature monster_2)
-(declare_variable creature monster_3)
-(declare_variable creature monster_4)
-(declare_variable creature monster_5)
+(global creature monster_0)
+(global creature monster_1)
+(global creature monster_2)
+(global creature monster_3)
+(global creature monster_4)
+(global creature monster_5)
-(declare_variable int i)
+(global (lambda creature ()) random_creature)
-(define_macro generate_random_creature
- (
- (creature creature)
- )
-
- (set i (rand 0 5))
- (set (param creature)
- (cond
- ((= (var i) 0) (var monster_0))
- ((= (var i) 1) (var monster_1))
- ((= (var i) 2) (var monster_2))
- ((= (var i) 3) (var monster_3))
- ((= (var i) 4) (var monster_4))
- ((= (var i) 5) (var monster_5))
+(set random_creature
+ (lambda ()
+ (switch (rand 0 5)
+ (0 (var monster_0))
+ (1 (var monster_0))
+ (2 (var monster_0))
+ (3 (var monster_0))
+ (4 (var monster_0))
+ (var monster_5)
)
)
)