Advertisement
RaZgRiZ

Hangman - UI (standalone) v1.12

Nov 3rd, 2013
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.16 KB | None | 0 0
  1. _hgm_guesslist = [ // FEEL FREE TO ADD MORE WORDS TO THE LIST
  2.     PENCIL CLOCKWERK MATTRESS AUTOMOBILE AIRPLANE CELLPHONE
  3.     PRINTER TISSUE MONITOR IRONMAN AWAKENING REALITY
  4.     COMPROMISE CONTROLLER IMPOSSIBILITY KEYCHAIN DEMISE
  5.     PRINTER DRAWER PIPELINE CURTAIN SAMSUNG TRASHCAN
  6.     REPLICATE CONDITIONER DEODORANT FRAMEWORK DESTRUCTION
  7.     EXPLOSION ARTILLERY FACEBOOK FOLDER ARISTOCRAT
  8.     "THE GAME" "TRY YOUR LUCK" "CHICKEN NUGGETS"
  9. ]
  10.  
  11. _hgm_buildword = [
  12.     _hgm_guessword = ""
  13.     loop c (strlen $_hgm_rndword) [
  14.         c = (substr $_hgm_rndword $c 1)
  15.         _hgm_guessword = (concatword $_hgm_guessword (if (
  16.             || [=s $c (substr $_hgm_rndword 0 1)] [>= (strstr $arg1 $c) 0]
  17.         ) [ result $c ] [ ? (=s $c " ") " " "_" ]))
  18.     ]
  19. ]
  20.  
  21. _hgm_charset = [
  22.     A B C D E F G
  23.     H I J K L M N
  24.     O P Q R S T U
  25.     V W X Y Z
  26. ]
  27.  
  28. _hgm_reset = [
  29.     local n ; n = (listdel $_hgm_guesslist (getalias _hgm_rndword))
  30.     _hgm_wrong = ""
  31.     _hgm_right = ""
  32.     _hgm_triesleft = 6
  33.     _hgm_guessword = ""
  34.     _hgm_rndword = (at $n (rnd (listlen $n)))
  35.     if (> (strlen $_hgm_rndword) 13) [
  36.         _hgm_size = (*f (strlen $_hgm_rndword) 0.032)
  37.     ] [ _hgm_size = 0.42 ]
  38.     _hgm_buildword
  39. ]
  40.  
  41. hangman = [ showui "hangman" ]
  42.  
  43. //=======================================================================================//
  44.  
  45. newui "hangman" [
  46.     uicolor 0xF0E8E4 0 0 [
  47.         uispace 0.01 0.01 [
  48.             uivlist 0.016 [
  49.                 uifill 0 0 [
  50.                     local h ; h = (uihover?)
  51.                     uimodcolor 0xFFFFFF 0 0 [
  52.                         uiclamp 1 1 1 1
  53.                         uirelease [ _hgm_reset ]
  54.                     ]
  55.                     uivlist 0.008 [
  56.                         uigroup [
  57.                             uihgradient 0x40D01010 0x4020D020 $_hgm_size 0.01
  58.                             if $_hgm_triesleft [
  59.                                 uiclip (*f $_hgm_triesleft (divf $_hgm_size 6)) 0.01 [
  60.                                     uialign -1 0
  61.                                     uihgradient 0xD01010 0x20D020 $_hgm_size 0.01
  62.                                 ]
  63.                             ]
  64.                             uioutline 0x808080 $_hgm_size 0.01
  65.                             uispace 0.01 0 [
  66.                                 uiclamp 1 1
  67.                                 cond $h [
  68.                                     uitext "NEW GAME" 0.65
  69.                                 ] (! $_hgm_triesleft) [
  70.                                     uitext "^f3FAILURE" 0.65
  71.                                 ] (=s $_hgm_guessword $_hgm_rndword) [
  72.                                     uitext "^f0SUCCESS" 0.65
  73.                                 ]
  74.                                 uialign- 1
  75.                                 uitext "HP" 0.65
  76.                                 uialign- -1
  77.                             ]
  78.                         ]
  79.                         uihlist 0.032 [
  80.                             looplist i $_hgm_guessword [
  81.                                 uioutline 0x808080 0 0 [
  82.                                     uihlist 0 [
  83.                                         local l1 l2 ll
  84.                                         loop l (strlen $i) [
  85.                                             ll = (+ 1 $l)
  86.                                             l1 = (substr $i $l 1)
  87.                                             l2 = (substr $i $ll 1)
  88.                                             uifill 0.032 0.04 [
  89.                                                 if (<s $l1 "_") [
  90.                                                     uimodcolor 0xEFEFEF
  91.                                                     uiclamp- 1 1 1 1
  92.                                                 ]
  93.                                                 uitext $l1 0.75
  94.                                             ]
  95.                                             if (< $ll (strlen $i)) [
  96.                                                 if (^ (<s $l1 "_") (<s $l2 "_")) [
  97.                                                     uiline 0x808080
  98.                                                     uiclamp- 0 0 1 1
  99.                                                 ]
  100.                                             ]
  101.                                         ]
  102.                                     ]
  103.                                 ]
  104.                             ]
  105.                         ]
  106.                     ]
  107.                 ]
  108.                 uiline 0x808080
  109.                 uiclamp- 1 1
  110.                 uivlist 0 [
  111.                     uigrid 7 0 [
  112.                         looplist p (concat $_hgm_charset "?") [
  113.                             uifill 0.06 0.04 [
  114.                                 if (< (strstr $_hgm_guessword $p) 0) [
  115.                                     if (|| [=s $_hgm_guessword $_hgm_rndword] [> (strstr $_hgm_wrong $p) 0]) [
  116.                                         uicolortext $p 0x40FFFFFF 0.8
  117.                                     ] [
  118.                                         uimodcolor 0xFFFFFF
  119.                                         uihover [
  120.                                             uimodcolor 0xEFEFEF
  121.                                             uioutline 0x808080
  122.                                             uihold [ uimodvgradient 0xDFDFDF 0xFFFFFF ] [
  123.                                                 uimodvgradient 0xFFFFFF 0xDFDFDF
  124.                                             ]
  125.                                         ]
  126.                                         uiclamp* 1 1 1 1
  127.                                         uitext $p 0.8
  128.                                         if (=s "?" $p) [
  129.                                             local n ; n = (listdel $_hgm_charset $_hgm_wrong $_hgm_right)
  130.                                             p = (at $n (rnd (listlen $n)))
  131.                                         ]
  132.                                         uirelease [
  133.                                             if (< (strstr $_hgm_rndword $p) 0) [
  134.                                                 _hgm_triesleft = (- $_hgm_triesleft 1)
  135.                                                 if $_hgm_triesleft [
  136.                                                     _hgm_wrong = (concat $_hgm_wrong $p)
  137.                                                 ] [ _hgm_buildword $_hgm_rndword ]
  138.                                             ] [
  139.                                                 _hgm_right = (concat $_hgm_right $p)
  140.                                                 _hgm_buildword $_hgm_right
  141.                                             ]
  142.                                         ]
  143.                                     ]
  144.                                 ] [
  145.                                     uimodcolor 0xEFEFEF
  146.                                     uioutline 0x808080
  147.                                     uiclamp* 1 1 1 1
  148.                                     uicolortext $p 0x80FF80 0.8
  149.                                 ]
  150.                             ]
  151.                         ]
  152.                     ]
  153.                 ]
  154.             ]
  155.             uicolortext "v1.12" 0x80FFFFFF 0.55
  156.             uialign- 1 1
  157.         ]
  158.     ]
  159.     uioutline 0x808080
  160.     uiclamp- 1 1 1 1
  161. ] [ _hgm_reset ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement