OSDN Git Service

日本語版
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / food.scm
1 (kern-mk-sprite-set 'ss_food 32 32 2 2 0 0 "food.png")
2
3 (kern-mk-sprite 's_food ss_food 1 0 #f 0)
4 (kern-mk-sprite 's_beer ss_food 1 1 #f 0)
5 (kern-mk-sprite 's_wine ss_food 1 2 #f 0)
6
7 ;; caloric values
8 (define food-value 1)
9 (define alcohol-value 1)
10
11 (define food-ifc
12   (ifc '()
13        (method 'get (lambda (kobj getter)
14                       (kern-obj-inc-ref kobj)
15                       (kern-obj-remove kobj)
16                       (kern-obj-add-food getter (* food-value
17                                                    (kern-obj-get-count kobj)))
18                       (kern-obj-dec-ref kobj)))
19        (method 'buy (lambda (kbuyer q)
20                       (kern-obj-add-food kbuyer (* food-value q))
21                       ))
22        ))
23
24 (define alcohol-ifc
25   (ifc '()
26        (method 'get (lambda (kobj getter)
27                       (kern-obj-inc-ref kobj)
28                       (kern-obj-remove kobj)
29                       (kern-obj-add-food getter (* alcohol-value
30                                                    (kern-obj-get-count kobj)))
31                       (kern-obj-add-effect getter ef_drunk nil)
32                       (kern-obj-dec-ref kobj)))
33        (method 'buy (lambda (kbuyer q)
34                       (display "buy")(newline)
35                       (kern-obj-add-effect kbuyer ef_drunk nil)
36                       (kern-obj-add-food kbuyer (* alcohol-value q))))
37        ))
38
39
40 (mk-obj-type 't_food (list "¿©ÎÁ" "¿©ÎÁ") s_food layer-item food-ifc)
41 (mk-obj-type 't_beer "¥Ó¡¼¥ë" s_beer layer-item alcohol-ifc)
42 (mk-obj-type 't_wine (list "¥ï¥¤¥ó" "¥ï¥¤¥ó") s_wine layer-item alcohol-ifc)