SHOW:
|
|
- or go back to the newest paste.
1 | append = [$arg1 = (concat (getalias $arg1) $arg2)] | |
2 | rndo = [at $arg1 (rnd (listlen $arg1))] | |
3 | strfind = [> (strstr $arg1 $arg2) -1] | |
4 | ||
5 | loopchar = [ | |
6 | loop $arg1 (strlen $arg2) [ | |
7 | @arg1 = (substr $arg2 $[@arg1] 1) | |
8 | @arg3 | |
9 | ] | |
10 | ] | |
11 | ||
12 | //=======================================================================================// | |
13 | ||
14 | _man_guesslist = [ | |
15 | PENCIL CLOCKWERK MATTRESS AUTOMOBILE AIRPLANE CELLPHONE | |
16 | PRINTER TISSUE MONITOR IRONMAN AWAKENING REALITY | |
17 | COMPROMISE CONTROLLER IMPOSSIBILITY KEYCHAIN DEMISE | |
18 | PRINTER DRAWER PIPELINE CURTAIN SAMSUNG TRASHCAN | |
19 | REPLICATE CONDITIONER DEODORANT FRAMEWORK DESTRUCTION | |
20 | EXPLOSION ARTILLERY FACEBOOK FOLDER ARISTOCRAT | |
21 | ] | |
22 | ||
23 | - | if (=s $c (substr @arg1 0 1)) [tmp1 = $c] |
23 | + | |
24 | - | tmp2 = (concatword $tmp2 (? (|| (=s $c $tmp1) (strfind [@@arg2] $c)) $c "_")) |
24 | + | |
25 | tmp1 = (substr $arg1 0 1) | |
26 | loopchar c $arg1 [ | |
27 | tmp2 = (concatword $tmp2 ( | |
28 | ? (|| (=s $c $tmp1) (strfind [@@arg2] $c)) $c "_" | |
29 | )) | |
30 | ] | |
31 | _man_guessword = $tmp2 | |
32 | ] | |
33 | ||
34 | _man_reset = [ | |
35 | _man_wrong = "" | |
36 | _man_right = "" | |
37 | _man_triesleft = 7 | |
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 | - | guitext (format "%1%2" ( |
49 | + | |
50 | guistrut 2 | |
51 | - | ) $_man_guessword) 0 |
51 | + | |
52 | guistrut 24 1 | |
53 | guialign 0 [ | |
54 | guitext (format "%2%1" $_man_guessword ( | |
55 | ? (! $_man_triesleft) "^f3" (? (=s $_man_guessword $_man_rndword) "^f0" "^f2") | |
56 | )) 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 | guibar | |
71 | loop p 7 [ | |
72 | guilist [ | |
73 | guistrut 2 1 | |
74 | loopchar p (at "AHOV BIPW CJQX DKRY ELSZ FMT GNU" @p) [ | |
75 | guialign 0 [ | |
76 | guibutton (format "%2%1" $p ( | |
77 | ? (strfind $_man_guessword $p) "^f1" ( | |
78 | ? (|| (strfind $_man_wrong $p) (=s $_man_guessword $_man_rndword) (! $_man_triesleft)) "^f4" | |
79 | ) | |
80 | )) [ | |
81 | if ( | |
82 | && (! (strfind (concat $_man_right $_man_wrong) @p)) ( | |
83 | !=s $_man_guessword $_man_rndword | |
84 | ) $_man_triesleft | |
85 | ) [ | |
86 | if (strfind $_man_rndword @@p) [ | |
87 | append _man_right @@@p | |
88 | _man_buildword $_man_rndword $_man_right | |
89 | ] [ | |
90 | _man_triesleft = (- $_man_triesleft 1) | |
91 | append _man_wrong @@@p | |
92 | ] | |
93 | ] | |
94 | ] 0 | |
95 | ] | |
96 | ] | |
97 | ] | |
98 | ] | |
99 | ] | |
100 | ] | |
101 | ] " Hangman " [_man_reset] |