Home » Archimedes archive » Archimedes World » AW-1993-07.adf » AWJuly93 » !AWJuly93/Goodies/Hangman/!HangMan/!RunImage

!AWJuly93/Goodies/Hangman/!HangMan/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1993-07.adf » AWJuly93
Filename: !AWJuly93/Goodies/Hangman/!HangMan/!RunImage
Read OK:
File size: 3B67 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > <HangMan$Dir>.!RunImage
   20PROCinit
   30ON ERROR PROCerror
   40REPEAT
   50reason%=FNpoll
   60CASE reason% OF
   70WHEN 2:SYS"Wimp_OpenWindow",,B%
   80WHEN 3:PROCclose(!B%)
   90WHEN 6:PROCbuttons
  100WHEN 9:PROCdecodemenu
  110WHEN 17,18:PROCreceive
  120ENDCASE
  130UNTIL quit%
  140PROCend
  150
  160DEF FNpoll
  170SYS "Wimp_Poll",0,B% TO reason%
  180=reason%
  190
  200DEF PROCreceive
  210CASE B%!16 OF
  220WHEN 0:quit%=TRUE
  230WHEN &502:PROChelp(B%)
  240ENDCASE
  250ENDPROC
  260
  270DEF PROCbuttons
  280button%=B%!8
  290CASE button% OF
  300WHEN 2
  310CASE B%!12 OF
  320WHEN -2:IF B%!16=iconbar% THEN   menu=0:PROCmenu(B%!0-64,0)
  330WHEN main%:menu=1:PROCmenu(B%!0-64,B%!4)
  340ENDCASE
  350WHEN 4,1
  360CASE B%!12 OF
  370WHEN -2:IF B%!16=iconbar% THEN PROCopen(main%)
  380WHEN main%
  390CASE B%!16 OF
  400WHEN 37:PROCnewword
  410WHEN 38:PROCicon(main%,36,"Answer :"+text$):mem%=-1
  420WHEN 39:PROCresetgame
  430WHEN 40,41:IF FNcheckicon(main%,41) THEN PROCdeselect(main%,41) ELSE PROCselect(main%,41)
  440OTHERWISE:IF B%!16>2 AND B%!16<29 THEN PROCprocessletter(B%!16)
  450ENDCASE
  460ENDCASE
  470ENDCASE
  480ENDPROC
  490
  500==============================================================================================================
  510                     ----------------------------------------------------------
  520                     -                                                        -
  530                     -          Icon handler                                  -
  540                     -                                                        -
  550                     ----------------------------------------------------------
  560==============================================================================================================
  570
  580DEF PROCicon(w%,i%,t$)
  590!B%=w%:B%!4=i%
  600SYS "Wimp_GetIconState",,B%
  610!B%=w%:B%!4=i%:B%!8=0:B%!12=0:$B%!28=t$
  620SYS "Wimp_SetIconState",,B%
  630ENDPROC
  640
  650DEF PROCselect(w%,i%)
  660!B%=w%:B%!4=i%:B%!8=&200000:B%!12=&200000:SYS"Wimp_SetIconState",,B%
  670ENDPROC
  680
  690DEF PROCdeselect(w%,i%)
  700!B%=w%:B%!4=i%:B%!8=0:B%!12=&200000:SYS"Wimp_SetIconState",,B%
  710ENDPROC
  720
  730DEF FNcheckicon(w%,i%)
  740!B%=w%:B%!4=i%:SYS "Wimp_GetIconState",,B%
  750IF (B%!24 AND &200000)=&200000 THEN=TRUE ELSE=FALSE
  760
  770DEF PROCredrawicon(w%,i%)
  780!B%=w%:B%!4=i%:SYS "Wimp_GetIconState",,B%:SYS "Wimp_ForceRedraw",w%,B%!8,B%!12,B%!16,(B%!20)+32
  790ENDPROC
  800
  810DEF FNicon(w%,i%)
  820!B%=w%:B%!4=i%
  830SYS "Wimp_GetIconState",,B%
  840=FNvar(B%!28)
  850
  860==============================================================================================================
  870                     ----------------------------------------------------------
  880                     -                                                        -
  890                     -        Caret handler                                  -
  900                     -                                                        -
  910                     ----------------------------------------------------------
  920==============================================================================================================
  930
  940DEF PROCcaret(w%,i%)
  950SYS "Wimp_GetCaretPosition",,B%
  960SYS "Wimp_SetCaretPosition",w%,i%,0,,-1,-1
  970ENDPROC
  980
  990DEF FNcaret
 1000SYS "Wimp_GetCaretPosition",,B%
 1010=B%
 1020
 1030==============================================================================================================
 1040                     ----------------------------------------------------------
 1050                     -                                                        -
 1060                     -          Menu handler                                  -
 1070                     -                                                        -
 1080                     ----------------------------------------------------------
 1090==============================================================================================================
 1100
 1110DEF PROCmenu(x%,y%)
 1120CASE menu OF
 1130WHEN 0:y%=185
 1140PROCmh(menu%,10,"HangMan")
 1150PROCmb(menu%+28,&00,info%,&7000021,"Info")
 1160PROCmb(menu%+52,&80,-1,&7000021,"Quit")
 1170WHEN 1:
 1180PROCmh(menu%,12,"HangMan")
 1190PROCmb(menu%+28,&00,info%,&7000021,"Info")
 1200PROCmb(menu%+52,&00,-1,&7000021,"New word")
 1210PROCmb(menu%+76,&00,-1,&7000021,"Show word")
 1220PROCmb(menu%+100,&80,-1,&7000021,"Reset game")
 1230ENDCASE
 1240SYS "Wimp_CreateMenu",,menu%,x%,y%
 1250ENDPROC
 1260
 1270DEF PROCmh(base%,width%,text$)
 1280$base%=text$+CHR$0:base%!12=&00070207:base%!16=width%*16:base%!20=44:base%!24=0
 1290ENDPROC
 1300
 1310DEF PROCmb(base%,flag%,ptr%,icfl%,text$)
 1320base%!0=flag%:base%!4=ptr%:base%!8=icfl%:$(base%+12)=text$
 1330ENDPROC
 1340
 1350DEF PROCdecodemenu
 1360v%=TRUE
 1370SYS"Wimp_DecodeMenu",,menu%,B%,B%+128
 1380a$=FNvar(B%+128)
 1390CASE a$ OF
 1400WHEN "Info":PROCshowmenu(info%):v%=FALSE
 1410WHEN "New word":PROCnewword
 1420WHEN "Reset game":PROCresetgame
 1430WHEN "Show word":PROCicon(main%,36,"Answer :"+text$):mem%=-1
 1440WHEN "Quit":quit%=TRUE
 1450ENDCASE
 1460B%=FNpointer:IF B%!8=1 AND v%=TRUE THEN PROCmenu(B%!0-64,B%!4)
 1470ENDPROC
 1480
 1490DEF PROCshowmenu(a%)
 1500B%=FNpointer:SYS "Wimp_CreateMenu",,a%,B%!0-64,B%!4
 1510ENDPROC
 1520
 1530DEF PROCnomen
 1540SYS "Wimp_CreateMenu",,-1
 1550ENDPROC
 1560
 1570DEF FNvar(u%):u$="":WHILE?u%>31:u$+=CHR$?u%:u%+=1:ENDWHILE:=u$
 1580
 1590==============================================================================================================
 1600                     ----------------------------------------------------------
 1610                     -                                                        -
 1620                     -          Misc handler                                  -
 1630                     -                                                        -
 1640                     ----------------------------------------------------------
 1650==============================================================================================================
 1660
 1670DEF FNpointer
 1680SYS "Wimp_GetPointerInfo",,B%
 1690=B%
 1700
 1710DEF PROCend
 1720SYS "Wimp_CloseDown"
 1730END
 1740ENDPROC
 1750
 1760DEF PROCgetxandy
 1770X%=FNmodevar(MODE,11)+1<<FNmodevar(MODE,4)
 1780Y%=FNmodevar(MODE,12)+1<<FNmodevar(MODE,5)
 1790ENDPROC
 1800
 1810DEF FNmodevar(mode%,varnr%)
 1820SYS "OS_ReadModeVariable",mode%,varnr% TO ,,val%
 1830=val%
 1840
 1850
 1860==============================================================================================================
 1870                     ----------------------------------------------------------
 1880                     -                                                        -
 1890                     -          Window handler                                -
 1900                     -                                                        -
 1910                     ----------------------------------------------------------
 1920==============================================================================================================
 1930
 1940DEF PROCborder(w%)
 1950PROCopen(w%)
 1960B%!0=w%
 1970SYS "Wimp_GetWindowState",,B%
 1980MOUSE RECTANGLE B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
 1990ENDPROC
 2000
 2010DEF PROCresetborder(w%)
 2020PROCclose(w%)
 2030PROCgetxandy
 2040MOUSE RECTANGLE 0,0,X%-1,Y%-1
 2050ENDPROC
 2060
 2070DEF PROCclose(a%)
 2080!B%=a%
 2090SYS "Wimp_CloseWindow",,B%
 2100ENDPROC
 2110
 2120DEF PROCopen(a%)
 2130!B%=a%
 2140SYS"Wimp_GetWindowState",,B%
 2150B%!28=-1
 2160SYS"Wimp_OpenWindow",,B%
 2170ENDPROC
 2180
 2190==============================================================================================================
 2200                     ----------------------------------------------------------
 2210                     -                                                        -
 2220                     -                     Error Handler                      -
 2230                     -                                                        -
 2240                     ----------------------------------------------------------
 2250==============================================================================================================
 2260
 2270DEF PROCerror
 2280LOCAL ERROR
 2290ON ERROR OFF
 2300a$="ERROR type=("+STR$(ERR)+")"
 2310b$=REPORT$:c$="At line "+STR$(ERL)
 2320d$="OK to continue."
 2330PROCseterror(a$,b$,c$,d$)
 2340IF FNerror("Continue","Quit")=FALSE THEN PROCend
 2350RESTORE ERROR
 2360ENDPROC
 2370
 2380DEF PROCseterror(a$,b$,c$,d$)
 2390PROCicon(gerror%,0,a$)
 2400PROCicon(gerror%,1,b$)
 2410PROCicon(gerror%,2,c$)
 2420PROCicon(gerror%,3,d$)
 2430ENDPROC
 2440
 2450DEF PROCmyerror(a$,b$,c$,d$)
 2460SYS"Hourglass_Smash"
 2470PROCnomen
 2480PROCicon(lerror%,0,a$)
 2490PROCicon(lerror%,1,b$)
 2500PROCicon(lerror%,2,c$)
 2510PROCicon(lerror%,3,d$)
 2520PROCopen(lerror%)
 2530SYS "Wimp_GetWindowState",,B%
 2540MOUSE RECTANGLE B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
 2550ENDPROC
 2560
 2570DEF FNerror(a$,b$)
 2580SYS"Hourglass_Smash"
 2590PROCnomen
 2600PROCicon(gerror%,7,a$)
 2610PROCicon(gerror%,4,b$)
 2620PROCopen(gerror%)
 2630B%!0=gerror%
 2640SYS "Wimp_GetWindowState",,B%
 2650MOUSE RECTANGLE B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
 2660pend%=0:fast%=0
 2670REPEAT
 2680reason%=FNpoll
 2690CASE reason% OF
 2700WHEN 6
 2710IF B%!16=4 AND B%!12=gerror% THEN pend%=1
 2720IF B%!16=7 AND B%!12=gerror% THEN pend%=2
 2730WHEN 8:IF B%!24=27 THEN pend%=2
 2740WHEN 17,18:PROCreceive
 2750ENDCASE
 2760UNTIL pend%>0
 2770PROCresetborder(gerror%)
 2780IF pend%=2 THEN =TRUE ELSE =FALSE
 2790
 2800==============================================================================================================
 2810                     ----------------------------------------------------------
 2820                     -                                                        -
 2830                     -                     Sprite Handler                      -
 2840                     -                                                        -
 2850                     ----------------------------------------------------------
 2860==============================================================================================================
 2870
 2880DEF PROCdisplay
 2890SYS "OS_SpriteOp",&13C,sp%,"Screen" TO R0,R1,R2,R3
 2900SYS "Wimp_SetColour",15:RECTANGLE FILL 0,0,245*2,200*4
 2910SYS "Wimp_SetColour",10:RECTANGLE FILL 0,0,245*2,20*4
 2920IF pos%>0 PROCscreen("P1",10,0)
 2930IF pos%>1 PROCscreen("P2",90,572)
 2940IF pos%>2 PROCscreen("P3",10,712)
 2950IF pos%>3 PROCscreen("P4",270,512)
 2960IF pos%>5 PROCscreen("B2",184,256)
 2970IF pos%>4 PROCscreen("B1",228,500)
 2980IF pos%>6 PROCscreen("B3",184,12)
 2990IF pos%=7 THEN PROCscreen("B4",288,580):PROCscreen("B5",318,504)
 3000SYS "OS_SpriteOp",R0,R1,R2,R3
 3010PROCredrawicon(main%,0)
 3020IF pos%=7 THEN PROCwrong
 3030ENDPROC
 3040
 3050DEF PROCscreen(a$,x,y)
 3060SYS"OS_SpriteOp",&134,sp%,a$,x,y,&08
 3070ENDPROC
 3080
 3090==============================================================================================================
 3100                     ----------------------------------------------------------
 3110                     -                                                        -
 3120                     -          Prog handler                                  -
 3130                     -                                                        -
 3140                     ----------------------------------------------------------
 3150==============================================================================================================
 3160
 3170DEF PROCnewquestion
 3180word%+=1
 3190pos%=0:PROCdisplay
 3200mem%=RND(areasize%)
 3210IF area%?mem%<>10 AND mem%<areasize% THEN REPEAT:mem%+=1:UNTIL area%?mem%=10
 3220IF mem%=areasize% THEN mem%=0
 3230mem%+=1
 3240text$=FNvar(area%+mem%)
 3250FOR I=3 TO 28:PROCicon(main%,I,CHR$(62+I)):NEXT I
 3260FOR I=0 TO LEN text$-1:answer%?I=45:NEXT I:answer%?I=13
 3270PROCicon(main%,36,"")
 3280PROCicon(main%,29,$answer%)
 3290PROCdispvars
 3300ENDPROC
 3310
 3320DEF PROCdispvars
 3330PROCicon(main%,33,STR$(word%))
 3340PROCicon(main%,34,STR$(correct%))
 3350PROCicon(main%,35,STR$(wrong%))
 3360ENDPROC
 3370
 3380DEF PROCprocessletter(i%)
 3390IF mem%>-1 AND FNicon(main%,i%)<>"" THEN
 3400t$=CHR$(i%+62)
 3410PROCicon(main%,i%,"")
 3420a%=FALSE
 3430FOR I=0 TO LEN text$-1
 3440IF t$=RIGHT$(LEFT$(text$,I+1),1) THEN answer%?I=i%+62:a%=TRUE
 3450NEXT I
 3460PROCicon(main%,29,$answer%)
 3470IF FNvar(answer%)=text$ THEN PROCcorrect
 3480IF a%=FALSE THEN pos%+=1:PROCdisplay
 3490ENDIF
 3500ENDPROC
 3510
 3520DEF PROCcorrect
 3530correct%+=1:mem%=-1
 3540PROCsound("yeah")
 3550PROCdispvars
 3560ENDPROC
 3570
 3580DEF PROCwrong
 3590wrong%+=1:mem%=-1
 3600PROCsound("aah")
 3610PROCicon(main%,36,"Answer :"+text$)
 3620PROCdispvars
 3630ENDPROC
 3640
 3650DEF PROCresetgame
 3660pos%=0:correct%=0:wrong%=0:word%=0:mem%=-1
 3670PROCnewquestion
 3680ENDPROC
 3690
 3700DEF PROCnewword
 3710mem%=-1
 3720PROCnewquestion
 3730ENDPROC
 3740
 3750DEF PROCsound(t$)
 3760IF FNcheckicon(main%,41) THEN OSCLI ("ChannelVoice 1 "+t$):SYS "Sound_Configure",0,0,100:SOUND 1,&17F,&4700,1
 3770ENDPROC
 3780
 3790==============================================================================================================
 3800                     ----------------------------------------------------------
 3810                     -                                                        -
 3820                     -          Help handler                                  -
 3830                     -                                                        -
 3840                     ----------------------------------------------------------
 3850==============================================================================================================
 3860
 3870DEF PROChelp(a%)
 3880!B%=a%:B%!12=a%!8:B%!16=&503:a$=""
 3890CASE B%!32 OF
 3900WHEN -2
 3910a$="This is the Hangman Icon icon.|M"
 3920a$+="Click SELECT to open the Hangman window and start the game."
 3930WHEN main%:
 3940a$="This is the hangman window.|M"
 3950CASE B%!36 OF
 3960WHEN  0:a$="This icon displays the current status of the man being hung."
 3970WHEN 37:a$="Click on this icon for a new word, ie when you have been hung or guessed|M"
 3980       :a$+="the word."
 3990WHEN 38:a$="Click on this icon if you have had enough of guessing at the word."
 4000WHEN 39:a$="Click on this icon to reset the status, ie the games played, games won and|M"
 4010       :a$+="games lost."
 4020WHEN 30,33:a$="This icon displays the total number of games played."
 4030WHEN 31,34:a$="This icon displays the number of words you have guessed correctly."
 4040WHEN 32,35:a$="This icon displays the number of words you have guessed wrongly."
 4050WHEN 40,41:a$="This icon turns the sound on/off"
 4060OTHERWISE:IF B%!36>2 AND B%!36<29 THEN a$+="Click on the letters which you think are in the word."
 4070ENDCASE
 4080WHEN info%
 4090a$="This program was written by Daniel & Joseph Davighi."
 4100WHEN gerror%
 4110a$="Oh dear! Oh dear! Oh dear!|M"
 4120a$+="Now look what you have done."
 4130ENDCASE
 4140$(B%+20)=a$:!B%=(((20+LEN(a$)+1)DIV4)*4)+4
 4150$(B%+21+LEN(a$))=CHR$(0)
 4160SYS "Wimp_SendMessage",17,B%
 4170ENDPROC
 4180
 4190==============================================================================================================
 4200                     ----------------------------------------------------------
 4210                     -                                                        -
 4220                     -          Setup Handler                                 -
 4230                     -                                                        -
 4240                     ----------------------------------------------------------
 4250==============================================================================================================
 4260
 4270DEF PROCinit
 4280DIM B% 1700,ispc% 1700,menu% 150,ttext% 10,answer% 20
 4290quit%=FALSE
 4300SYS "OS_File",17,"<HangMan$Dir>.Sprites" TO ,,,,size%
 4310DIM sp% size%+4:sp%!0=size%+4:sp%!4=0:sp%!8=16:sp%!12=16
 4320SYS "OS_SpriteOp",&109,sp%
 4330SYS "OS_SpriteOp",&10A,sp%,"<HangMan$Dir>.Sprites"
 4340SYS "OS_File",17,"<HangMan$Dir>.Data" TO ,,,,areasize%
 4350DIM area% areasize%
 4360SYS "OS_File",16,"<HangMan$Dir>.Data",area%,0
 4370SYS"Wimp_Initialise",200,&4B534154,"HangMan" TO ,task%
 4380!B%=-1:B%!4=0:B%!12=72:B%!8=0:B%!16=72
 4390B%!20=&3002:$(B%+24)="!HangMan"
 4400SYS"Wimp_CreateIcon",,B% TO iconbar%
 4410SYS"Wimp_OpenTemplate",,"<HangMan$Dir>.Templates"
 4420info%=FNtemplate("info")
 4430main%=FNtemplate("main")
 4440gerror%=FNtemplate("gerror")
 4450SYS"Wimp_CloseTemplate"
 4460PROCicon(info%,0,"Hangman")
 4470PROCicon(info%,1,"Multitasking version of the word game")
 4480PROCicon(info%,2,"Daniel & Joseph Davighi")
 4490PROCicon(info%,3,"0.35 (8-Jan-93)")
 4500PROCresetgame
 4510ENDPROC
 4520
 4530DEF FNtemplate(a$)
 4540$ttext%=a$
 4550SYS"Wimp_LoadTemplate",,B%,ispc%,ispc%+1700,-1,ttext%,0 TO,,ispc%,,,,a%
 4560B%!64=sp%
 4570SYS"Wimp_CreateWindow",,B% TO a%
 4580=a%

