Creating Special Actions in Our Game
|
We have only one more thing to do now and our game will be
complete: Add some special actions that the player has to do
to win in the game. The first command will let the player weld
the chain to the bucket in the attic:
|
(setq chain-welded nil)
(defun weld (subject object)
(cond ((and (eq location 'attic)
(eq subject 'chain)
(eq object 'bucket)
(have 'chain)
(have 'bucket)
(not chain-welded))
(setq chain-welded 't)
'(the chain is now securely welded to the bucket -))
(t '(you cannot weld like that -))))
|
So first we created a new global variable that lets us tell
whether we've done this action already. Next, we create a
weld function that makes sure all the right conditions
are in place for welding and lets us weld.
|
|
<< begin
< previous -
next >
end >>
|