CLS:CLEAR
DIM HINT$(2000),NAME$(2000),Y(2000),N(2000)
GCLS 6
GFILL 0,8,256,56,15:GFILL 8,0,248,64,15
GCIRCLE 8,8,8,15:GCIRCLE 248,8,8,15
GCIRCLE 8,56,8,15:GCIRCLE 248,56,8,15
GLINE 124,64,128,68,15:GLINE 128,68,132,64,15
GPAINT 4,4,15:GPAINT 252,4,15
GPAINT 4,60,15:GPAINT 252,60,15
GPAINT 128,66,15
SPSET 0,0,10,0,0,0,32,32
SPSET 1,8,10,0,0,0,32,32
SPSET 2,16,10,0,0,0,32,32
SPOFS 0,112,72
SPOFS 1,112,72
SPOFS 2,112,92
SPANIM 0,2,16
SPANIM 2,2,32
COLOR 12

@DATA
I=I+1
READ HINT$(I),NAME$(I)
Y(I)=-I:N(I)=I+1
IF HINT$(I)=="" THEN GOUKEI=I-1:N(I-1)=-I:I=1:GOTO @QANDA
GOTO @DATA
DATA "ПзІФЬо","ЪФ","ТЩЖоБй","МЖ","ЫФЖоЩкй","ГЯ"
DATA "ЛЛЖоНЗ","ЪпнРо","ЪШй","ЖДй","ИЫоЖоХЖоВ","Зин"
DATA "","ИФЉй-"

@QANDA
SPOFS 0,112,72
CLS:PRINT
IF I<0 THEN I=-I:GOTO @ANSWER
MSG$="ПкЪ "+HINT$(I)+"?"
GOSUB @TALKSUB
GOSUB @BUTTON
IF B==16 THEN J=I:I=Y(I):F$="Y"
IF B==32 THEN J=I:I=N(I):F$="N"
GOTO @QANDA

@ANSWER
MSG$="ПкЪ "+NAME$(I)+"УоНШ?"
GOSUB @TALKSUB
GOSUB @BUTTON
CLS:PRINT
IF B==16 THEN MSG$="дЏР!":GOSUB @TALKSUB:GOTO @RETRY
MSG$="ЛонШн! ЕМДУИРоЛВЁ"
GOSUB @TALKSUB
MSG$="ПкЪ ХнУоНЖ?"
GOSUB @TALKSUB
GOSUB @INPUT
NAME$=A$
MSG$=NAME$+"Щ "+NAME$(I)+"ЦХВ ФИСЎГЪ ХнУоНЖ?"
GOSUB @TALKSUB
GOSUB @INPUT
HINT$=A$
MSG$=NAME$+"Ъ "+HINT$+"Ё ЕЮоДЯМРЁ"
GOSUB @TALKSUB

GOUKEI=GOUKEI+1
IF F$=="Y" THEN Y(J)=GOUKEI
IF F$=="N" THEN N(J)=GOUKEI
NAME$(GOUKEI+1)=NAME$
HINT$(GOUKEI)=HINT$
Y(GOUKEI)=-(GOUKEI+1)
N(GOUKEI)=-I

@RETRY
SPOFS 0,256,72
MSG$="УоЪ гГВСФоЁ"
GOSUB @TALKSUB
GOSUB @BUTTON
IF B==16 THEN I=1:GOTO @QANDA
IF B==32 THEN END

@BUTTON
LOCATE 25,7:COLOR 8:PRINT"(Y„@/N„A)";
COLOR 12
WAIT 1
B=BUTTON(3)
IF B==16 OR B==32 THEN RETURN
GOTO @BUTTON

@INPUT
GFILL 0,144,256,192,15
LOCATE 0,19:COLOR 8:PRINT"(З-Юо-ФоЖз Ц­ГиЎИМУ Enter)"
COLOR 1:PRINT
INPUT A$
GFILL 0,144,256,192,6
CLS:COLOR 12:PRINT
RETURN

@TALKSUB
SND$="@S9"
LNGT=LEN(MSG$)
FOR L=0 TO LNGT-1
M$=MID$(MSG$,L,1)
M=ASC(M$)
IF M$=="~" THEN M$="-"
IF M$=="Ѕ" THEN M$=" "
IF M$=="-" THEN @SKIP
IF M$==" " THEN @SKIP
IF M$=="?" THEN @SKIP
IF M$=="!" THEN @SKIP
IF M<164 THEN M$=""
IF M>224 THEN M$=""
@SKIP
SND$=SND$+M$
NEXT L
@TALKWAIT
IF TALKCHK() THEN WAIT 1:GOTO @TALKWAIT
TALK SND$
PRINT MSG$
RETURN