� > <HangMan$Dir>.!RunImage
	�init
� � �error
(�
2reason%=�poll
<Ȏ reason% �
F� 2:ș"Wimp_OpenWindow",,B%
P� 3:�close(!B%)
Z� 6:�buttons
d� 9:�decodemenu
n� 17,18:�receive
x�
�� quit%
��end
�
�� �poll
�!ș "Wimp_Poll",0,B% � reason%
�=reason%
�
�� �receive
�Ȏ B%!16 �
�� 0:quit%=�
�� &502:�help(B%)
��
��

� �buttons
button%=B%!8
"Ȏ button% �
,� 2
6Ȏ B%!12 �
@5� -2:� B%!16=iconbar% �   menu=0:�menu(B%!0-64,0)
J&� main%:menu=1:�menu(B%!0-64,B%!4)
T�
^	� 4,1
hȎ B%!12 �
r(� -2:� B%!16=iconbar% � �open(main%)
|� main%
�Ȏ B%!16 �
�� 37:�newword
�1� 38:�icon(main%,36,"Answer :"+text$):mem%=-1
�� 39:�resetgame
�L� 40,41:� �checkicon(main%,41) � �deselect(main%,41) � �select(main%,41)
�2:� B%!16>2 � B%!16<29 � �processletter(B%!16)
��
��
��
��
�
�r==============================================================================================================
�S                     ----------------------------------------------------------
S                     -                                                        -
S                     -          Icon handler                                  -
S                     -                                                        -
&S                     ----------------------------------------------------------
0r==============================================================================================================
:
D� �icon(w%,i%,t$)
N!B%=w%:B%!4=i%
Xș "Wimp_GetIconState",,B%
b+!B%=w%:B%!4=i%:B%!8=0:B%!12=0:$B%!28=t$
lș "Wimp_SetIconState",,B%
v�
�
�� �select(w%,i%)
�G!B%=w%:B%!4=i%:B%!8=&200000:B%!12=&200000:ș"Wimp_SetIconState",,B%
��
�
�� �deselect(w%,i%)
�A!B%=w%:B%!4=i%:B%!8=0:B%!12=&200000:ș"Wimp_SetIconState",,B%
��
�
�� �checkicon(w%,i%)
�-!B%=w%:B%!4=i%:ș "Wimp_GetIconState",,B%
�'� (B%!24 � &200000)=&200000 �=� �=�
�
� �redrawicon(w%,i%)
b!B%=w%:B%!4=i%:ș "Wimp_GetIconState",,B%:ș "Wimp_ForceRedraw",w%,B%!8,B%!12,B%!16,(B%!20)+32
�
 
*� �icon(w%,i%)
4!B%=w%:B%!4=i%
>ș "Wimp_GetIconState",,B%
H=�var(B%!28)
R
\r==============================================================================================================
fS                     ----------------------------------------------------------
pS                     -                                                        -
zR                     -        Caret handler                                  -
�S                     -                                                        -
�S                     ----------------------------------------------------------
�r==============================================================================================================
�
�� �caret(w%,i%)
�"ș "Wimp_GetCaretPosition",,B%
�-ș "Wimp_SetCaretPosition",w%,i%,0,,-1,-1
��
�
�� �caret
�"ș "Wimp_GetCaretPosition",,B%
�=B%
�
r==============================================================================================================
S                     ----------------------------------------------------------
S                     -                                                        -
$S                     -          Menu handler                                  -
.S                     -                                                        -
8S                     ----------------------------------------------------------
Br==============================================================================================================
L
V� �menu(x%,y%)
`
Ȏ menu �
j� 0:y%=185
t�mh(menu%,10,"HangMan")
~+�mb(menu%+28,&00,info%,&7000021,"Info")
�(�mb(menu%+52,&80,-1,&7000021,"Quit")
�� 1:
��mh(menu%,12,"HangMan")
�+�mb(menu%+28,&00,info%,&7000021,"Info")
�,�mb(menu%+52,&00,-1,&7000021,"New word")
�-�mb(menu%+76,&00,-1,&7000021,"Show word")
�/�mb(menu%+100,&80,-1,&7000021,"Reset game")
��
�%ș "Wimp_CreateMenu",,menu%,x%,y%
��
�
�� �mh(base%,width%,text$)
P$base%=text$+�0:base%!12=&00070207:base%!16=width%*16:base%!20=44:base%!24=0

�

'� �mb(base%,flag%,ptr%,icfl%,text$)
(>base%!0=flag%:base%!4=ptr%:base%!8=icfl%:$(base%+12)=text$
2�
<
F� �decodemenu
Pv%=�
Z(ș"Wimp_DecodeMenu",,menu%,B%,B%+128
da$=�var(B%+128)
nȎ a$ �
x"� "Info":�showmenu(info%):v%=�
�� "New word":�newword
�� "Reset game":�resetgame
�:� "Show word":�icon(main%,36,"Answer :"+text$):mem%=-1
�� "Quit":quit%=�
��
�5B%=�pointer:� B%!8=1 � v%=� � �menu(B%!0-64,B%!4)
��
�
�� �showmenu(a%)
�5B%=�pointer:ș "Wimp_CreateMenu",,a%,B%!0-64,B%!4
��
�
�� �nomen
ș "Wimp_CreateMenu",,-1
�

"2� �var(u%):u$="":ȕ?u%>31:u$+=�?u%:u%+=1:�:=u$
,
6r==============================================================================================================
@S                     ----------------------------------------------------------
JS                     -                                                        -
TS                     -          Misc handler                                  -
^S                     -                                                        -
hS                     ----------------------------------------------------------
rr==============================================================================================================
|
�� �pointer
� ș "Wimp_GetPointerInfo",,B%
�=B%
�
�
� �end
�ș "Wimp_CloseDown"
��
��
�
�� �getxandy
�&X%=�modevar(�,11)+1<<�modevar(�,4)
�&Y%=�modevar(�,12)+1<<�modevar(�,5)
��

� �modevar(mode%,varnr%)
2ș "OS_ReadModeVariable",mode%,varnr% � ,,val%
&	=val%
0
:
Dr==============================================================================================================
NS                     ----------------------------------------------------------
XS                     -                                                        -
bS                     -          Window handler                                -
lS                     -                                                        -
vS                     ----------------------------------------------------------
�r==============================================================================================================
�
�� �border(w%)
�
�open(w%)
�B%!0=w%
� ș "Wimp_GetWindowState",,B%
�)ȗ ȓ B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
��
�
�� �resetborder(w%)
��close(w%)
�
�getxandy
�ȗ ȓ 0,0,X%-1,Y%-1
�

� �close(a%)
 
!B%=a%
*ș "Wimp_CloseWindow",,B%
4�
>
H� �open(a%)
R
!B%=a%
\ș"Wimp_GetWindowState",,B%
fB%!28=-1
pș"Wimp_OpenWindow",,B%
z�
�
�r==============================================================================================================
�S                     ----------------------------------------------------------
�S                     -                                                        -
�S                     -                     Error Handler                      -
�S                     -                                                        -
�S                     ----------------------------------------------------------
�r==============================================================================================================
�
�� �error
�� �
�	� � �
�a$="ERROR type=("+�(�)+")"
	b$=�$:c$="At line "+�(�)
	d$="OK to continue."
	�seterror(a$,b$,c$,d$)
	$(� �error("Continue","Quit")=� � �end
	.� �
	8�
	B
	L� �seterror(a$,b$,c$,d$)
	V�icon(gerror%,0,a$)
	`�icon(gerror%,1,b$)
	j�icon(gerror%,2,c$)
	t�icon(gerror%,3,d$)
	~�
	�
	�� �myerror(a$,b$,c$,d$)
	�ș"Hourglass_Smash"
	�
�nomen
	��icon(lerror%,0,a$)
	��icon(lerror%,1,b$)
	��icon(lerror%,2,c$)
	��icon(lerror%,3,d$)
	��open(lerror%)
	� ș "Wimp_GetWindowState",,B%
	�)ȗ ȓ B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
	��


� �error(a$,b$)
ș"Hourglass_Smash"

�nomen
(�icon(gerror%,7,a$)
2�icon(gerror%,4,b$)
<�open(gerror%)
FB%!0=gerror%
P ș "Wimp_GetWindowState",,B%
Z)ȗ ȓ B%!4,B%!8,B%!12-B%!4,B%!16-B%!8
dpend%=0:fast%=0
n�
xreason%=�poll
�Ȏ reason% �
�� 6
�'� B%!16=4 � B%!12=gerror% � pend%=1
�'� B%!16=7 � B%!12=gerror% � pend%=2
�� 8:� B%!24=27 � pend%=2
�� 17,18:�receive
��
�
� pend%>0
��resetborder(gerror%)
�� pend%=2 � =� � =�
�
�r==============================================================================================================
�S                     ----------------------------------------------------------
S                     -                                                        -
T                     -                     Sprite Handler                      -
S                     -                                                        -
"S                     ----------------------------------------------------------
,r==============================================================================================================
6
@� �display
J4ș "OS_SpriteOp",&13C,sp%,"Screen" � R0,R1,R2,R3
T0ș "Wimp_SetColour",15:ȓ Ȑ 0,0,245*2,200*4
^/ș "Wimp_SetColour",10:ȓ Ȑ 0,0,245*2,20*4
h� pos%>0 �screen("P1",10,0)
r!� pos%>1 �screen("P2",90,572)
|!� pos%>2 �screen("P3",10,712)
�"� pos%>3 �screen("P4",270,512)
�"� pos%>5 �screen("B2",184,256)
�"� pos%>4 �screen("B1",228,500)
�!� pos%>6 �screen("B3",184,12)
�:� pos%=7 � �screen("B4",288,580):�screen("B5",318,504)
� ș "OS_SpriteOp",R0,R1,R2,R3
��redrawicon(main%,0)
�� pos%=7 � �wrong
��
�
�� �screen(a$,x,y)
�'ș"OS_SpriteOp",&134,sp%,a$,x,y,&08
��

r==============================================================================================================
S                     ----------------------------------------------------------
&S                     -                                                        -
0S                     -          Prog handler                                  -
:S                     -                                                        -
DS                     ----------------------------------------------------------
Nr==============================================================================================================
X
b� �newquestion
lword%+=1
vpos%=0:�display
�mem%=�(areasize%)
�A� area%?mem%<>10 � mem%<areasize% � �:mem%+=1:� area%?mem%=10
�� mem%=areasize% � mem%=0
�mem%+=1
�text$=�var(area%+mem%)
�)� I=3 � 28:�icon(main%,I,�(62+I)):� I
�3� I=0 � � text$-1:answer%?I=45:� I:answer%?I=13
��icon(main%,36,"")
��icon(main%,29,$answer%)
�
�dispvars
��
�
�� �dispvars

