mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-11 20:49:05 +03:00
30 lines
652 B
Plaintext
30 lines
652 B
Plaintext
|
|
(defstruct Enemy
|
|
[name :string
|
|
hp :int])
|
|
|
|
(defn make-some-enemies []
|
|
[(Enemy @"Voldemort" 200)
|
|
(Enemy @"Sauron" 500)
|
|
(Enemy @"Satan" 666)])
|
|
|
|
(def player-damage 50)
|
|
|
|
(defn attack-enemy [enemy]
|
|
(let [current-hp (Enemy-get-hp &enemy)]
|
|
(Enemy-set-hp enemy (- current-hp player-damage))))
|
|
|
|
(defn battle [enemies]
|
|
(map attack-enemy enemies))
|
|
|
|
(defn try-it-out []
|
|
(let [enemies (make-some-enemies)]
|
|
(do (println "Before the battle: ")
|
|
(println* &enemies)
|
|
(println "...")
|
|
(let [new-enemies (battle enemies)]
|
|
(do
|
|
(println "After the battle:")
|
|
(println* &new-enemies))))))
|
|
|