Advertisement
RaZgRiZ

Hangman 1.22 SVN

May 18th, 2012
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. appendword = [$arg1 = (concatword (getalias $arg1) $arg2)]
  2. append = [$arg1 = (concat (getalias $arg1) $arg2)]
  3. rndo = [at $arg1 (rnd (listlen $arg1))]
  4. strfind = [> (strstr $arg1 $arg2) -1]
  5.  
  6. loopchar = [
  7.     loop $arg1 (strlen $arg2) [
  8.         $arg1 = (substr $arg2 $$arg1 1)
  9.         arg3
  10.     ]
  11. ]
  12.  
  13. //=======================================================================================//
  14.  
  15. _man_guesslist = [
  16.     PENCIL CLOCKWERK MATTRESS AUTOMOBILE AIRPLANE CELLPHONE
  17.     PRINTER TISSUE MONITOR IRONMAN AWAKENING REALITY
  18.     COMPROMISE CONTROLLER IMPOSSIBILITY KEYCHAIN DEMISE
  19.     PRINTER DRAWER PIPELINE CURTAIN SAMSUNG TRASHCAN
  20.     REPLICATE CONDITIONER DEODORANT FRAMEWORK DESTRUCTION
  21.     EXPLOSION ARTILLERY FACEBOOK FOLDER ARISTOCRAT
  22. ]
  23.  
  24. _man_buildword = [
  25.     local tmp
  26.     loopchar c $arg1 [
  27.         appendword tmp (? (
  28.             || [=s $c @@(substr $arg1 0 1)] [strfind [@@@arg2] $c]
  29.         ) $c "_")
  30.     ]
  31.     _man_guessword = $tmp
  32. ]
  33.  
  34. _man_reset = [
  35.     _man_wrong = ""
  36.     _man_right = ""
  37.     _man_triesleft = 6
  38.     _man_guessword = ""
  39.     _man_rndword = (rndo (listdel $_man_guesslist (getalias _man_rndword)))
  40.     _man_buildword $_man_rndword
  41. ]
  42.  
  43. _man_reset
  44. hangman = [showgui hangman]
  45.  
  46. newgui hangman [
  47.     guistayopen [
  48.         guilist [
  49.             guiimage "data/cube.png" [_man_reset] 2 0
  50.             guistrut 2
  51.             guilist [
  52.                 guistrut 24 1
  53.                 guialign 0 [
  54.                     guitext (concatword (
  55.                         ? (! $_man_triesleft) "^f3" (? (=s $_man_guessword $_man_rndword) "^f0" "^f2")
  56.                     ) $_man_guessword) 0
  57.                 ]
  58.                 guistrut 1
  59.                 guialign 0 [
  60.                     cond (! $_man_triesleft) [
  61.                         _man_buildword $_man_rndword $_man_rndword
  62.                         guitext "^f2You failed miserably! Boo!" 0
  63.                     ] (=s $_man_guessword $_man_rndword) [
  64.                         guitext "^f2Congratulations! You won!" 0
  65.                     ] [
  66.                         guitext (concat "^f2Tries Left:^f7" $_man_triesleft) 0
  67.                     ]
  68.                 ]
  69.             ]
  70.             guilistsplit p 4 "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" [
  71.                 guiimage (format "%2packages/icons/alphabet/%1.jpg" (
  72.                     ? (|| [=s $_man_guessword $_man_rndword] [strfind $_man_wrong $p]) (
  73.                         ? (strfind $_man_guessword $p) $p "_"
  74.                     ) $p
  75.                 ) (? (strfind $_man_guessword $p) "<mad:1/1.5/1>")) [
  76.                     if (&& $_man_triesleft [!=s $_man_guessword $_man_rndword] [
  77.                         ! (strfind (concat $_man_right $_man_wrong) @@p)
  78.                     ]) [
  79.                         if (strfind $_man_rndword @@p) [
  80.                             append _man_right @@@p
  81.                             _man_buildword $_man_rndword $_man_right
  82.                         ] [
  83.                             _man_triesleft = (- $_man_triesleft 1)
  84.                             append _man_wrong @@@p
  85.                         ]
  86.                     ]
  87.                 ] .5 0
  88.             ]
  89.         ]
  90.     ]
  91. ] " Hangman " [_man_reset]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement