Advertisement
Hppavilion1

λ-Nomic Voting Rule (LISPRule)

Jan 3rd, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.68 KB | None | 0 0
  1. (assgn voteEvent
  2.     (func (comb event) (
  3.         (do
  4. (if
  5. (contains (voted) (username (sender (event))))
  6.  
  7. (if
  8.     (contains (comb "yea" "nay") (lowercase (value (event))))
  9. (do
  10. (append (voted) (username (sender (event))))
  11. (if-else
  12.     (= (lowercase (value (event))) "yea")
  13.     (+= yea 1)
  14.     (+= nay 1)
  15. )
  16. )
  17. )
  18. )
  19.  
  20. (if
  21.     (sameElems (voted) (players))
  22.     (do
  23.         (destroy eh)
  24.         (if
  25.             (<= (nay) (yea))
  26.             (addRule (parse (rule)))
  27.         )
  28.     )
  29. )
  30.         )
  31.     )
  32. )
  33.  
  34. (assgn vote
  35.     (func (comb rule) (
  36.         (assgn yea 0)
  37.         (assgn nay 0)
  38.         (assgn voted (comb))
  39.  
  40.         (assgn eh
  41. (eventHandler "messageReceived" voteEvent)
  42. )
  43.  
  44. (deploy eh)
  45. )
  46. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement