View difference between Paste ID: Xx6bnEXu and FAp0dZfX
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]