RÅÌ *********************************************** REM * ÏÐÎÃÐÀÌÌÀ ÐÅÄÀÊÒÈÐÎÂÀÍÈß ÇÍÀÊÎÃÅÍÅÐÀÒÎÐΠ* REM *********************************************** REM BASE:= ÍÈÆÍÈÌ ÊÐÀÉ ÁÓÔÅÐÀ ÏÐÎÃÐÀÌÌÀÒÎÐÀ ÐÏÇÓ REM  ÀÄÐÅÑÍÎÌ ÏÐÎÑÒÐÀÍÑÒÂÅ ÊÎÌÏÜÞÒÅÐÀ REM ST$:= ÑÒÐÎÊÀ, ÑÎÄÅÐÆÀÙÀß ÊÎÄÛ ÊËÀÂÈØ ÊÎÌÀÍÄ REM ÐÅÄÀÊÒÈÐÎÂÀÍÈß (KEYPAD) • REM Çäåñü èñïîëüçóåòñÿ àëôàâèòíàÿ êëàâèàòóðà. 10 BASE=1024: REM ÁÓÔÅÐ ÐÀÑÏÎËÎÆÅÍ Ñ ÀÄÐÅÑÀ 2800Í REM ÂÍÈÌÀÍÈÅ! ÅÑËÈ ÈÑÏÎËÜÇÓÅÒÑß ÈÍÒÅÐÏÐÅÒÀÒÎÐ REM BASIC Ñ ÀÂÒÎÌÀÒÈ×ÅÑÊÎÉ ÍÀÑÒÐÎÉÊÎÉ ÍÀ ÐÀÇÌÅÐ REM ÎÇÓ, ÎÁËÀÑÒÜ ÄËß ÁÓÔÅÐÀ ÄÀÍÍÛÕ ÏÐÎÃÐÀÌÌÀÒÎÐÀ REM ÄÎËÆÍÀ ÁÛÒÜ ÂÛÄÅËÅÍÀ ÄÎ ÅÃÎ ÇÀÃÐÓÇÊÈ • 20 ST$="LD]BJFZNE@": REM ÓÏÐÀÂËÅÍÈÅ ÐÅÄÀÊÒÎÐÎÌ 30 PRINT CHR"(31):PRINT:PRINT "***ÏÎÄÃÎÒÎÂÊÀ ", 40 PRINT "ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ***" REM --- ÐÈÑÎÂÀÍÈÅ ÐÀÌÊÈ ÇÍÀÊÎÌÅÑÒÀ È ÍÀÄÏÈÑÈ ---- 100 Õ=10:Y=10: GOSUB 9100: PRINT "+--------+" 110 X=10: Y=19: GOSUB 9100: PRINT "+--------+" 120 FOR I=11 TO 18: X=10: Y=I: GOSUB 9100 130 PRINT"! !": NEXT 140 X=23:Y=11:GOSUB 9100:PRINT"ÏPOÃPAMMÈPÓEM" 150 PRINT TAB (23); "ÇÍÀÊÎÃÅÍÅÐÀÒÎÐ" 160 PRINT TAB (23); "ÄËß ÊÎÄÀ:": REM ÂÛÂÅÑÒÈ ÏÎÄÑÊÀÇÊÓ REM ------- ÎÑÍÎÂÍÀß ÏÐÎÖÅÄÓÐÀ ÐÅÄÀÊÒÈÐÎÂÀÍÈß -------- 300 X=32:Y=13: GOSUB 9100: INPUT CODE:START=CODE*8 310 X=11:Y=11: GOSUB 9100 320 FOR I=0 TO 7:Y=11+I:BYTE=PEEK(BASE+START-I) 330 GOSUB 9000:NEXT:X=11:Y=11:GOSUB 9100 340 KEY$=CHR$(USR(-2045)):IF ASC(KEY$)=0 THEN 340 REM *** ÑÎÐÒÈÐÎÂÊÀ ÄÈÐÅÊÒÈ ÐÅÄÀÊÒÈÐÎÂÀÍÈß *** 350 FOR N=1 TO 10: IF KEY$=MID$(ST$,N,1) THEN 390 360 NEXT: GOTO 340 RÅÌ ------ ÈÑÏÎËÍÅÍÈÅ ÄÈÐÅÊÒÈ ÐÅÄÀÊÒÈÐÎÂÀÍÈß ---=-- 390 ON N GOT0400,420,440,460,480,500,520,540,900,300 RÅÌ ------ ÓÏÐÀÂËÅÍÈÅ ÄÂÈÆÅÍÈÅÌ ÊÓÐÑÎÐÀ -------- 400 IF Õ<=11 THEN 340 410 X=X-1: GOSUB 9100: GOTO 340 420 IF X>=18 THEN 340 430 X=X+1: GOSUB 9100: GOTO 340 440 IF Y<=11 THEN 340 450 Y=Y-1: GOSUB 9100: GOTO 340 460 IF Y>=18 THEN 340 470 Y=Y+1: GOSUB 9100: GOTO 340 REM ------- ÓÑÒÀÍÎÂÊÀ ÁÈÒÀ  ÍÓËÜ --------- 480 GOSUB9100:PRINT" ":GOSUB9100:ADR=BASE+START+Y-11 490 BT=PEEK(ADR) AND NOT (2^(18-Õ )): POKE ADDR,BT 495 GOTO 340 REM --------- ÓÑÒÀÍÎÂÊÀ ÁÈÒÀ  ÅÄÈÍÈÖÓ ----- 500 GOSUB9100:PRINT CHR$(127):GOSUB 9100 510 ADR=BASE+START+Y-11 515 POKE ADR,(PEEK (ADR) OR (2^(18-Õ))): GOTO 340 REM -- ÎÁÍÓËÅÍÈÅ ÑÎÄÅÐÆÈÌÎÃÎ ÇÍÀÊÎÌÅÑÒÀ (8 ÁÀÉÒ) -- 520 FOR I=0 TO 7:POKE(BASE+START+I),0:NEXT:GOTO 310 RÅÌ ----- ÈÍÂÅÐÑÈß ÑÎÄÅÐÆÈÌÎÃÎ ÇÍÀÊÎÌÅÑÒÀ ------ 540 FOR I=0 ÒÎ 7:ADR=BASE+START+I:B=NOT PEEK(ADR) 550 B=B AND 255:POKE ADR,B:NEXT:GOTO 210 REM ------ ÂÛÕÎÄ Â ÐÅÆÈÌ ÂÂÎÄÀ BASIC --------- 900 Õ=10: Y=20;GOSUB 9100: STOP REM *********************************************** REM * ÏÎÄÏÐÎÃÐÀÌÌÛ, ÈÑÏÎËÜÇÓÅÌÛÅ ÂÛØÅ. * REM *********************************************** REM * 1). ÂÛÂÎÄ ÁÀÉÒÀ ÍÀ ÝÊÐÀÍ Ñ ÏÎÇÈÖÈÈ (X,Y) 9000 B=BYTE:GOSUB 9100 9010 FOR J=7 TO 0 STEP -1:BR=INT(B/(2^J)):GOSUB 9110 9020 B=B-BR*2^J:NEXT:PRINT:RETURN REM * 2). ÓÏÐÀÂËÅÍÈÅ ÏÎËÎÆÅÍÈÅÌ ÊÓÐÑÎÐÀ Ñ ÏÎÌÎÙÜÞ REM /Y - ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÑÒÈ 9100 PRINT CHR$(27);"Y";CHR$(Y+32);CHR$(X+32);:RETUN REM * 3). ÏÎÁÈÒÍÀß ÐÀÑÏÅ×ÀÒÊÀ ÎÄÍÎÃÎ ÁÀÉÒÀ ÍÀ ÝÊÐÀÍÅ 9110 IF BR=0 THEN PRINT " ";:RETURN 9120 PRINT CHR$(127);:RETURN