�icon(main%,33,�(word%))

�icon(main%,34,�(correct%))

�icon(main%,35,�(wrong%))

 �

*

4� �processletter(i%)

>%� mem%>-1 � �icon(main%,i%)<>"" �

Ht$=�(i%+62)

R�icon(main%,i%,"")

\a%=�

f� I=0 � � text$-1

p/� t$=�text$,I+1),1) � answer%?I=i%+62:a%=�

z� I

��icon(main%,29,$answer%)

�$� �var(answer%)=text$ � �correct

�� a%=� � pos%+=1:�display

��

��

�

�� �correct

�correct%+=1:mem%=-1

��sound("yeah")

�
�dispvars

��

�

�� �wrong
wrong%+=1:mem%=-1
�sound("aah")
$�icon(main%,36,"Answer :"+text$)
$
�dispvars
.�
8
B� �resetgame
L.pos%=0:correct%=0:wrong%=0:word%=0:mem%=-1
V�newquestion
`�
j
t� �newword
~mem%=-1
��newquestion
��
�
�� �sound(t$)
�c� �checkicon(main%,41) � � ("ChannelVoice 1 "+t$):ș "Sound_Configure",0,0,100:� 1,&17F,&4700,1
��
�
�r==============================================================================================================
�S                     ----------------------------------------------------------
�S                     -                                                        -
�S                     -          Help handler                                  -
�S                     -                                                        -
S                     ----------------------------------------------------------

r==============================================================================================================

� �help(a%)
(&!B%=a%:B%!12=a%!8:B%!16=&503:a$=""
2Ȏ B%!32 �
<� -2
F)a$="This is the Hangman Icon icon.|M"
PEa$+="Click SELECT to open the Hangman window and start the game."
Z� main%:
d&a$="This is the hangman window.|M"
nȎ B%!36 �
xJ�  0:a$="This icon displays the current status of the man being hung."
�X� 37:a$="Click on this icon for a new word, ie when you have been hung or guessed|M"
�       :a$+="the word."
�P� 38:a$="Click on this icon if you have had enough of guessing at the word."
�Z� 39:a$="Click on this icon to reset the status, ie the games played, games won and|M"
�       :a$+="games lost."
�E� 30,33:a$="This icon displays the total number of games played."
�S� 31,34:a$="This icon displays the number of words you have guessed correctly."
�Q� 32,35:a$="This icon displays the number of words you have guessed wrongly."
�1� 40,41:a$="This icon turns the sound on/off"
�X:� B%!36>2 � B%!36<29 � a$+="Click on the letters which you think are in the word."
��
�� info%
�=a$="This program was written by Daniel & Joseph Davighi."

� gerror%
%a$="Oh dear! Oh dear! Oh dear!|M"
&a$+="Now look what you have done."
"�
,*$(B%+20)=a$:!B%=(((20+�(a$)+1)�4)*4)+4
6$(B%+21+�(a$))=�(0)
@ș "Wimp_SendMessage",17,B%
J�
T
^r==============================================================================================================
hS                     ----------------------------------------------------------
rS                     -                                                        -
|S                     -          Setup Handler                                 -
�S                     -                                                        -
�S                     ----------------------------------------------------------
�r==============================================================================================================
�
�� �init
�7� B% 1700,ispc% 1700,menu% 150,ttext% 10,answer% 20
�quit%=�
�7ș "OS_File",17,"<HangMan$Dir>.Sprites" � ,,,,size%
�:� sp% size%+4:sp%!0=size%+4:sp%!4=0:sp%!8=16:sp%!12=16
�ș "OS_SpriteOp",&109,sp%
�5ș "OS_SpriteOp",&10A,sp%,"<HangMan$Dir>.Sprites"
�8ș "OS_File",17,"<HangMan$Dir>.Data" � ,,,,areasize%
�� area% areasize%
0ș "OS_File",16,"<HangMan$Dir>.Data",area%,0
8ș"Wimp_Initialise",200,&4B534154,"HangMan" � ,task%
*!B%=-1:B%!4=0:B%!12=72:B%!8=0:B%!16=72
&#B%!20=&3002:$(B%+24)="!HangMan"
0&ș"Wimp_CreateIcon",,B% � iconbar%
:4ș"Wimp_OpenTemplate",,"<HangMan$Dir>.Templates"
Dinfo%=�template("info")
Nmain%=�template("main")
Xgerror%=�template("gerror")
bș"Wimp_CloseTemplate"
l�icon(info%,0,"Hangman")
v:�icon(info%,1,"Multitasking version of the word game")
�,�icon(info%,2,"Daniel & Joseph Davighi")
�$�icon(info%,3,"0.35 (8-Jan-93)")
��resetgame
��
�
�� �template(a$)
�$ttext%=a$
�Iș"Wimp_LoadTemplate",,B%,ispc%,ispc%+1700,-1,ttext%,0 �,,ispc%,,,,a%
�
B%!64=sp%
�"ș"Wimp_CreateWindow",,B% � a%
�=a%
�
00000000  0d 00 0a 1f f4 20 3e 20  3c 48 61 6e 67 4d 61 6e  |..... > <HangMan|
00000010  24 44 69 72 3e 2e 21 52  75 6e 49 6d 61 67 65 0d  |$Dir>.!RunImage.|
00000020  00 14 09 f2 69 6e 69 74  0d 00 1e 0e ee 20 85 20  |....init..... . |
00000030  f2 65 72 72 6f 72 0d 00  28 05 f5 0d 00 32 11 72  |.error..(....2.r|
00000040  65 61 73 6f 6e 25 3d a4  70 6f 6c 6c 0d 00 3c 10  |eason%=.poll..<.|
00000050  c8 8e 20 72 65 61 73 6f  6e 25 20 ca 0d 00 46 1f  |.. reason% ...F.|
00000060  c9 20 32 3a c8 99 22 57  69 6d 70 5f 4f 70 65 6e  |. 2:.."Wimp_Open|
00000070  57 69 6e 64 6f 77 22 2c  2c 42 25 0d 00 50 13 c9  |Window",,B%..P..|
00000080  20 33 3a f2 63 6c 6f 73  65 28 21 42 25 29 0d 00  | 3:.close(!B%)..|
00000090  5a 10 c9 20 36 3a f2 62  75 74 74 6f 6e 73 0d 00  |Z.. 6:.buttons..|
000000a0  64 13 c9 20 39 3a f2 64  65 63 6f 64 65 6d 65 6e  |d.. 9:.decodemen|
000000b0  75 0d 00 6e 14 c9 20 31  37 2c 31 38 3a f2 72 65  |u..n.. 17,18:.re|
000000c0  63 65 69 76 65 0d 00 78  05 cb 0d 00 82 0b fd 20  |ceive..x....... |
000000d0  71 75 69 74 25 0d 00 8c  08 f2 65 6e 64 0d 00 96  |quit%.....end...|
000000e0  04 0d 00 a0 0b dd 20 a4  70 6f 6c 6c 0d 00 aa 21  |...... .poll...!|
000000f0  c8 99 20 22 57 69 6d 70  5f 50 6f 6c 6c 22 2c 30  |.. "Wimp_Poll",0|
00000100  2c 42 25 20 b8 20 72 65  61 73 6f 6e 25 0d 00 b4  |,B% . reason%...|
00000110  0c 3d 72 65 61 73 6f 6e  25 0d 00 be 04 0d 00 c8  |.=reason%.......|
00000120  0e dd 20 f2 72 65 63 65  69 76 65 0d 00 d2 0e c8  |.. .receive.....|
00000130  8e 20 42 25 21 31 36 20  ca 0d 00 dc 0f c9 20 30  |. B%!16 ...... 0|
00000140  3a 71 75 69 74 25 3d b9  0d 00 e6 14 c9 20 26 35  |:quit%=...... &5|
00000150  30 32 3a f2 68 65 6c 70  28 42 25 29 0d 00 f0 05  |02:.help(B%)....|
00000160  cb 0d 00 fa 05 e1 0d 01  04 04 0d 01 0e 0e dd 20  |............... |
00000170  f2 62 75 74 74 6f 6e 73  0d 01 18 10 62 75 74 74  |.buttons....butt|
00000180  6f 6e 25 3d 42 25 21 38  0d 01 22 10 c8 8e 20 62  |on%=B%!8.."... b|
00000190  75 74 74 6f 6e 25 20 ca  0d 01 2c 07 c9 20 32 0d  |utton% ...,.. 2.|
000001a0  01 36 0e c8 8e 20 42 25  21 31 32 20 ca 0d 01 40  |.6... B%!12 ...@|
000001b0  35 c9 20 2d 32 3a e7 20  42 25 21 31 36 3d 69 63  |5. -2:. B%!16=ic|
000001c0  6f 6e 62 61 72 25 20 8c  20 20 20 6d 65 6e 75 3d  |onbar% .   menu=|
000001d0  30 3a f2 6d 65 6e 75 28  42 25 21 30 2d 36 34 2c  |0:.menu(B%!0-64,|
000001e0  30 29 0d 01 4a 26 c9 20  6d 61 69 6e 25 3a 6d 65  |0)..J&. main%:me|
000001f0  6e 75 3d 31 3a f2 6d 65  6e 75 28 42 25 21 30 2d  |nu=1:.menu(B%!0-|
00000200  36 34 2c 42 25 21 34 29  0d 01 54 05 cb 0d 01 5e  |64,B%!4)..T....^|
00000210  09 c9 20 34 2c 31 0d 01  68 0e c8 8e 20 42 25 21  |.. 4,1..h... B%!|
00000220  31 32 20 ca 0d 01 72 28  c9 20 2d 32 3a e7 20 42  |12 ...r(. -2:. B|
00000230  25 21 31 36 3d 69 63 6f  6e 62 61 72 25 20 8c 20  |%!16=iconbar% . |
00000240  f2 6f 70 65 6e 28 6d 61  69 6e 25 29 0d 01 7c 0b  |.open(main%)..|.|
00000250  c9 20 6d 61 69 6e 25 0d  01 86 0e c8 8e 20 42 25  |. main%...... B%|
00000260  21 31 36 20 ca 0d 01 90  11 c9 20 33 37 3a f2 6e  |!16 ...... 37:.n|
00000270  65 77 77 6f 72 64 0d 01  9a 31 c9 20 33 38 3a f2  |ewword...1. 38:.|
00000280  69 63 6f 6e 28 6d 61 69  6e 25 2c 33 36 2c 22 41  |icon(main%,36,"A|
00000290  6e 73 77 65 72 20 3a 22  2b 74 65 78 74 24 29 3a  |nswer :"+text$):|
000002a0  6d 65 6d 25 3d 2d 31 0d  01 a4 13 c9 20 33 39 3a  |mem%=-1..... 39:|
000002b0  f2 72 65 73 65 74 67 61  6d 65 0d 01 ae 4c c9 20  |.resetgame...L. |
000002c0  34 30 2c 34 31 3a e7 20  a4 63 68 65 63 6b 69 63  |40,41:. .checkic|
000002d0  6f 6e 28 6d 61 69 6e 25  2c 34 31 29 20 8c 20 f2  |on(main%,41) . .|
000002e0  64 65 73 65 6c 65 63 74  28 6d 61 69 6e 25 2c 34  |deselect(main%,4|
000002f0  31 29 20 8b 20 f2 73 65  6c 65 63 74 28 6d 61 69  |1) . .select(mai|
00000300  6e 25 2c 34 31 29 0d 01  b8 32 7f 3a e7 20 42 25  |n%,41)...2.:. B%|
00000310  21 31 36 3e 32 20 80 20  42 25 21 31 36 3c 32 39  |!16>2 . B%!16<29|
00000320  20 8c 20 f2 70 72 6f 63  65 73 73 6c 65 74 74 65  | . .processlette|
00000330  72 28 42 25 21 31 36 29  0d 01 c2 05 cb 0d 01 cc  |r(B%!16)........|
00000340  05 cb 0d 01 d6 05 cb 0d  01 e0 05 e1 0d 01 ea 04  |................|
00000350  0d 01 f4 72 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |...r============|
00000360  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000003c0  3d 3d 0d 01 fe 53 20 20  20 20 20 20 20 20 20 20  |==...S          |
000003d0  20 20 20 20 20 20 20 20  20 20 20 2d 2d 2d 2d 2d  |           -----|
000003e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000410  2d 2d 2d 2d 2d 0d 02 08  53 20 20 20 20 20 20 20  |-----...S       |
00000420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 20  |              - |
00000430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000460  20 20 20 20 20 20 20 2d  0d 02 12 53 20 20 20 20  |       -...S    |
00000470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000480  20 2d 20 20 20 20 20 20  20 20 20 20 49 63 6f 6e  | -          Icon|
00000490  20 68 61 6e 64 6c 65 72  20 20 20 20 20 20 20 20  | handler        |
000004a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004b0  20 20 20 20 20 20 20 20  20 20 2d 0d 02 1c 53 20  |          -...S |
000004c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004d0  20 20 20 20 2d 20 20 20  20 20 20 20 20 20 20 20  |    -           |
000004e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000500  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 0d 02  |             -..|
00000510  26 53 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |&S              |
00000520  20 20 20 20 20 20 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |       ---------|
00000530  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000560  2d 0d 02 30 72 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |-..0r===========|
00000570  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000005d0  3d 3d 3d 0d 02 3a 04 0d  02 44 15 dd 20 f2 69 63  |===..:...D.. .ic|
000005e0  6f 6e 28 77 25 2c 69 25  2c 74 24 29 0d 02 4e 12  |on(w%,i%,t$)..N.|
000005f0  21 42 25 3d 77 25 3a 42  25 21 34 3d 69 25 0d 02  |!B%=w%:B%!4=i%..|
00000600  58 1e c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |X... "Wimp_GetIc|
00000610  6f 6e 53 74 61 74 65 22  2c 2c 42 25 0d 02 62 2b  |onState",,B%..b+|
00000620  21 42 25 3d 77 25 3a 42  25 21 34 3d 69 25 3a 42  |!B%=w%:B%!4=i%:B|
00000630  25 21 38 3d 30 3a 42 25  21 31 32 3d 30 3a 24 42  |%!8=0:B%!12=0:$B|
00000640  25 21 32 38 3d 74 24 0d  02 6c 1e c8 99 20 22 57  |%!28=t$..l... "W|
00000650  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00000660  22 2c 2c 42 25 0d 02 76  05 e1 0d 02 80 04 0d 02  |",,B%..v........|
00000670  8a 14 dd 20 f2 73 65 6c  65 63 74 28 77 25 2c 69  |... .select(w%,i|
00000680  25 29 0d 02 94 47 21 42  25 3d 77 25 3a 42 25 21  |%)...G!B%=w%:B%!|
00000690  34 3d 69 25 3a 42 25 21  38 3d 26 32 30 30 30 30  |4=i%:B%!8=&20000|
000006a0  30 3a 42 25 21 31 32 3d  26 32 30 30 30 30 30 3a  |0:B%!12=&200000:|
000006b0  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
000006c0  74 61 74 65 22 2c 2c 42  25 0d 02 9e 05 e1 0d 02  |tate",,B%.......|
000006d0  a8 04 0d 02 b2 16 dd 20  f2 64 65 73 65 6c 65 63  |....... .deselec|
000006e0  74 28 77 25 2c 69 25 29  0d 02 bc 41 21 42 25 3d  |t(w%,i%)...A!B%=|
000006f0  77 25 3a 42 25 21 34 3d  69 25 3a 42 25 21 38 3d  |w%:B%!4=i%:B%!8=|
00000700  30 3a 42 25 21 31 32 3d  26 32 30 30 30 30 30 3a  |0:B%!12=&200000:|
00000710  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
00000720  74 61 74 65 22 2c 2c 42  25 0d 02 c6 05 e1 0d 02  |tate",,B%.......|
00000730  d0 04 0d 02 da 17 dd 20  a4 63 68 65 63 6b 69 63  |....... .checkic|
00000740  6f 6e 28 77 25 2c 69 25  29 0d 02 e4 2d 21 42 25  |on(w%,i%)...-!B%|
00000750  3d 77 25 3a 42 25 21 34  3d 69 25 3a c8 99 20 22  |=w%:B%!4=i%:.. "|
00000760  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00000770  65 22 2c 2c 42 25 0d 02  ee 27 e7 20 28 42 25 21  |e",,B%...'. (B%!|
00000780  32 34 20 80 20 26 32 30  30 30 30 30 29 3d 26 32  |24 . &200000)=&2|
00000790  30 30 30 30 30 20 8c 3d  b9 20 8b 3d a3 0d 02 f8  |00000 .=. .=....|
000007a0  04 0d 03 02 18 dd 20 f2  72 65 64 72 61 77 69 63  |...... .redrawic|
000007b0  6f 6e 28 77 25 2c 69 25  29 0d 03 0c 62 21 42 25  |on(w%,i%)...b!B%|
000007c0  3d 77 25 3a 42 25 21 34  3d 69 25 3a c8 99 20 22  |=w%:B%!4=i%:.. "|
000007d0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
000007e0  65 22 2c 2c 42 25 3a c8  99 20 22 57 69 6d 70 5f  |e",,B%:.. "Wimp_|
000007f0  46 6f 72 63 65 52 65 64  72 61 77 22 2c 77 25 2c  |ForceRedraw",w%,|
00000800  42 25 21 38 2c 42 25 21  31 32 2c 42 25 21 31 36  |B%!8,B%!12,B%!16|
00000810  2c 28 42 25 21 32 30 29  2b 33 32 0d 03 16 05 e1  |,(B%!20)+32.....|
00000820  0d 03 20 04 0d 03 2a 12  dd 20 a4 69 63 6f 6e 28  |.. ...*.. .icon(|
00000830  77 25 2c 69 25 29 0d 03  34 12 21 42 25 3d 77 25  |w%,i%)..4.!B%=w%|
00000840  3a 42 25 21 34 3d 69 25  0d 03 3e 1e c8 99 20 22  |:B%!4=i%..>... "|
00000850  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00000860  65 22 2c 2c 42 25 0d 03  48 10 3d a4 76 61 72 28  |e",,B%..H.=.var(|
00000870  42 25 21 32 38 29 0d 03  52 04 0d 03 5c 72 3d 3d  |B%!28)..R...\r==|
00000880  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000008e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0d 03 66 53  |============..fS|
000008f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000900  20 20 20 20 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |     -----------|
00000910  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000930  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00000940  03 70 53 20 20 20 20 20  20 20 20 20 20 20 20 20  |.pS             |
00000950  20 20 20 20 20 20 20 20  2d 20 20 20 20 20 20 20  |        -       |
00000960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000990  20 2d 0d 03 7a 52 20 20  20 20 20 20 20 20 20 20  | -..zR          |
000009a0  20 20 20 20 20 20 20 20  20 20 20 2d 20 20 20 20  |           -    |
000009b0  20 20 20 20 43 61 72 65  74 20 68 61 6e 64 6c 65  |    Caret handle|
000009c0  72 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |r               |
000009d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000009e0  20 20 20 2d 0d 03 84 53  20 20 20 20 20 20 20 20  |   -...S        |
000009f0  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 20 20  |             -  |
00000a00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000a30  20 20 20 20 20 20 2d 0d  03 8e 53 20 20 20 20 20  |      -...S     |
00000a40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000a50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000a80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 03 98 72 3d 3d  |----------...r==|
00000a90  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000af0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0d 03 a2 04  |============....|
00000b00  0d 03 ac 13 dd 20 f2 63  61 72 65 74 28 77 25 2c  |..... .caret(w%,|
00000b10  69 25 29 0d 03 b6 22 c8  99 20 22 57 69 6d 70 5f  |i%)...".. "Wimp_|
00000b20  47 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |GetCaretPosition|
00000b30  22 2c 2c 42 25 0d 03 c0  2d c8 99 20 22 57 69 6d  |",,B%...-.. "Wim|
00000b40  70 5f 53 65 74 43 61 72  65 74 50 6f 73 69 74 69  |p_SetCaretPositi|
00000b50  6f 6e 22 2c 77 25 2c 69  25 2c 30 2c 2c 2d 31 2c  |on",w%,i%,0,,-1,|
00000b60  2d 31 0d 03 ca 05 e1 0d  03 d4 04 0d 03 de 0c dd  |-1..............|
00000b70  20 a4 63 61 72 65 74 0d  03 e8 22 c8 99 20 22 57  | .caret...".. "W|
00000b80  69 6d 70 5f 47 65 74 43  61 72 65 74 50 6f 73 69  |imp_GetCaretPosi|
00000b90  74 69 6f 6e 22 2c 2c 42  25 0d 03 f2 07 3d 42 25  |tion",,B%....=B%|
00000ba0  0d 03 fc 04 0d 04 06 72  3d 3d 3d 3d 3d 3d 3d 3d  |.......r========|
00000bb0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000c10  3d 3d 3d 3d 3d 3d 0d 04  10 53 20 20 20 20 20 20  |======...S      |
00000c20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  |               -|
00000c30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000c60  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 04 1a 53 20 20 20  |---------...S   |
00000c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c80  20 20 2d 20 20 20 20 20  20 20 20 20 20 20 20 20  |  -             |
00000c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000cb0  20 20 20 20 20 20 20 20  20 20 20 2d 0d 04 24 53  |           -..$S|
00000cc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000cd0  20 20 20 20 20 2d 20 20  20 20 20 20 20 20 20 20  |     -          |
00000ce0  4d 65 6e 75 20 68 61 6e  64 6c 65 72 20 20 20 20  |Menu handler    |
00000cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 0d  |              -.|
00000d10  04 2e 53 20 20 20 20 20  20 20 20 20 20 20 20 20  |..S             |
00000d20  20 20 20 20 20 20 20 20  2d 20 20 20 20 20 20 20  |        -       |
00000d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000d60  20 2d 0d 04 38 53 20 20  20 20 20 20 20 20 20 20  | -..8S          |
00000d70  20 20 20 20 20 20 20 20  20 20 20 2d 2d 2d 2d 2d  |           -----|
00000d80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000db0  2d 2d 2d 2d 2d 0d 04 42  72 3d 3d 3d 3d 3d 3d 3d  |-----..Br=======|
00000dc0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000e20  3d 3d 3d 3d 3d 3d 3d 0d  04 4c 04 0d 04 56 12 dd  |=======..L...V..|
00000e30  20 f2 6d 65 6e 75 28 78  25 2c 79 25 29 0d 04 60  | .menu(x%,y%)..`|
00000e40  0d c8 8e 20 6d 65 6e 75  20 ca 0d 04 6a 0e c9 20  |... menu ...j.. |
00000e50  30 3a 79 25 3d 31 38 35  0d 04 74 1b f2 6d 68 28  |0:y%=185..t..mh(|
00000e60  6d 65 6e 75 25 2c 31 30  2c 22 48 61 6e 67 4d 61  |menu%,10,"HangMa|
00000e70  6e 22 29 0d 04 7e 2b f2  6d 62 28 6d 65 6e 75 25  |n")..~+.mb(menu%|
00000e80  2b 32 38 2c 26 30 30 2c  69 6e 66 6f 25 2c 26 37  |+28,&00,info%,&7|
00000e90  30 30 30 30 32 31 2c 22  49 6e 66 6f 22 29 0d 04  |000021,"Info")..|
00000ea0  88 28 f2 6d 62 28 6d 65  6e 75 25 2b 35 32 2c 26  |.(.mb(menu%+52,&|
00000eb0  38 30 2c 2d 31 2c 26 37  30 30 30 30 32 31 2c 22  |80,-1,&7000021,"|
00000ec0  51 75 69 74 22 29 0d 04  92 08 c9 20 31 3a 0d 04  |Quit")..... 1:..|
00000ed0  9c 1b f2 6d 68 28 6d 65  6e 75 25 2c 31 32 2c 22  |...mh(menu%,12,"|
00000ee0  48 61 6e 67 4d 61 6e 22  29 0d 04 a6 2b f2 6d 62  |HangMan")...+.mb|
00000ef0  28 6d 65 6e 75 25 2b 32  38 2c 26 30 30 2c 69 6e  |(menu%+28,&00,in|
00000f00  66 6f 25 2c 26 37 30 30  30 30 32 31 2c 22 49 6e  |fo%,&7000021,"In|
00000f10  66 6f 22 29 0d 04 b0 2c  f2 6d 62 28 6d 65 6e 75  |fo")...,.mb(menu|
00000f20  25 2b 35 32 2c 26 30 30  2c 2d 31 2c 26 37 30 30  |%+52,&00,-1,&700|
00000f30  30 30 32 31 2c 22 4e 65  77 20 77 6f 72 64 22 29  |0021,"New word")|
00000f40  0d 04 ba 2d f2 6d 62 28  6d 65 6e 75 25 2b 37 36  |...-.mb(menu%+76|
00000f50  2c 26 30 30 2c 2d 31 2c  26 37 30 30 30 30 32 31  |,&00,-1,&7000021|
00000f60  2c 22 53 68 6f 77 20 77  6f 72 64 22 29 0d 04 c4  |,"Show word")...|
00000f70  2f f2 6d 62 28 6d 65 6e  75 25 2b 31 30 30 2c 26  |/.mb(menu%+100,&|
00000f80  38 30 2c 2d 31 2c 26 37  30 30 30 30 32 31 2c 22  |80,-1,&7000021,"|
00000f90  52 65 73 65 74 20 67 61  6d 65 22 29 0d 04 ce 05  |Reset game")....|
00000fa0  cb 0d 04 d8 25 c8 99 20  22 57 69 6d 70 5f 43 72  |....%.. "Wimp_Cr|
00000fb0  65 61 74 65 4d 65 6e 75  22 2c 2c 6d 65 6e 75 25  |eateMenu",,menu%|
00000fc0  2c 78 25 2c 79 25 0d 04  e2 05 e1 0d 04 ec 04 0d  |,x%,y%..........|
00000fd0  04 f6 1d dd 20 f2 6d 68  28 62 61 73 65 25 2c 77  |.... .mh(base%,w|
00000fe0  69 64 74 68 25 2c 74 65  78 74 24 29 0d 05 00 50  |idth%,text$)...P|
00000ff0  24 62 61 73 65 25 3d 74  65 78 74 24 2b bd 30 3a  |$base%=text$+.0:|
00001000  62 61 73 65 25 21 31 32  3d 26 30 30 30 37 30 32  |base%!12=&000702|
00001010  30 37 3a 62 61 73 65 25  21 31 36 3d 77 69 64 74  |07:base%!16=widt|
00001020  68 25 2a 31 36 3a 62 61  73 65 25 21 32 30 3d 34  |h%*16:base%!20=4|
00001030  34 3a 62 61 73 65 25 21  32 34 3d 30 0d 05 0a 05  |4:base%!24=0....|
00001040  e1 0d 05 14 04 0d 05 1e  27 dd 20 f2 6d 62 28 62  |........'. .mb(b|
00001050  61 73 65 25 2c 66 6c 61  67 25 2c 70 74 72 25 2c  |ase%,flag%,ptr%,|
00001060  69 63 66 6c 25 2c 74 65  78 74 24 29 0d 05 28 3e  |icfl%,text$)..(>|
00001070  62 61 73 65 25 21 30 3d  66 6c 61 67 25 3a 62 61  |base%!0=flag%:ba|
00001080  73 65 25 21 34 3d 70 74  72 25 3a 62 61 73 65 25  |se%!4=ptr%:base%|
00001090  21 38 3d 69 63 66 6c 25  3a 24 28 62 61 73 65 25  |!8=icfl%:$(base%|
000010a0  2b 31 32 29 3d 74 65 78  74 24 0d 05 32 05 e1 0d  |+12)=text$..2...|
000010b0  05 3c 04 0d 05 46 11 dd  20 f2 64 65 63 6f 64 65  |.<...F.. .decode|
000010c0  6d 65 6e 75 0d 05 50 08  76 25 3d b9 0d 05 5a 28  |menu..P.v%=...Z(|
000010d0  c8 99 22 57 69 6d 70 5f  44 65 63 6f 64 65 4d 65  |.."Wimp_DecodeMe|
000010e0  6e 75 22 2c 2c 6d 65 6e  75 25 2c 42 25 2c 42 25  |nu",,menu%,B%,B%|
000010f0  2b 31 32 38 0d 05 64 13  61 24 3d a4 76 61 72 28  |+128..d.a$=.var(|
00001100  42 25 2b 31 32 38 29 0d  05 6e 0b c8 8e 20 61 24  |B%+128)..n... a$|
00001110  20 ca 0d 05 78 22 c9 20  22 49 6e 66 6f 22 3a f2  | ...x". "Info":.|
00001120  73 68 6f 77 6d 65 6e 75  28 69 6e 66 6f 25 29 3a  |showmenu(info%):|
00001130  76 25 3d a3 0d 05 82 19  c9 20 22 4e 65 77 20 77  |v%=...... "New w|
00001140  6f 72 64 22 3a f2 6e 65  77 77 6f 72 64 0d 05 8c  |ord":.newword...|
00001150  1d c9 20 22 52 65 73 65  74 20 67 61 6d 65 22 3a  |.. "Reset game":|
00001160  f2 72 65 73 65 74 67 61  6d 65 0d 05 96 3a c9 20  |.resetgame...:. |
00001170  22 53 68 6f 77 20 77 6f  72 64 22 3a f2 69 63 6f  |"Show word":.ico|
00001180  6e 28 6d 61 69 6e 25 2c  33 36 2c 22 41 6e 73 77  |n(main%,36,"Answ|
00001190  65 72 20 3a 22 2b 74 65  78 74 24 29 3a 6d 65 6d  |er :"+text$):mem|
000011a0  25 3d 2d 31 0d 05 a0 14  c9 20 22 51 75 69 74 22  |%=-1..... "Quit"|
000011b0  3a 71 75 69 74 25 3d b9  0d 05 aa 05 cb 0d 05 b4  |:quit%=.........|
000011c0  35 42 25 3d a4 70 6f 69  6e 74 65 72 3a e7 20 42  |5B%=.pointer:. B|
000011d0  25 21 38 3d 31 20 80 20  76 25 3d b9 20 8c 20 f2  |%!8=1 . v%=. . .|
000011e0  6d 65 6e 75 28 42 25 21  30 2d 36 34 2c 42 25 21  |menu(B%!0-64,B%!|
000011f0  34 29 0d 05 be 05 e1 0d  05 c8 04 0d 05 d2 13 dd  |4)..............|
00001200  20 f2 73 68 6f 77 6d 65  6e 75 28 61 25 29 0d 05  | .showmenu(a%)..|
00001210  dc 35 42 25 3d a4 70 6f  69 6e 74 65 72 3a c8 99  |.5B%=.pointer:..|
00001220  20 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  | "Wimp_CreateMen|
00001230  75 22 2c 2c 61 25 2c 42  25 21 30 2d 36 34 2c 42  |u",,a%,B%!0-64,B|
00001240  25 21 34 0d 05 e6 05 e1  0d 05 f0 04 0d 05 fa 0c  |%!4.............|
00001250  dd 20 f2 6e 6f 6d 65 6e  0d 06 04 1c c8 99 20 22  |. .nomen...... "|
00001260  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00001270  2c 2c 2d 31 0d 06 0e 05  e1 0d 06 18 04 0d 06 22  |,,-1..........."|
00001280  32 dd 20 a4 76 61 72 28  75 25 29 3a 75 24 3d 22  |2. .var(u%):u$="|
00001290  22 3a c8 95 3f 75 25 3e  33 31 3a 75 24 2b 3d bd  |":..?u%>31:u$+=.|
000012a0  3f 75 25 3a 75 25 2b 3d  31 3a ce 3a 3d 75 24 0d  |?u%:u%+=1:.:=u$.|
000012b0  06 2c 04 0d 06 36 72 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.,...6r=========|
000012c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001320  3d 3d 3d 3d 3d 0d 06 40  53 20 20 20 20 20 20 20  |=====..@S       |
00001330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 2d  |              --|
00001340  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001370  2d 2d 2d 2d 2d 2d 2d 2d  0d 06 4a 53 20 20 20 20  |--------..JS    |
00001380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001390  20 2d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | -              |
000013a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000013c0  20 20 20 20 20 20 20 20  20 20 2d 0d 06 54 53 20  |          -..TS |
000013d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013e0  20 20 20 20 2d 20 20 20  20 20 20 20 20 20 20 4d  |    -          M|
000013f0  69 73 63 20 68 61 6e 64  6c 65 72 20 20 20 20 20  |isc handler     |
00001400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001410  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 0d 06  |             -..|
00001420  5e 53 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |^S              |
00001430  20 20 20 20 20 20 20 2d  20 20 20 20 20 20 20 20  |       -        |
00001440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001470  2d 0d 06 68 53 20 20 20  20 20 20 20 20 20 20 20  |-..hS           |
00001480  20 20 20 20 20 20 20 20  20 20 2d 2d 2d 2d 2d 2d  |          ------|
00001490  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000014c0  2d 2d 2d 2d 0d 06 72 72  3d 3d 3d 3d 3d 3d 3d 3d  |----..rr========|
000014d0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001530  3d 3d 3d 3d 3d 3d 0d 06  7c 04 0d 06 86 0e dd 20  |======..|...... |
00001540  a4 70 6f 69 6e 74 65 72  0d 06 90 20 c8 99 20 22  |.pointer... .. "|
00001550  57 69 6d 70 5f 47 65 74  50 6f 69 6e 74 65 72 49  |Wimp_GetPointerI|
00001560  6e 66 6f 22 2c 2c 42 25  0d 06 9a 07 3d 42 25 0d  |nfo",,B%....=B%.|
00001570  06 a4 04 0d 06 ae 0a dd  20 f2 65 6e 64 0d 06 b8  |........ .end...|
00001580  17 c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 44  |... "Wimp_CloseD|
00001590  6f 77 6e 22 0d 06 c2 05  e0 0d 06 cc 05 e1 0d 06  |own"............|
000015a0  d6 04 0d 06 e0 0f dd 20  f2 67 65 74 78 61 6e 64  |....... .getxand|
000015b0  79 0d 06 ea 26 58 25 3d  a4 6d 6f 64 65 76 61 72  |y...&X%=.modevar|
000015c0  28 eb 2c 31 31 29 2b 31  3c 3c a4 6d 6f 64 65 76  |(.,11)+1<<.modev|
000015d0  61 72 28 eb 2c 34 29 0d  06 f4 26 59 25 3d a4 6d  |ar(.,4)...&Y%=.m|
000015e0  6f 64 65 76 61 72 28 eb  2c 31 32 29 2b 31 3c 3c  |odevar(.,12)+1<<|
000015f0  a4 6d 6f 64 65 76 61 72  28 eb 2c 35 29 0d 06 fe  |.modevar(.,5)...|
00001600  05 e1 0d 07 08 04 0d 07  12 1c dd 20 a4 6d 6f 64  |........... .mod|
00001610  65 76 61 72 28 6d 6f 64  65 25 2c 76 61 72 6e 72  |evar(mode%,varnr|
00001620  25 29 0d 07 1c 32 c8 99  20 22 4f 53 5f 52 65 61  |%)...2.. "OS_Rea|
00001630  64 4d 6f 64 65 56 61 72  69 61 62 6c 65 22 2c 6d  |dModeVariable",m|
00001640  6f 64 65 25 2c 76 61 72  6e 72 25 20 b8 20 2c 2c  |ode%,varnr% . ,,|
00001650  76 61 6c 25 0d 07 26 09  3d 76 61 6c 25 0d 07 30  |val%..&.=val%..0|
00001660  04 0d 07 3a 04 0d 07 44  72 3d 3d 3d 3d 3d 3d 3d  |...:...Dr=======|
00001670  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000016d0  3d 3d 3d 3d 3d 3d 3d 0d  07 4e 53 20 20 20 20 20  |=======..NS     |
000016e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000016f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001720  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 07 58 53 20 20  |----------..XS  |
00001730  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001740  20 20 20 2d 20 20 20 20  20 20 20 20 20 20 20 20  |   -            |
00001750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001770  20 20 20 20 20 20 20 20  20 20 20 20 2d 0d 07 62  |            -..b|
00001780  53 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |S               |
00001790  20 20 20 20 20 20 2d 20  20 20 20 20 20 20 20 20  |      -         |
000017a0  20 57 69 6e 64 6f 77 20  68 61 6e 64 6c 65 72 20  | Window handler |
000017b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000017c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  |               -|
000017d0  0d 07 6c 53 20 20 20 20  20 20 20 20 20 20 20 20  |..lS            |
000017e0  20 20 20 20 20 20 20 20  20 2d 20 20 20 20 20 20  |         -      |
000017f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001820  20 20 2d 0d 07 76 53 20  20 20 20 20 20 20 20 20  |  -..vS         |
00001830  20 20 20 20 20 20 20 20  20 20 20 20 2d 2d 2d 2d  |            ----|
00001840  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001870  2d 2d 2d 2d 2d 2d 0d 07  80 72 3d 3d 3d 3d 3d 3d  |------...r======|
00001880  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000018e0  3d 3d 3d 3d 3d 3d 3d 3d  0d 07 8a 04 0d 07 94 11  |========........|
000018f0  dd 20 f2 62 6f 72 64 65  72 28 77 25 29 0d 07 9e  |. .border(w%)...|
00001900  0d f2 6f 70 65 6e 28 77  25 29 0d 07 a8 0b 42 25  |..open(w%)....B%|
00001910  21 30 3d 77 25 0d 07 b2  20 c8 99 20 22 57 69 6d  |!0=w%... .. "Wim|
00001920  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00001930  22 2c 2c 42 25 0d 07 bc  29 c8 97 20 c8 93 20 42  |",,B%...).. .. B|
00001940  25 21 34 2c 42 25 21 38  2c 42 25 21 31 32 2d 42  |%!4,B%!8,B%!12-B|
00001950  25 21 34 2c 42 25 21 31  36 2d 42 25 21 38 0d 07  |%!4,B%!16-B%!8..|
00001960  c6 05 e1 0d 07 d0 04 0d  07 da 16 dd 20 f2 72 65  |............ .re|
00001970  73 65 74 62 6f 72 64 65  72 28 77 25 29 0d 07 e4  |setborder(w%)...|
00001980  0e f2 63 6c 6f 73 65 28  77 25 29 0d 07 ee 0d f2  |..close(w%).....|
00001990  67 65 74 78 61 6e 64 79  0d 07 f8 17 c8 97 20 c8  |getxandy...... .|
000019a0  93 20 30 2c 30 2c 58 25  2d 31 2c 59 25 2d 31 0d  |. 0,0,X%-1,Y%-1.|
000019b0  08 02 05 e1 0d 08 0c 04  0d 08 16 10 dd 20 f2 63  |............. .c|
000019c0  6c 6f 73 65 28 61 25 29  0d 08 20 0a 21 42 25 3d  |lose(a%).. .!B%=|
000019d0  61 25 0d 08 2a 1d c8 99  20 22 57 69 6d 70 5f 43  |a%..*... "Wimp_C|
000019e0  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 42 25 0d  |loseWindow",,B%.|
000019f0  08 34 05 e1 0d 08 3e 04  0d 08 48 0f dd 20 f2 6f  |.4....>...H.. .o|
00001a00  70 65 6e 28 61 25 29 0d  08 52 0a 21 42 25 3d 61  |pen(a%)..R.!B%=a|
00001a10  25 0d 08 5c 1f c8 99 22  57 69 6d 70 5f 47 65 74  |%..\..."Wimp_Get|
00001a20  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 42 25  |WindowState",,B%|
00001a30  0d 08 66 0c 42 25 21 32  38 3d 2d 31 0d 08 70 1b  |..f.B%!28=-1..p.|
00001a40  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
00001a50  6f 77 22 2c 2c 42 25 0d  08 7a 05 e1 0d 08 84 04  |ow",,B%..z......|
00001a60  0d 08 8e 72 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |...r============|
00001a70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001ad0  3d 3d 0d 08 98 53 20 20  20 20 20 20 20 20 20 20  |==...S          |
00001ae0  20 20 20 20 20 20 20 20  20 20 20 2d 2d 2d 2d 2d  |           -----|
00001af0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001b20  2d 2d 2d 2d 2d 0d 08 a2  53 20 20 20 20 20 20 20  |-----...S       |
00001b30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 20  |              - |
00001b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001b70  20 20 20 20 20 20 20 2d  0d 08 ac 53 20 20 20 20  |       -...S    |
00001b80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b90  20 2d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | -              |
00001ba0  20 20 20 20 20 20 20 45  72 72 6f 72 20 48 61 6e  |       Error Han|
00001bb0  64 6c 65 72 20 20 20 20  20 20 20 20 20 20 20 20  |dler            |
00001bc0  20 20 20 20 20 20 20 20  20 20 2d 0d 08 b6 53 20  |          -...S |
00001bd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001be0  20 20 20 20 2d 20 20 20  20 20 20 20 20 20 20 20  |    -           |
00001bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001c10  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 0d 08  |             -..|
00001c20  c0 53 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.S              |
00001c30  20 20 20 20 20 20 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |       ---------|
00001c40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001c70  2d 0d 08 ca 72 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |-...r===========|
00001c80  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001ce0  3d 3d 3d 0d 08 d4 04 0d  08 de 0c dd 20 f2 65 72  |===......... .er|
00001cf0  72 6f 72 0d 08 e8 07 ea  20 85 0d 08 f2 09 ee 20  |ror..... ...... |
00001d00  85 20 87 0d 08 fc 1e 61  24 3d 22 45 52 52 4f 52  |. .....a$="ERROR|
00001d10  20 74 79 70 65 3d 28 22  2b c3 28 9f 29 2b 22 29  | type=("+.(.)+")|
00001d20  22 0d 09 06 1c 62 24 3d  f6 24 3a 63 24 3d 22 41  |"....b$=.$:c$="A|
00001d30  74 20 6c 69 6e 65 20 22  2b c3 28 9e 29 0d 09 10  |t line "+.(.)...|
00001d40  18 64 24 3d 22 4f 4b 20  74 6f 20 63 6f 6e 74 69  |.d$="OK to conti|
00001d50  6e 75 65 2e 22 0d 09 1a  1a f2 73 65 74 65 72 72  |nue.".....seterr|
00001d60  6f 72 28 61 24 2c 62 24  2c 63 24 2c 64 24 29 0d  |or(a$,b$,c$,d$).|
00001d70  09 24 28 e7 20 a4 65 72  72 6f 72 28 22 43 6f 6e  |.$(. .error("Con|
00001d80  74 69 6e 75 65 22 2c 22  51 75 69 74 22 29 3d a3  |tinue","Quit")=.|
00001d90  20 8c 20 f2 65 6e 64 0d  09 2e 07 f7 20 85 0d 09  | . .end..... ...|
00001da0  38 05 e1 0d 09 42 04 0d  09 4c 1c dd 20 f2 73 65  |8....B...L.. .se|
00001db0  74 65 72 72 6f 72 28 61  24 2c 62 24 2c 63 24 2c  |terror(a$,b$,c$,|
00001dc0  64 24 29 0d 09 56 17 f2  69 63 6f 6e 28 67 65 72  |d$)..V..icon(ger|
00001dd0  72 6f 72 25 2c 30 2c 61  24 29 0d 09 60 17 f2 69  |ror%,0,a$)..`..i|
00001de0  63 6f 6e 28 67 65 72 72  6f 72 25 2c 31 2c 62 24  |con(gerror%,1,b$|
00001df0  29 0d 09 6a 17 f2 69 63  6f 6e 28 67 65 72 72 6f  |)..j..icon(gerro|
00001e00  72 25 2c 32 2c 63 24 29  0d 09 74 17 f2 69 63 6f  |r%,2,c$)..t..ico|
00001e10  6e 28 67 65 72 72 6f 72  25 2c 33 2c 64 24 29 0d  |n(gerror%,3,d$).|
00001e20  09 7e 05 e1 0d 09 88 04  0d 09 92 1b dd 20 f2 6d  |.~........... .m|
00001e30  79 65 72 72 6f 72 28 61  24 2c 62 24 2c 63 24 2c  |yerror(a$,b$,c$,|
00001e40  64 24 29 0d 09 9c 17 c8  99 22 48 6f 75 72 67 6c  |d$)......"Hourgl|
00001e50  61 73 73 5f 53 6d 61 73  68 22 0d 09 a6 0a f2 6e  |ass_Smash".....n|
00001e60  6f 6d 65 6e 0d 09 b0 17  f2 69 63 6f 6e 28 6c 65  |omen.....icon(le|
00001e70  72 72 6f 72 25 2c 30 2c  61 24 29 0d 09 ba 17 f2  |rror%,0,a$).....|
00001e80  69 63 6f 6e 28 6c 65 72  72 6f 72 25 2c 31 2c 62  |icon(lerror%,1,b|
00001e90  24 29 0d 09 c4 17 f2 69  63 6f 6e 28 6c 65 72 72  |$).....icon(lerr|
00001ea0  6f 72 25 2c 32 2c 63 24  29 0d 09 ce 17 f2 69 63  |or%,2,c$).....ic|
00001eb0  6f 6e 28 6c 65 72 72 6f  72 25 2c 33 2c 64 24 29  |on(lerror%,3,d$)|
00001ec0  0d 09 d8 12 f2 6f 70 65  6e 28 6c 65 72 72 6f 72  |.....open(lerror|
00001ed0  25 29 0d 09 e2 20 c8 99  20 22 57 69 6d 70 5f 47  |%)... .. "Wimp_G|
00001ee0  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00001ef0  42 25 0d 09 ec 29 c8 97  20 c8 93 20 42 25 21 34  |B%...).. .. B%!4|
00001f00  2c 42 25 21 38 2c 42 25  21 31 32 2d 42 25 21 34  |,B%!8,B%!12-B%!4|
00001f10  2c 42 25 21 31 36 2d 42  25 21 38 0d 09 f6 05 e1  |,B%!16-B%!8.....|
00001f20  0d 0a 00 04 0d 0a 0a 13  dd 20 a4 65 72 72 6f 72  |......... .error|
00001f30  28 61 24 2c 62 24 29 0d  0a 14 17 c8 99 22 48 6f  |(a$,b$)......"Ho|
00001f40  75 72 67 6c 61 73 73 5f  53 6d 61 73 68 22 0d 0a  |urglass_Smash"..|
00001f50  1e 0a f2 6e 6f 6d 65 6e  0d 0a 28 17 f2 69 63 6f  |...nomen..(..ico|
00001f60  6e 28 67 65 72 72 6f 72  25 2c 37 2c 61 24 29 0d  |n(gerror%,7,a$).|
00001f70  0a 32 17 f2 69 63 6f 6e  28 67 65 72 72 6f 72 25  |.2..icon(gerror%|
00001f80  2c 34 2c 62 24 29 0d 0a  3c 12 f2 6f 70 65 6e 28  |,4,b$)..<..open(|
00001f90  67 65 72 72 6f 72 25 29  0d 0a 46 10 42 25 21 30  |gerror%)..F.B%!0|
00001fa0  3d 67 65 72 72 6f 72 25  0d 0a 50 20 c8 99 20 22  |=gerror%..P .. "|
00001fb0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00001fc0  61 74 65 22 2c 2c 42 25  0d 0a 5a 29 c8 97 20 c8  |ate",,B%..Z).. .|
00001fd0  93 20 42 25 21 34 2c 42  25 21 38 2c 42 25 21 31  |. B%!4,B%!8,B%!1|
00001fe0  32 2d 42 25 21 34 2c 42  25 21 31 36 2d 42 25 21  |2-B%!4,B%!16-B%!|
00001ff0  38 0d 0a 64 13 70 65 6e  64 25 3d 30 3a 66 61 73  |8..d.pend%=0:fas|
00002000  74 25 3d 30 0d 0a 6e 05  f5 0d 0a 78 11 72 65 61  |t%=0..n....x.rea|
00002010  73 6f 6e 25 3d a4 70 6f  6c 6c 0d 0a 82 10 c8 8e  |son%=.poll......|
00002020  20 72 65 61 73 6f 6e 25  20 ca 0d 0a 8c 07 c9 20  | reason% ...... |
00002030  36 0d 0a 96 27 e7 20 42  25 21 31 36 3d 34 20 80  |6...'. B%!16=4 .|
00002040  20 42 25 21 31 32 3d 67  65 72 72 6f 72 25 20 8c  | B%!12=gerror% .|
00002050  20 70 65 6e 64 25 3d 31  0d 0a a0 27 e7 20 42 25  | pend%=1...'. B%|
00002060  21 31 36 3d 37 20 80 20  42 25 21 31 32 3d 67 65  |!16=7 . B%!12=ge|
00002070  72 72 6f 72 25 20 8c 20  70 65 6e 64 25 3d 32 0d  |rror% . pend%=2.|
00002080  0a aa 1c c9 20 38 3a e7  20 42 25 21 32 34 3d 32  |.... 8:. B%!24=2|
00002090  37 20 8c 20 70 65 6e 64  25 3d 32 0d 0a b4 14 c9  |7 . pend%=2.....|
000020a0  20 31 37 2c 31 38 3a f2  72 65 63 65 69 76 65 0d  | 17,18:.receive.|
000020b0  0a be 05 cb 0d 0a c8 0d  fd 20 70 65 6e 64 25 3e  |......... pend%>|
000020c0  30 0d 0a d2 19 f2 72 65  73 65 74 62 6f 72 64 65  |0.....resetborde|
000020d0  72 28 67 65 72 72 6f 72  25 29 0d 0a dc 17 e7 20  |r(gerror%)..... |
000020e0  70 65 6e 64 25 3d 32 20  8c 20 3d b9 20 8b 20 3d  |pend%=2 . =. . =|
000020f0  a3 0d 0a e6 04 0d 0a f0  72 3d 3d 3d 3d 3d 3d 3d  |........r=======|
00002100  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002160  3d 3d 3d 3d 3d 3d 3d 0d  0a fa 53 20 20 20 20 20  |=======...S     |
00002170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002180  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000021b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 0b 04 53 20 20  |----------...S  |
000021c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000021d0  20 20 20 2d 20 20 20 20  20 20 20 20 20 20 20 20  |   -            |
000021e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002200  20 20 20 20 20 20 20 20  20 20 20 20 2d 0d 0b 0e  |            -...|
00002210  54 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |T               |
00002220  20 20 20 20 20 20 2d 20  20 20 20 20 20 20 20 20  |      -         |
00002230  20 20 20 20 20 20 20 20  20 20 20 20 53 70 72 69  |            Spri|
00002240  74 65 20 48 61 6e 64 6c  65 72 20 20 20 20 20 20  |te Handler      |
00002250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002260  2d 0d 0b 18 53 20 20 20  20 20 20 20 20 20 20 20  |-...S           |
00002270  20 20 20 20 20 20 20 20  20 20 2d 20 20 20 20 20  |          -     |
00002280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000022b0  20 20 20 2d 0d 0b 22 53  20 20 20 20 20 20 20 20  |   -.."S        |
000022c0  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 2d 2d  |             ---|
000022d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002300  2d 2d 2d 2d 2d 2d 2d 0d  0b 2c 72 3d 3d 3d 3d 3d  |-------..,r=====|
00002310  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002370  3d 3d 3d 3d 3d 3d 3d 3d  3d 0d 0b 36 04 0d 0b 40  |=========..6...@|
00002380  0e dd 20 f2 64 69 73 70  6c 61 79 0d 0b 4a 34 c8  |.. .display..J4.|
00002390  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
000023a0  26 31 33 43 2c 73 70 25  2c 22 53 63 72 65 65 6e  |&13C,sp%,"Screen|
000023b0  22 20 b8 20 52 30 2c 52  31 2c 52 32 2c 52 33 0d  |" . R0,R1,R2,R3.|
000023c0  0b 54 30 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |.T0.. "Wimp_SetC|
000023d0  6f 6c 6f 75 72 22 2c 31  35 3a c8 93 20 c8 90 20  |olour",15:.. .. |
000023e0  30 2c 30 2c 32 34 35 2a  32 2c 32 30 30 2a 34 0d  |0,0,245*2,200*4.|
000023f0  0b 5e 2f c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |.^/.. "Wimp_SetC|
00002400  6f 6c 6f 75 72 22 2c 31  30 3a c8 93 20 c8 90 20  |olour",10:.. .. |
00002410  30 2c 30 2c 32 34 35 2a  32 2c 32 30 2a 34 0d 0b  |0,0,245*2,20*4..|
00002420  68 1f e7 20 70 6f 73 25  3e 30 20 f2 73 63 72 65  |h.. pos%>0 .scre|
00002430  65 6e 28 22 50 31 22 2c  31 30 2c 30 29 0d 0b 72  |en("P1",10,0)..r|
00002440  21 e7 20 70 6f 73 25 3e  31 20 f2 73 63 72 65 65  |!. pos%>1 .scree|
00002450  6e 28 22 50 32 22 2c 39  30 2c 35 37 32 29 0d 0b  |n("P2",90,572)..|
00002460  7c 21 e7 20 70 6f 73 25  3e 32 20 f2 73 63 72 65  ||!. pos%>2 .scre|
00002470  65 6e 28 22 50 33 22 2c  31 30 2c 37 31 32 29 0d  |en("P3",10,712).|
00002480  0b 86 22 e7 20 70 6f 73  25 3e 33 20 f2 73 63 72  |..". pos%>3 .scr|
00002490  65 65 6e 28 22 50 34 22  2c 32 37 30 2c 35 31 32  |een("P4",270,512|
000024a0  29 0d 0b 90 22 e7 20 70  6f 73 25 3e 35 20 f2 73  |)...". pos%>5 .s|
000024b0  63 72 65 65 6e 28 22 42  32 22 2c 31 38 34 2c 32  |creen("B2",184,2|
000024c0  35 36 29 0d 0b 9a 22 e7  20 70 6f 73 25 3e 34 20  |56)...". pos%>4 |
000024d0  f2 73 63 72 65 65 6e 28  22 42 31 22 2c 32 32 38  |.screen("B1",228|
000024e0  2c 35 30 30 29 0d 0b a4  21 e7 20 70 6f 73 25 3e  |,500)...!. pos%>|
000024f0  36 20 f2 73 63 72 65 65  6e 28 22 42 33 22 2c 31  |6 .screen("B3",1|
00002500  38 34 2c 31 32 29 0d 0b  ae 3a e7 20 70 6f 73 25  |84,12)...:. pos%|
00002510  3d 37 20 8c 20 f2 73 63  72 65 65 6e 28 22 42 34  |=7 . .screen("B4|
00002520  22 2c 32 38 38 2c 35 38  30 29 3a f2 73 63 72 65  |",288,580):.scre|
00002530  65 6e 28 22 42 35 22 2c  33 31 38 2c 35 30 34 29  |en("B5",318,504)|
00002540  0d 0b b8 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |... .. "OS_Sprit|
00002550  65 4f 70 22 2c 52 30 2c  52 31 2c 52 32 2c 52 33  |eOp",R0,R1,R2,R3|
00002560  0d 0b c2 18 f2 72 65 64  72 61 77 69 63 6f 6e 28  |.....redrawicon(|
00002570  6d 61 69 6e 25 2c 30 29  0d 0b cc 15 e7 20 70 6f  |main%,0)..... po|
00002580  73 25 3d 37 20 8c 20 f2  77 72 6f 6e 67 0d 0b d6  |s%=7 . .wrong...|
00002590  05 e1 0d 0b e0 04 0d 0b  ea 15 dd 20 f2 73 63 72  |........... .scr|
000025a0  65 65 6e 28 61 24 2c 78  2c 79 29 0d 0b f4 27 c8  |een(a$,x,y)...'.|
000025b0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
000025c0  31 33 34 2c 73 70 25 2c  61 24 2c 78 2c 79 2c 26  |134,sp%,a$,x,y,&|
000025d0  30 38 0d 0b fe 05 e1 0d  0c 08 04 0d 0c 12 72 3d  |08............r=|
000025e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002640  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0d 0c 1c  |=============...|
00002650  53 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |S               |
00002660  20 20 20 20 20 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |      ----------|
00002670  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000026a0  0d 0c 26 53 20 20 20 20  20 20 20 20 20 20 20 20  |..&S            |
000026b0  20 20 20 20 20 20 20 20  20 2d 20 20 20 20 20 20  |         -      |
000026c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000026f0  20 20 2d 0d 0c 30 53 20  20 20 20 20 20 20 20 20  |  -..0S         |
00002700  20 20 20 20 20 20 20 20  20 20 20 20 2d 20 20 20  |            -   |
00002710  20 20 20 20 20 20 20 50  72 6f 67 20 68 61 6e 64  |       Prog hand|
00002720  6c 65 72 20 20 20 20 20  20 20 20 20 20 20 20 20  |ler             |
00002730  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002740  20 20 20 20 20 2d 0d 0c  3a 53 20 20 20 20 20 20  |     -..:S      |
00002750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  |               -|
00002760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002790  20 20 20 20 20 20 20 20  2d 0d 0c 44 53 20 20 20  |        -..DS   |
000027a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027b0  20 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |  --------------|
000027c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000027e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0d 0c 4e 72  |------------..Nr|
000027f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002850  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 0d 0c  |==============..|
00002860  58 04 0d 0c 62 12 dd 20  f2 6e 65 77 71 75 65 73  |X...b.. .newques|
00002870  74 69 6f 6e 0d 0c 6c 0c  77 6f 72 64 25 2b 3d 31  |tion..l.word%+=1|
00002880  0d 0c 76 13 70 6f 73 25  3d 30 3a f2 64 69 73 70  |..v.pos%=0:.disp|
00002890  6c 61 79 0d 0c 80 15 6d  65 6d 25 3d b3 28 61 72  |lay....mem%=.(ar|
000028a0  65 61 73 69 7a 65 25 29  0d 0c 8a 41 e7 20 61 72  |easize%)...A. ar|
000028b0  65 61 25 3f 6d 65 6d 25  3c 3e 31 30 20 80 20 6d  |ea%?mem%<>10 . m|
000028c0  65 6d 25 3c 61 72 65 61  73 69 7a 65 25 20 8c 20  |em%<areasize% . |
000028d0  f5 3a 6d 65 6d 25 2b 3d  31 3a fd 20 61 72 65 61  |.:mem%+=1:. area|
000028e0  25 3f 6d 65 6d 25 3d 31  30 0d 0c 94 1d e7 20 6d  |%?mem%=10..... m|
000028f0  65 6d 25 3d 61 72 65 61  73 69 7a 65 25 20 8c 20  |em%=areasize% . |
00002900  6d 65 6d 25 3d 30 0d 0c  9e 0b 6d 65 6d 25 2b 3d  |mem%=0....mem%+=|
00002910  31 0d 0c a8 1a 74 65 78  74 24 3d a4 76 61 72 28  |1....text$=.var(|
00002920  61 72 65 61 25 2b 6d 65  6d 25 29 0d 0c b2 29 e3  |area%+mem%)...).|
00002930  20 49 3d 33 20 b8 20 32  38 3a f2 69 63 6f 6e 28  | I=3 . 28:.icon(|
00002940  6d 61 69 6e 25 2c 49 2c  bd 28 36 32 2b 49 29 29  |main%,I,.(62+I))|
00002950  3a ed 20 49 0d 0c bc 33  e3 20 49 3d 30 20 b8 20  |:. I...3. I=0 . |
00002960  a9 20 74 65 78 74 24 2d  31 3a 61 6e 73 77 65 72  |. text$-1:answer|
00002970  25 3f 49 3d 34 35 3a ed  20 49 3a 61 6e 73 77 65  |%?I=45:. I:answe|
00002980  72 25 3f 49 3d 31 33 0d  0c c6 16 f2 69 63 6f 6e  |r%?I=13.....icon|
00002990  28 6d 61 69 6e 25 2c 33  36 2c 22 22 29 0d 0c d0  |(main%,36,"")...|
000029a0  1c f2 69 63 6f 6e 28 6d  61 69 6e 25 2c 32 39 2c  |..icon(main%,29,|
000029b0  24 61 6e 73 77 65 72 25  29 0d 0c da 0d f2 64 69  |$answer%).....di|
000029c0  73 70 76 61 72 73 0d 0c  e4 05 e1 0d 0c ee 04 0d  |spvars..........|
000029d0  0c f8 0f dd 20 f2 64 69  73 70 76 61 72 73 0d 0d  |.... .dispvars..|
000029e0  02 1c f2 69 63 6f 6e 28  6d 61 69 6e 25 2c 33 33  |...icon(main%,33|
000029f0  2c c3 28 77 6f 72 64 25  29 29 0d 0d 0c 1f f2 69  |,.(word%)).....i|
00002a00  63 6f 6e 28 6d 61 69 6e  25 2c 33 34 2c c3 28 63  |con(main%,34,.(c|
00002a10  6f 72 72 65 63 74 25 29  29 0d 0d 16 1d f2 69 63  |orrect%)).....ic|
00002a20  6f 6e 28 6d 61 69 6e 25  2c 33 35 2c c3 28 77 72  |on(main%,35,.(wr|
00002a30  6f 6e 67 25 29 29 0d 0d  20 05 e1 0d 0d 2a 04 0d  |ong%)).. ....*..|
00002a40  0d 34 18 dd 20 f2 70 72  6f 63 65 73 73 6c 65 74  |.4.. .processlet|
00002a50  74 65 72 28 69 25 29 0d  0d 3e 25 e7 20 6d 65 6d  |ter(i%)..>%. mem|
00002a60  25 3e 2d 31 20 80 20 a4  69 63 6f 6e 28 6d 61 69  |%>-1 . .icon(mai|
00002a70  6e 25 2c 69 25 29 3c 3e  22 22 20 8c 0d 0d 48 0f  |n%,i%)<>"" ...H.|
00002a80  74 24 3d bd 28 69 25 2b  36 32 29 0d 0d 52 16 f2  |t$=.(i%+62)..R..|
00002a90  69 63 6f 6e 28 6d 61 69  6e 25 2c 69 25 2c 22 22  |icon(main%,i%,""|
00002aa0  29 0d 0d 5c 08 61 25 3d  a3 0d 0d 66 15 e3 20 49  |)..\.a%=...f.. I|
00002ab0  3d 30 20 b8 20 a9 20 74  65 78 74 24 2d 31 0d 0d  |=0 . . text$-1..|
00002ac0  70 2f e7 20 74 24 3d c2  c0 74 65 78 74 24 2c 49  |p/. t$=..text$,I|
00002ad0  2b 31 29 2c 31 29 20 8c  20 61 6e 73 77 65 72 25  |+1),1) . answer%|
00002ae0  3f 49 3d 69 25 2b 36 32  3a 61 25 3d b9 0d 0d 7a  |?I=i%+62:a%=...z|
00002af0  07 ed 20 49 0d 0d 84 1c  f2 69 63 6f 6e 28 6d 61  |.. I.....icon(ma|
00002b00  69 6e 25 2c 32 39 2c 24  61 6e 73 77 65 72 25 29  |in%,29,$answer%)|
00002b10  0d 0d 8e 24 e7 20 a4 76  61 72 28 61 6e 73 77 65  |...$. .var(answe|
00002b20  72 25 29 3d 74 65 78 74  24 20 8c 20 f2 63 6f 72  |r%)=text$ . .cor|
00002b30  72 65 63 74 0d 0d 98 1d  e7 20 61 25 3d a3 20 8c  |rect..... a%=. .|
00002b40  20 70 6f 73 25 2b 3d 31  3a f2 64 69 73 70 6c 61  | pos%+=1:.displa|
00002b50  79 0d 0d a2 05 cd 0d 0d  ac 05 e1 0d 0d b6 04 0d  |y...............|
00002b60  0d c0 0e dd 20 f2 63 6f  72 72 65 63 74 0d 0d ca  |.... .correct...|
00002b70  17 63 6f 72 72 65 63 74  25 2b 3d 31 3a 6d 65 6d  |.correct%+=1:mem|
00002b80  25 3d 2d 31 0d 0d d4 12  f2 73 6f 75 6e 64 28 22  |%=-1.....sound("|
00002b90  79 65 61 68 22 29 0d 0d  de 0d f2 64 69 73 70 76  |yeah").....dispv|
00002ba0  61 72 73 0d 0d e8 05 e1  0d 0d f2 04 0d 0d fc 0c  |ars.............|
00002bb0  dd 20 f2 77 72 6f 6e 67  0d 0e 06 15 77 72 6f 6e  |. .wrong....wron|
00002bc0  67 25 2b 3d 31 3a 6d 65  6d 25 3d 2d 31 0d 0e 10  |g%+=1:mem%=-1...|
00002bd0  11 f2 73 6f 75 6e 64 28  22 61 61 68 22 29 0d 0e  |..sound("aah")..|
00002be0  1a 24 f2 69 63 6f 6e 28  6d 61 69 6e 25 2c 33 36  |.$.icon(main%,36|
00002bf0  2c 22 41 6e 73 77 65 72  20 3a 22 2b 74 65 78 74  |,"Answer :"+text|
00002c00  24 29 0d 0e 24 0d f2 64  69 73 70 76 61 72 73 0d  |$)..$..dispvars.|
00002c10  0e 2e 05 e1 0d 0e 38 04  0d 0e 42 10 dd 20 f2 72  |......8...B.. .r|
00002c20  65 73 65 74 67 61 6d 65  0d 0e 4c 2e 70 6f 73 25  |esetgame..L.pos%|
00002c30  3d 30 3a 63 6f 72 72 65  63 74 25 3d 30 3a 77 72  |=0:correct%=0:wr|
00002c40  6f 6e 67 25 3d 30 3a 77  6f 72 64 25 3d 30 3a 6d  |ong%=0:word%=0:m|
00002c50  65 6d 25 3d 2d 31 0d 0e  56 10 f2 6e 65 77 71 75  |em%=-1..V..newqu|
00002c60  65 73 74 69 6f 6e 0d 0e  60 05 e1 0d 0e 6a 04 0d  |estion..`....j..|
00002c70  0e 74 0e dd 20 f2 6e 65  77 77 6f 72 64 0d 0e 7e  |.t.. .newword..~|
00002c80  0b 6d 65 6d 25 3d 2d 31  0d 0e 88 10 f2 6e 65 77  |.mem%=-1.....new|
00002c90  71 75 65 73 74 69 6f 6e  0d 0e 92 05 e1 0d 0e 9c  |question........|
00002ca0  04 0d 0e a6 10 dd 20 f2  73 6f 75 6e 64 28 74 24  |...... .sound(t$|
00002cb0  29 0d 0e b0 63 e7 20 a4  63 68 65 63 6b 69 63 6f  |)...c. .checkico|
00002cc0  6e 28 6d 61 69 6e 25 2c  34 31 29 20 8c 20 ff 20  |n(main%,41) . . |
00002cd0  28 22 43 68 61 6e 6e 65  6c 56 6f 69 63 65 20 31  |("ChannelVoice 1|
00002ce0  20 22 2b 74 24 29 3a c8  99 20 22 53 6f 75 6e 64  | "+t$):.. "Sound|
00002cf0  5f 43 6f 6e 66 69 67 75  72 65 22 2c 30 2c 30 2c  |_Configure",0,0,|
00002d00  31 30 30 3a d4 20 31 2c  26 31 37 46 2c 26 34 37  |100:. 1,&17F,&47|
00002d10  30 30 2c 31 0d 0e ba 05  e1 0d 0e c4 04 0d 0e ce  |00,1............|
00002d20  72 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |r===============|
00002d30  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002d80  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0d  |===============.|
00002d90  0e d8 53 20 20 20 20 20  20 20 20 20 20 20 20 20  |..S             |
00002da0  20 20 20 20 20 20 20 20  2d 2d 2d 2d 2d 2d 2d 2d  |        --------|
00002db0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002de0  2d 2d 0d 0e e2 53 20 20  20 20 20 20 20 20 20 20  |--...S          |
00002df0  20 20 20 20 20 20 20 20  20 20 20 2d 20 20 20 20  |           -    |
00002e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002e30  20 20 20 20 2d 0d 0e ec  53 20 20 20 20 20 20 20  |    -...S       |
00002e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 20  |              - |
00002e50  20 20 20 20 20 20 20 20  20 48 65 6c 70 20 68 61  |         Help ha|
00002e60  6e 64 6c 65 72 20 20 20  20 20 20 20 20 20 20 20  |ndler           |
00002e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e80  20 20 20 20 20 20 20 2d  0d 0e f6 53 20 20 20 20  |       -...S    |
00002e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ea0  20 2d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | -              |
00002eb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002ed0  20 20 20 20 20 20 20 20  20 20 2d 0d 0f 00 53 20  |          -...S |
00002ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ef0  20 20 20 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |    ------------|
00002f00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002f20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 0f  |--------------..|
00002f30  0a 72 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.r==============|
00002f40  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002fa0  0d 0f 14 04 0d 0f 1e 0f  dd 20 f2 68 65 6c 70 28  |......... .help(|
00002fb0  61 25 29 0d 0f 28 26 21  42 25 3d 61 25 3a 42 25  |a%)..(&!B%=a%:B%|
00002fc0  21 31 32 3d 61 25 21 38  3a 42 25 21 31 36 3d 26  |!12=a%!8:B%!16=&|
00002fd0  35 30 33 3a 61 24 3d 22  22 0d 0f 32 0e c8 8e 20  |503:a$=""..2... |
00002fe0  42 25 21 33 32 20 ca 0d  0f 3c 08 c9 20 2d 32 0d  |B%!32 ...<.. -2.|
00002ff0  0f 46 29 61 24 3d 22 54  68 69 73 20 69 73 20 74  |.F)a$="This is t|
00003000  68 65 20 48 61 6e 67 6d  61 6e 20 49 63 6f 6e 20  |he Hangman Icon |
00003010  69 63 6f 6e 2e 7c 4d 22  0d 0f 50 45 61 24 2b 3d  |icon.|M"..PEa$+=|
00003020  22 43 6c 69 63 6b 20 53  45 4c 45 43 54 20 74 6f  |"Click SELECT to|
00003030  20 6f 70 65 6e 20 74 68  65 20 48 61 6e 67 6d 61  | open the Hangma|
00003040  6e 20 77 69 6e 64 6f 77  20 61 6e 64 20 73 74 61  |n window and sta|
00003050  72 74 20 74 68 65 20 67  61 6d 65 2e 22 0d 0f 5a  |rt the game."..Z|
00003060  0c c9 20 6d 61 69 6e 25  3a 0d 0f 64 26 61 24 3d  |.. main%:..d&a$=|
00003070  22 54 68 69 73 20 69 73  20 74 68 65 20 68 61 6e  |"This is the han|
00003080  67 6d 61 6e 20 77 69 6e  64 6f 77 2e 7c 4d 22 0d  |gman window.|M".|
00003090  0f 6e 0e c8 8e 20 42 25  21 33 36 20 ca 0d 0f 78  |.n... B%!36 ...x|
000030a0  4a c9 20 20 30 3a 61 24  3d 22 54 68 69 73 20 69  |J.  0:a$="This i|
000030b0  63 6f 6e 20 64 69 73 70  6c 61 79 73 20 74 68 65  |con displays the|
000030c0  20 63 75 72 72 65 6e 74  20 73 74 61 74 75 73 20  | current status |
000030d0  6f 66 20 74 68 65 20 6d  61 6e 20 62 65 69 6e 67  |of the man being|
000030e0  20 68 75 6e 67 2e 22 0d  0f 82 58 c9 20 33 37 3a  | hung."...X. 37:|
000030f0  61 24 3d 22 43 6c 69 63  6b 20 6f 6e 20 74 68 69  |a$="Click on thi|
00003100  73 20 69 63 6f 6e 20 66  6f 72 20 61 20 6e 65 77  |s icon for a new|
00003110  20 77 6f 72 64 2c 20 69  65 20 77 68 65 6e 20 79  | word, ie when y|
00003120  6f 75 20 68 61 76 65 20  62 65 65 6e 20 68 75 6e  |ou have been hun|
00003130  67 20 6f 72 20 67 75 65  73 73 65 64 7c 4d 22 0d  |g or guessed|M".|
00003140  0f 8c 1b 20 20 20 20 20  20 20 3a 61 24 2b 3d 22  |...       :a$+="|
00003150  74 68 65 20 77 6f 72 64  2e 22 0d 0f 96 50 c9 20  |the word."...P. |
00003160  33 38 3a 61 24 3d 22 43  6c 69 63 6b 20 6f 6e 20  |38:a$="Click on |
00003170  74 68 69 73 20 69 63 6f  6e 20 69 66 20 79 6f 75  |this icon if you|
00003180  20 68 61 76 65 20 68 61  64 20 65 6e 6f 75 67 68  | have had enough|
00003190  20 6f 66 20 67 75 65 73  73 69 6e 67 20 61 74 20  | of guessing at |
000031a0  74 68 65 20 77 6f 72 64  2e 22 0d 0f a0 5a c9 20  |the word."...Z. |
000031b0  33 39 3a 61 24 3d 22 43  6c 69 63 6b 20 6f 6e 20  |39:a$="Click on |
000031c0  74 68 69 73 20 69 63 6f  6e 20 74 6f 20 72 65 73  |this icon to res|
000031d0  65 74 20 74 68 65 20 73  74 61 74 75 73 2c 20 69  |et the status, i|
000031e0  65 20 74 68 65 20 67 61  6d 65 73 20 70 6c 61 79  |e the games play|
000031f0  65 64 2c 20 67 61 6d 65  73 20 77 6f 6e 20 61 6e  |ed, games won an|
00003200  64 7c 4d 22 0d 0f aa 1d  20 20 20 20 20 20 20 3a  |d|M"....       :|
00003210  61 24 2b 3d 22 67 61 6d  65 73 20 6c 6f 73 74 2e  |a$+="games lost.|
00003220  22 0d 0f b4 45 c9 20 33  30 2c 33 33 3a 61 24 3d  |"...E. 30,33:a$=|
00003230  22 54 68 69 73 20 69 63  6f 6e 20 64 69 73 70 6c  |"This icon displ|
00003240  61 79 73 20 74 68 65 20  74 6f 74 61 6c 20 6e 75  |ays the total nu|
00003250  6d 62 65 72 20 6f 66 20  67 61 6d 65 73 20 70 6c  |mber of games pl|
00003260  61 79 65 64 2e 22 0d 0f  be 53 c9 20 33 31 2c 33  |ayed."...S. 31,3|
00003270  34 3a 61 24 3d 22 54 68  69 73 20 69 63 6f 6e 20  |4:a$="This icon |
00003280  64 69 73 70 6c 61 79 73  20 74 68 65 20 6e 75 6d  |displays the num|
00003290  62 65 72 20 6f 66 20 77  6f 72 64 73 20 79 6f 75  |ber of words you|
000032a0  20 68 61 76 65 20 67 75  65 73 73 65 64 20 63 6f  | have guessed co|
000032b0  72 72 65 63 74 6c 79 2e  22 0d 0f c8 51 c9 20 33  |rrectly."...Q. 3|
000032c0  32 2c 33 35 3a 61 24 3d  22 54 68 69 73 20 69 63  |2,35:a$="This ic|
000032d0  6f 6e 20 64 69 73 70 6c  61 79 73 20 74 68 65 20  |on displays the |
000032e0  6e 75 6d 62 65 72 20 6f  66 20 77 6f 72 64 73 20  |number of words |
000032f0  79 6f 75 20 68 61 76 65  20 67 75 65 73 73 65 64  |you have guessed|
00003300  20 77 72 6f 6e 67 6c 79  2e 22 0d 0f d2 31 c9 20  | wrongly."...1. |
00003310  34 30 2c 34 31 3a 61 24  3d 22 54 68 69 73 20 69  |40,41:a$="This i|
00003320  63 6f 6e 20 74 75 72 6e  73 20 74 68 65 20 73 6f  |con turns the so|
00003330  75 6e 64 20 6f 6e 2f 6f  66 66 22 0d 0f dc 58 7f  |und on/off"...X.|
00003340  3a e7 20 42 25 21 33 36  3e 32 20 80 20 42 25 21  |:. B%!36>2 . B%!|
00003350  33 36 3c 32 39 20 8c 20  61 24 2b 3d 22 43 6c 69  |36<29 . a$+="Cli|
00003360  63 6b 20 6f 6e 20 74 68  65 20 6c 65 74 74 65 72  |ck on the letter|
00003370  73 20 77 68 69 63 68 20  79 6f 75 20 74 68 69 6e  |s which you thin|
00003380  6b 20 61 72 65 20 69 6e  20 74 68 65 20 77 6f 72  |k are in the wor|
00003390  64 2e 22 0d 0f e6 05 cb  0d 0f f0 0b c9 20 69 6e  |d.".......... in|
000033a0  66 6f 25 0d 0f fa 3d 61  24 3d 22 54 68 69 73 20  |fo%...=a$="This |
000033b0  70 72 6f 67 72 61 6d 20  77 61 73 20 77 72 69 74  |program was writ|
000033c0  74 65 6e 20 62 79 20 44  61 6e 69 65 6c 20 26 20  |ten by Daniel & |
000033d0  4a 6f 73 65 70 68 20 44  61 76 69 67 68 69 2e 22  |Joseph Davighi."|
000033e0  0d 10 04 0d c9 20 67 65  72 72 6f 72 25 0d 10 0e  |..... gerror%...|
000033f0  25 61 24 3d 22 4f 68 20  64 65 61 72 21 20 4f 68  |%a$="Oh dear! Oh|
00003400  20 64 65 61 72 21 20 4f  68 20 64 65 61 72 21 7c  | dear! Oh dear!||
00003410  4d 22 0d 10 18 26 61 24  2b 3d 22 4e 6f 77 20 6c  |M"...&a$+="Now l|
00003420  6f 6f 6b 20 77 68 61 74  20 79 6f 75 20 68 61 76  |ook what you hav|
00003430  65 20 64 6f 6e 65 2e 22  0d 10 22 05 cb 0d 10 2c  |e done.".."....,|
00003440  2a 24 28 42 25 2b 32 30  29 3d 61 24 3a 21 42 25  |*$(B%+20)=a$:!B%|
00003450  3d 28 28 28 32 30 2b a9  28 61 24 29 2b 31 29 81  |=(((20+.(a$)+1).|
00003460  34 29 2a 34 29 2b 34 0d  10 36 17 24 28 42 25 2b  |4)*4)+4..6.$(B%+|
00003470  32 31 2b a9 28 61 24 29  29 3d bd 28 30 29 0d 10  |21+.(a$))=.(0)..|
00003480  40 1f c8 99 20 22 57 69  6d 70 5f 53 65 6e 64 4d  |@... "Wimp_SendM|
00003490  65 73 73 61 67 65 22 2c  31 37 2c 42 25 0d 10 4a  |essage",17,B%..J|
000034a0  05 e1 0d 10 54 04 0d 10  5e 72 3d 3d 3d 3d 3d 3d  |....T...^r======|
000034b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00003510  3d 3d 3d 3d 3d 3d 3d 3d  0d 10 68 53 20 20 20 20  |========..hS    |
00003520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003530  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
00003540  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003560  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 10 72 53 20  |-----------..rS |
00003570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003580  20 20 20 20 2d 20 20 20  20 20 20 20 20 20 20 20  |    -           |
00003590  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000035b0  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 0d 10  |             -..|
000035c0  7c 53 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ||S              |
000035d0  20 20 20 20 20 20 20 2d  20 20 20 20 20 20 20 20  |       -        |
000035e0  20 20 53 65 74 75 70 20  48 61 6e 64 6c 65 72 20  |  Setup Handler |
000035f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003610  2d 0d 10 86 53 20 20 20  20 20 20 20 20 20 20 20  |-...S           |
00003620  20 20 20 20 20 20 20 20  20 20 2d 20 20 20 20 20  |          -     |
00003630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003660  20 20 20 2d 0d 10 90 53  20 20 20 20 20 20 20 20  |   -...S        |
00003670  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 2d 2d  |             ---|
00003680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000036b0  2d 2d 2d 2d 2d 2d 2d 0d  10 9a 72 3d 3d 3d 3d 3d  |-------...r=====|
000036c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00003720  3d 3d 3d 3d 3d 3d 3d 3d  3d 0d 10 a4 04 0d 10 ae  |=========.......|
00003730  0b dd 20 f2 69 6e 69 74  0d 10 b8 37 de 20 42 25  |.. .init...7. B%|
00003740  20 31 37 30 30 2c 69 73  70 63 25 20 31 37 30 30  | 1700,ispc% 1700|
00003750  2c 6d 65 6e 75 25 20 31  35 30 2c 74 74 65 78 74  |,menu% 150,ttext|
00003760  25 20 31 30 2c 61 6e 73  77 65 72 25 20 32 30 0d  |% 10,answer% 20.|
00003770  10 c2 0b 71 75 69 74 25  3d a3 0d 10 cc 37 c8 99  |...quit%=....7..|
00003780  20 22 4f 53 5f 46 69 6c  65 22 2c 31 37 2c 22 3c  | "OS_File",17,"<|
00003790  48 61 6e 67 4d 61 6e 24  44 69 72 3e 2e 53 70 72  |HangMan$Dir>.Spr|
000037a0  69 74 65 73 22 20 b8 20  2c 2c 2c 2c 73 69 7a 65  |ites" . ,,,,size|
000037b0  25 0d 10 d6 3a de 20 73  70 25 20 73 69 7a 65 25  |%...:. sp% size%|
000037c0  2b 34 3a 73 70 25 21 30  3d 73 69 7a 65 25 2b 34  |+4:sp%!0=size%+4|
000037d0  3a 73 70 25 21 34 3d 30  3a 73 70 25 21 38 3d 31  |:sp%!4=0:sp%!8=1|
000037e0  36 3a 73 70 25 21 31 32  3d 31 36 0d 10 e0 1d c8  |6:sp%!12=16.....|
000037f0  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
00003800  26 31 30 39 2c 73 70 25  0d 10 ea 35 c8 99 20 22  |&109,sp%...5.. "|
00003810  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00003820  41 2c 73 70 25 2c 22 3c  48 61 6e 67 4d 61 6e 24  |A,sp%,"<HangMan$|
00003830  44 69 72 3e 2e 53 70 72  69 74 65 73 22 0d 10 f4  |Dir>.Sprites"...|
00003840  38 c8 99 20 22 4f 53 5f  46 69 6c 65 22 2c 31 37  |8.. "OS_File",17|
00003850  2c 22 3c 48 61 6e 67 4d  61 6e 24 44 69 72 3e 2e  |,"<HangMan$Dir>.|
00003860  44 61 74 61 22 20 b8 20  2c 2c 2c 2c 61 72 65 61  |Data" . ,,,,area|
00003870  73 69 7a 65 25 0d 10 fe  15 de 20 61 72 65 61 25  |size%..... area%|
00003880  20 61 72 65 61 73 69 7a  65 25 0d 11 08 30 c8 99  | areasize%...0..|
00003890  20 22 4f 53 5f 46 69 6c  65 22 2c 31 36 2c 22 3c  | "OS_File",16,"<|
000038a0  48 61 6e 67 4d 61 6e 24  44 69 72 3e 2e 44 61 74  |HangMan$Dir>.Dat|
000038b0  61 22 2c 61 72 65 61 25  2c 30 0d 11 12 38 c8 99  |a",area%,0...8..|
000038c0  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
000038d0  22 2c 32 30 30 2c 26 34  42 35 33 34 31 35 34 2c  |",200,&4B534154,|
000038e0  22 48 61 6e 67 4d 61 6e  22 20 b8 20 2c 74 61 73  |"HangMan" . ,tas|
000038f0  6b 25 0d 11 1c 2a 21 42  25 3d 2d 31 3a 42 25 21  |k%...*!B%=-1:B%!|
00003900  34 3d 30 3a 42 25 21 31  32 3d 37 32 3a 42 25 21  |4=0:B%!12=72:B%!|
00003910  38 3d 30 3a 42 25 21 31  36 3d 37 32 0d 11 26 23  |8=0:B%!16=72..&#|
00003920  42 25 21 32 30 3d 26 33  30 30 32 3a 24 28 42 25  |B%!20=&3002:$(B%|
00003930  2b 32 34 29 3d 22 21 48  61 6e 67 4d 61 6e 22 0d  |+24)="!HangMan".|
00003940  11 30 26 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |.0&.."Wimp_Creat|
00003950  65 49 63 6f 6e 22 2c 2c  42 25 20 b8 20 69 63 6f  |eIcon",,B% . ico|
00003960  6e 62 61 72 25 0d 11 3a  34 c8 99 22 57 69 6d 70  |nbar%..:4.."Wimp|
00003970  5f 4f 70 65 6e 54 65 6d  70 6c 61 74 65 22 2c 2c  |_OpenTemplate",,|
00003980  22 3c 48 61 6e 67 4d 61  6e 24 44 69 72 3e 2e 54  |"<HangMan$Dir>.T|
00003990  65 6d 70 6c 61 74 65 73  22 0d 11 44 1b 69 6e 66  |emplates"..D.inf|
000039a0  6f 25 3d a4 74 65 6d 70  6c 61 74 65 28 22 69 6e  |o%=.template("in|
000039b0  66 6f 22 29 0d 11 4e 1b  6d 61 69 6e 25 3d a4 74  |fo")..N.main%=.t|
000039c0  65 6d 70 6c 61 74 65 28  22 6d 61 69 6e 22 29 0d  |emplate("main").|
000039d0  11 58 1f 67 65 72 72 6f  72 25 3d a4 74 65 6d 70  |.X.gerror%=.temp|
000039e0  6c 61 74 65 28 22 67 65  72 72 6f 72 22 29 0d 11  |late("gerror")..|
000039f0  62 1a c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 54  |b..."Wimp_CloseT|
00003a00  65 6d 70 6c 61 74 65 22  0d 11 6c 1c f2 69 63 6f  |emplate"..l..ico|
00003a10  6e 28 69 6e 66 6f 25 2c  30 2c 22 48 61 6e 67 6d  |n(info%,0,"Hangm|
00003a20  61 6e 22 29 0d 11 76 3a  f2 69 63 6f 6e 28 69 6e  |an")..v:.icon(in|
00003a30  66 6f 25 2c 31 2c 22 4d  75 6c 74 69 74 61 73 6b  |fo%,1,"Multitask|
00003a40  69 6e 67 20 76 65 72 73  69 6f 6e 20 6f 66 20 74  |ing version of t|
00003a50  68 65 20 77 6f 72 64 20  67 61 6d 65 22 29 0d 11  |he word game")..|
00003a60  80 2c f2 69 63 6f 6e 28  69 6e 66 6f 25 2c 32 2c  |.,.icon(info%,2,|
00003a70  22 44 61 6e 69 65 6c 20  26 20 4a 6f 73 65 70 68  |"Daniel & Joseph|
00003a80  20 44 61 76 69 67 68 69  22 29 0d 11 8a 24 f2 69  | Davighi")...$.i|
00003a90  63 6f 6e 28 69 6e 66 6f  25 2c 33 2c 22 30 2e 33  |con(info%,3,"0.3|
00003aa0  35 20 28 38 2d 4a 61 6e  2d 39 33 29 22 29 0d 11  |5 (8-Jan-93)")..|
00003ab0  94 0e f2 72 65 73 65 74  67 61 6d 65 0d 11 9e 05  |...resetgame....|
00003ac0  e1 0d 11 a8 04 0d 11 b2  13 dd 20 a4 74 65 6d 70  |.......... .temp|
00003ad0  6c 61 74 65 28 61 24 29  0d 11 bc 0e 24 74 74 65  |late(a$)....$tte|
00003ae0  78 74 25 3d 61 24 0d 11  c6 49 c8 99 22 57 69 6d  |xt%=a$...I.."Wim|
00003af0  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
00003b00  2c 42 25 2c 69 73 70 63  25 2c 69 73 70 63 25 2b  |,B%,ispc%,ispc%+|
00003b10  31 37 30 30 2c 2d 31 2c  74 74 65 78 74 25 2c 30  |1700,-1,ttext%,0|
00003b20  20 b8 2c 2c 69 73 70 63  25 2c 2c 2c 2c 61 25 0d  | .,,ispc%,,,,a%.|
00003b30  11 d0 0d 42 25 21 36 34  3d 73 70 25 0d 11 da 22  |...B%!64=sp%..."|
00003b40  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |.."Wimp_CreateWi|
00003b50  6e 64 6f 77 22 2c 2c 42  25 20 b8 20 61 25 0d 11  |ndow",,B% . a%..|
00003b60  e4 07 3d 61 25 0d ff                              |..=a%..|
00003b67