to HANGMAN
INIT GAME type [AGAIN? (y / n)] if rq = "y [HANGMAN] erall fs
end
to INIT
make "NR .examine 64504 repeat :NR / 3 [make "Pt random :NR]
L make "PNT 0 make "Pt 0 setsplit 1 ht ct pr char 7 type [YOUR NAME?] SP 1 make "NM rq
end
to SCRN
ct cs setscrunch 0.468 pu setpos [-360 -140] pd repeat 2 [fd 402 rt 90 fd 719 rt 90] pu rt 90 fd 4 lt 90 fd 4 pd repeat 2 [fd 394 rt 90 fd 711 rt 90] rt 90 fd 406 lt 90 fd 394 pu setpos [93 -66] seth 90 pd make "PNT :PNT + :Pt setcursor [2 12] type [NAME:] SP 1 type :NM setcursor [2 15] type [SCORE:] SP 1 type :PNT SP 1 type [from:] SP 1 type :WNR - 1
end
to L
make "NV random 6 fs
if :NV = 1 [load "WW1]
if :NV = 2 [load "WW2]
if :NV = 3 [load "WW3]
if :NV = 4 [load "WW4]
if :NV = 5 [load "WW5]
if :NV = 0 [load "WW6]
B
end
to GAME
ct cs make "WNR :WNR + 1 if :WNR = :WT [PL3 stop] SCRN make "Pt 11 make "TN 0 make "W item :WNR :B make "NB count :W setcursor [2 3] pr [Number of characters:] setcursor [2 5] repeat :NB [type [.] type char 32] setcursor [2 8] pr [Used characters:] setcursor [2 17] pr [Type one character, or whole word.] PL3 SH setcursor [20 20] type [AGAIN? (y / n) :] if rq = "n [cs stop] GAME
end
to SH
make "TN :TN + 1 make "NR 1 make "RT 0 make "L rq if :L = :W [ZIN setcursor [2 20] pr [Well done !!] stop] make "PL se :TN * 2 10 setcursor :PL SP :NB setcursor :PL type :L SH2 if :RT = 0 [HANG if :Pt = 0 [stop]] SH
end
to SH2
if :L = item :NR :W [make "PL2 se :NR * 2 5 setcursor :PL2 type :L make "RT 1]
if :NR = :NB [PL3 stop] make "NR :NR + 1 SH2
end
to HANG
make "Pt :Pt - 1
if :Pt = 10 [fd 180 bk 96 lt 90]
if :Pt = 9 [fd 250 rt 90]
if :Pt = 8 [fd 80 bk 80 lt 90 bk 60]
if :Pt = 7 [rt 45 fd 85 rt 45 fd 25 bk 6 rt 90]
if :Pt = 6 [fd 31]
if :Pt = 5 [lt 90 setscrunch 0.6 setcursor [76 7] type char 205 type char 148 type char 195 setcursor [77 8] type char 254 setcursor [2 20] repeat 27 [fd 6 rt 20]]
if :Pt = 4 [setscrunch 0.65 repeat 18 [fd 9 lt 20]]
if :Pt = 3 [fd 6 make "a random 90 lt :a ARM]
if :Pt = 2 [make "a random 90 seth 90 fd 12 rt :a ARM]
if :Pt = 1 [seth 270 fd 6 repeat 8 [fd 9 lt 20] rt 110 LEG]
if :Pt = 0 [lt 105 repeat 3 [fd 9 lt 20] rt 105 LEG ZIN PL3 pr [SORRY, NO POINTS.]]
end
to ZIN
setcursor [2 5] (pr [THE WORD:] :W)
end
to SP :x
repeat :x [type char 32]
end
to PL3
setcursor [2 20] SP :NB setcursor [2 20]
end
to ARM
fd 25 rt :a + 15 fd 25 lt 60 fd 8 bk 8 rt 30 repeat 4 [fd 14 bk 14 rt 20] lt 50 bk 25 lt :a + 15 bk 25
end
to LEG
make "a random 90
pd fd 25 if :Pt = 1 [lt :a go "b] rt :a label "b
fd 25 rt 30 repeat 5 [fd 15 bk 15 rt 8] pu lt 70 bk 25 rt :a bk 25
end
0]
if :Pt = 9 [fd 250 rt 90]
if :Pt = 8 [fd 80 b