-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogika_2.0.asc
More file actions
295 lines (295 loc) · 11 KB
/
logika_2.0.asc
File metadata and controls
295 lines (295 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
10 CLEAR 1000
100 REM Л О Г И К А
110 REM V 2.0
120 REM 13.03.97
130 REM Г.ХАРЬКОВ
160 REM @GRAYICH
190 REM
220 SCREEN 2,15:SCREEN 0,0,64,128,16,208,6,134,22,54,0,197,34,192,2,152,82,173:COLOR15,0,1:CLS
230 LINE3,1,BS:PLOT70,150,2:PRINT"1-ЦВЕТ"
240 LINE3,1,BS:PLOT70,140,2:PRINT"2-МОНО"
250 LINE3,1,BS:PLOT70,130,2:PRINT"3-ТУРБО"
260 CUR 8,10:PRINT"ВЫБИРЕТЕ ПОЖАЛУЙСТА РЕЖИМ."
270 A$=INKEY$:IF A$="" THEN 270
280 IF A$="1" THEN 450
290 IF A$="2" THEN 470
300 IF A$="3" THEN 490
310 CUR 9,7:PRINT"РЕЖИМ ТОЛЬКО (1 2 ИЛИ 3)":BEEP1,9:CUR9,7:PRINT" ":GOTO 270
320 REM ====-- COLOR_FISHK --====
330 FOR X=1 TO 6
340 POKE X*5,60,126,126,126,60
350 NEXT X: RETURN
360 REM ====-- F I S H K --====
370 POKE 5, 40,124,40,124,40
380 POKE 10, 68,56,40,56,68
390 POKE 15, 16,56,124,56,16
400 POKE 20, 24,60,120,60,24
410 POKE 25, 56,68,68,68,56
420 POKE 30, 56,124,124,124,56
430 RETURN
440 REM ---------- 1 -----------
450 GOSUB 330:CU=1:GOTO 500
460 REM ---------- 2 -----------
470 GOSUB 360:CU=0:GOTO 500
480 REM ---------- 3 -----------
490 GOSUB 360:CU=1:GOTO 500
500 CLS
510 REM =============START==============
520 DATA 8,16,63,16,8
530 DATA 4,2,63,2,4
540 FOR X=110 TO 119
550 READ Z:POKE X,Z
560 NEXT X
570 PLAY "L4O7APPPPR"
580 CLS:SCREEN0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
590 FOR A=0 TO 100:X=RND(1)*255:Y=RND(1)*255:F=INT(RND(1)*3+9):COLORF:PLOTX,Y,1:GOSUB 820:NEXT A:COLOR15,0,0
600 DATA 1,11,2,2,10,4,3,10,4,4,10,4
610 DATA 5,11,2,6,9,6,7,7,10,8,6,12,9,5,14,10,4,16
620 DATA 11,5,3,11,9,6,11,16,3
630 DATA 12,4,3,12,9,6,12,17,3
640 DATA 13,4,3,13,10,4,13,17,3
650 DATA 14,3,3,14,10,4,14,18,3
660 DATA 15,2,4,15,9,6,15,18,4
670 DATA 16,2,3,16,8,8,16,19,3
680 DATA 17,1,4,17,6,12,17,19,4
690 DATA 18,1,22,19,1,22
700 DATA 20,1,9,20,14,9
710 DATA 21,2,5,21,17,5
720 DATA 0,0,0
730 REM *** PROGRAMM ***
740 L=107:D=134
750 GOSUB 820:COLOR7
760 CIRCLE 120,120,15:PAINT 120,120,11,7
770 COLOR15
780 READ X,Y,Z
790 IF X=0 AND Y=0 AND Z=0 THEN COLOR7:GOTO 840
800 PLOTL+Y,D-X,2:LINEL+Y+Z,D-X
810 GOTO 780
820 IF INKEY$=CHR$(0) THEN PLAY "P","P","P":GOTO 1610
830 RETURN
840 COLOR7:Z=9:PLAY "L4O5APPPPR"
850 FOR X=20 TO 60 STEP 3
860 GOSUB 820:CIRCLE 120,120,X
870 IF Z=12 THEN Z=9
880 PAINT 120,120+(X-1),Z,7:Z=Z+1
890 NEXT X
900 PLAY "L5O4A"
910 COLOR6:PLOT50,170,2:LINE4,4,BS:PRINT"ЛОГИКА"
920 COLOR15:CUR 17,4:PRINT"GRAYICH"
930 CUR 18,2:PRINT"1996"
940 CUR 16,3:PRINT"Г.ХАРЬКОВ":CUR0,24
950 COLOR9:CUR 13,21:PRINT"ИНСТРУКЦИЯ - И"
960 SCREEN 0,0,64,128,16,208,6,134,22,0,0,197,34,192,2,152,82,173:COLOR15,0,1
970 REM ==================================
980 M(1)=197:M(2)=34:M(3)=192
990 REM
1000 E$="EEEEEEEE"
1010 E6$="EEEEEE"
1020 F$="F+F+F+F+F+F+F+F+"
1030 D$="DDDDDDDD"
1040 A$="AAAAAAAA"
1050 B$="BBBBBBBB"
1060 G$="GGGGGGGG"
1070 C$="CCCCCCCC"
1080 G1$="GE"
1090 LZ$="L7":L2$="O2":L3$="O3":O1$="O2":O2$="O3":O3$="O4":R$="R":J=0.03
1100 M1$=LZ$+L3$+E$+E$+L2$+B$+F$
1110 M2$=LZ$+L2$+B$+L3$+C$+L2$+G$+L3$+D$
1120 M3$=LZ$+L2$+E6$+G1$+G$+L3$+D$+L2$+A$
1130 REM _________________________________
1140 R1$=LZ$+O2$+E$+E$+O1$+B$+O3$+F$
1150 R2$=LZ$+O2$+B$+C$+O1$+G$+O2$+A$
1160 R3$=LZ$+O1$+B$+O3$+C$+G$+D$
1170 Q1$=R1$+R1$:Q2$=R2$+R2$:Q3$=R3$+R3$
1180 V1$=M1$+M1$:V2$=M2$+M2$:V3$=M3$+M3$
1190 REM =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1200 PLAY V1$,V2$,V3$
1210 IF PEEK(772)=0 THEN 1230
1220 GOSUB 1280:GOTO 1210
1230 PLAY Q1$,Q2$,Q3$
1240 IF PEEK(772)=0 THEN 1260
1250 GOSUB 1280:GOTO 1240
1260 IF Y=1 THEN Y=0:GOTO 1090
1270 LZ$="L8":Y=1:J=0.01:GOTO 1100
1280 M(0)=M(1):M(1)=M(2):M(2)=M(3):M(3)=M(0):
1290 SCREEN 0,9,M(1),M(2),M(3)
1300 PAUSE J:KE$=INKEY$:IF KE$="I" OR KE$="И" THEN 1330
1310 IF KE$="" THEN RETURN
1320 GOTO 1600
1330 RN$="P":A$="L602BAGFEDCO1BAGFEDCO0BAGFEDC":PLAYA$,RN$+A$,RN$+RN$+A$
1340 W=30:FOR X=205-W TO 55STEP-W:COLOR3:PLOT40,X,2:LINE212,X+W,BF:COLOR15:PLOT40,X+W,1:LINE40,X:LINE212,X:LINE212,X+W
1350 NEXT X
1360 PLOT40,205,2:LINE212,205
1370 COLOR15:PLOT54,173,2:LINE1,1,BS:PRINT"ВАША ЗАДАЧА ОТГАДАТЬ ПРА-"
1380 PLOT48,163,2:LINE1,1,BS:PRINT"ВИЛЬНЫЕ ПОЛОЖЕНИЯ ФИШЕК."
1390 PLOT48,153,2:LINE1,1,BS:PRINT"ПРИ ЭТОМ,ЕСЛИ ВЫ ОТГАДАЛИ:"
1400 PLOT48,143,2:LINE1,1,BS:PRINT"1.ФИШКУ И ЕЕ МЕСТОРАСПОЛО-"
1410 PLOT60,133,2:LINE1,1,BS:PRINT"ЖЕНИЕ,ТО СТАВИТСЯ [+]."
1420 PLOT48,123,2:LINE1,1,BS:PRINT"2.ФИШКУ,НО ОНА СТОИТ НЕ НА"
1430 PLOT60,113,2:LINE1,1,BS:PRINT"СВОЕМ МЕСТЕ,ТО СТАВИТСЯ"
1440 PLOT60,103,2:LINE1,1,BS:PRINT"[-]."
1450 PLOT48,93,2:LINE1,1,BS:PRINT"ЕСЛИ ТАКОЙ ФИШКИ НЕТ,ТО НЕ"
1460 PLOT54,83,2:LINE1,1,BS:PRINT"СТАВИТСЯ НИЧЕГО."
1470 IF INKEY$="" THEN 1470
1480 COLOR3:PLOT205,82,2:LINE47,188,BF
1490 CUR0,24
1500 COLOR15:PLOT72,173:LINE1,1,BS:PRINT"КЛАВИШИ УПРАВЛЕНИЯ"
1510 PLOT48,153:LINE1,1,BS:PRINT"<-,-> -- ПЕРЕБОР ПОЗИЦИЙ."
1520 PLOT54,143:LINE1,1,BS:PRINT CHR$(22);",";CHR$(23);" -- ВЫБОР ФИШКИ."
1530 PLOT60,133:LINE1,1,BS:PRINT"ВК -- НАРИСОВАТЬ ФИШКУ"
1540 PLOT102,123:LINE1,1,BS:PRINT"В ТЕКУЩЕЙ ПОЗИЦИИ"
1550 PLOT54,113:LINE1,1,BS:PRINT"АР2 -- ВВОД ВАРИАНТА."
1560 PLOT54,103:LINE1,1,BS:PRINT"ТАБ -- КОНЕЦ."
1570 PLOT54,93:LINE1,1,BS:PRINT"ФИШКИ ТАКЖЕ МОЖНО ВВОДИТЬ"
1580 PLOT78,83:LINE1,1,BS:PRINT"КЛАВИШАМИ (1-6).
1590 IF INKEY$="" THEN 1590
1600 REM БЛОК-------- 2
1610 CLS:COLOR15,208,8
1620 SCREEN 0,0,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208
1630 CLS:KP=4:PP=4:R=0:UP=2:DO=3:SM=107:BM=100:YT=1:FORX=1TO4:ZAA(X)=INT(RND(1)*6+1):NEXT X:BL=0:KH=0
1640 WF$="ПОПЫТКА ->"
1650 IF CU<>1 THEN 1680
1660 FOR X=1 TO 6:E(X)=X:NEXT X
1670 GOTO 1690
1680 FOR X=1 TO 6:E(X)=15:NEXT X
1690 GOTO 1740
1700 COLOR8:PLOTXP+KP,YP-PP,2:LINEXP+KP+AP,YP-PP+BP,BF
1710 COLOR14:PLOTXP,YP,2:LINEXP+AP,YP+BP,BF:COLOR15
1720 IF R=1 THEN PLOTXP,YP,2:LINEXP+AP,YP+BP,B:R=0
1730 RETURN
1740 REM --- Р А М К И ---
1750 PLOT0,0,2:LINE255,255,B:PLOT2,2,2:LINE253,253,B
1760 XP=20:YP=100:AP=20:BP=120:GOSUB 1700
1770 XP=100:AP=60:GOSUB 1700
1780 XP=190:AP=50:GOSUB 1700
1790 XP=100:YP=45:AP=60:BP=30:GOSUB 1700
1800 REM -- ЦИФРЫ БУКВЫ --
1810 COLOR3:PLOT9,46,2:LINE25,70,BF
1820 COLOR8:PLOT13,47,2:LINE1,2,BS:PRINT KH+1;WF$:COLOR9:PLOT10,50,2:LINE1,2,BS:PRINT KH+1;WF$
1830 Y=0
1840 FOR X=105 TO 205 STEP 20
1850 Y=Y+1
1860 CUR 0,24
1870 COLOR E(Y):PLOT 28,X,2:LINE1,1,BS:PRINT CHR$(Y)
1880 COLOR8:PLOT5,X-3,2:LINE1,1,BS:PRINT Y:COLOR15:PLOT2,X,2:LINE1,1,BS:PRINT Y
1890 COLOR8:PLOT163,X-3,2:LINE2,1,BS:PRINT Y:COLOR15:PLOT 160,X,2:LINE2,1,BS:PRINT Y
1900 NEXT X
1910 Y=0
1920 FOR X=107 TO 137 STEP 10
1930 Y=Y+1
1940 CUR0,24
1950 PLOTX,65,2:LINE1,1,BS:PRINT Y
1960 NEXT X
1970 IF KH=0 THEN SCREEN 0,0,82,128,16,208,6,134,54,54,0,197,34,192,2,152,82,173
1980 G7=5:JF=0:COLOR15,208
1990 FOR X=1 TO 4:WA(X)=0:NEXT X
2000 REM _ _ _ _ * В Ы Б О Р * _ _ _ _
2010 A$=INKEY$
2020 IF G7=4 THEN A$=CHR$(8):G7=0
2030 IF G7=5 THEN A$=CHR$(25):G7=4
2040 IF A$=CHR$(24) THEN UP=UP+1:GOTO 2210
2050 IF JF>0 THEN JF=0:GOTO 2270
2060 IF A$="" THEN 2010
2070 IF A$=CHR$(8) THEN UP=UP-1:GOTO 2210
2080 IF A$=CHR$(26) THEN DO=DO-1:GOTO 2270
2090 IF A$=CHR$(25) THEN DO=DO+1:GOTO 2270
2100 IF A$=CHR$(9) THEN 2920
2110 IF A$="1" THEN DO=1:GOTO 2350
2120 IF A$="2" THEN DO=2:GOTO 2350
2130 IF A$="3" THEN DO=3:GOTO 2350
2140 IF A$="4" THEN DO=4:GOTO 2350
2150 IF A$="5" THEN DO=5:GOTO 2350
2160 IF A$="6" THEN DO=6:GOTO 2350
2170 IF A$="S" OR A$="С" THEN 2820
2180 IF A$=CHR$(13) OR A$=CHR$(32) THEN 2350
2190 IF A$=CHR$(27) OR A$=CHR$(4) THEN 2390
2200 GOTO 2010
2210 REM ---- ВПРАВО * ВЛЕВО ----
2220 CUR 0,24
2230 IF UP>4 THEN UP=1
2240 IF UP<1 THEN UP=4
2250 SU=(UP*10)+103:COLOR14:PLOT SM,50,2:LINE1,1,BS:PRINT CHR$(95):COLOR15:PLOT SU,50,2:LINE1,1,BS:PRINT CHR$(95):SM=SU
2260 GOTO 2010
2270 REM ---- ВВЕРХ * ВНИЗ ----
2280 CUR 0,24
2290 IF DO=7 THEN DO=1
2300 IF DO=0 THEN DO=6
2310 BU=(DO*20)+85:COLOR3:PLOT 58,BM-3,2:LINE 1,1,BS:PRINTCHR$(17):COLOR8:PLOT58,BU-3,2:LINE1,1,BS:PRINTCHR$(17)
2320 COLOR3:PLOT 55,BM,2:LINE 1,1,BS:PRINT CHR$(17):COLOR15:PLOT55,BU,2:LINE1,1,BS:PRINT CHR$(17):BM=BU
2330 GOTO 2010
2340 REM ----* Р И С О В А Н И Е *----
2350 PLAY "L60O4C":COLOR14:PLOTSU,55,2:LINESU+7,63,BF:COLOR E(DO):PLOTSU,55,2:LINE1,1,BS:PRINT CHR$(DO)
2360 WA(UP)=DO:REM * ЗАПОЛНЕНИЕ МАССИВА *
2370 CUR 0,24
2380 A$=CHR$(24):JF=DO:GOTO 2040
2390 REM ----* П Е Р Е Н О С *----
2400 FOR X=1 TO 4
2410 IF WA(X)=0 THEN 2800
2420 NEXT X
2430 PLAY "L57O6BAGFEDC"
2440 FOR X=1 TO 4
2450 SU=(X*10)+103:YF=(YT*20)+85:COLOR E(WA(X)):PLOTSU,YF,2:LINE1,1,BS:PRINT CHR$(WA(X))
2460 NEXT X:COLOR15
2470 YT=YT+1
2480 UP=2
2490 GOSUB 2520
2500 GOTO 1790
2510 REM -* Б Л О К О Б Р А Б О Т К И *-
2520 REM ОПРЕД.ЧЕРНЫХ
2530 FOR X=1 TO 4:C(X)=WA(X):M(X)=ZAA(X):NEXT X
2540 BL=1
2550 FOR X=1 TO 4
2560 IF C(X)=M(X) THEN O(BL)=2:C(X)=0:M(X)=0:BL=BL+1
2570 NEXT X
2580 REM ОПРЕД.БЕЛЫХ
2590 FOR X=1 TO 4
2600 FOR Y=1 TO 4
2610 IF C(X)=0 THEN 2630
2620 IF C(X)=M(Y) THEN O(BL)=1:C(X)=0:M(Y)=0:BL=BL+1
2630 NEXT:NEXT
2640 FOR X=BL TO 4:O(BL)=0:NEXT X
2650 REM ------- *** ВЫВОД *** -------
2660 Y=0
2670 FOR X=0 TO 4
2680 IF O(X)=2 THEN Y=Y+1
2690 NEXT X
2700 IF Y=4 THEN A$="ПОБЕДА !":GOTO 2950
2710 Y=1
2720 FOR X=1 TO 4
2730 IF O(X)=2 THEN CU$=CHR$(43):GOSUB 2780
2740 IF O(X)=1 THEN CU$=CHR$(45):GOSUB 2780
2750 NEXT X:KH=KH+1:IF KH=6 THEN 2840
2760 FOR X=0 TO 5:O(X)=0:NEXT X
2770 RETURN
2780 SU=(Y*10)+188:PLOTSU,YF,2:LINE1,1,BS:PRINT CU$:Y=Y+1
2790 CUR 0,24:RETURN
2800 COLOR8:PLOT83,7,2:LINE2,2,BS:PRINT"ОШИБКА"
2810 COLOR15:PLOT80,10,2:LINE2,2,BS:PLAY "L60O6CCCCCCCCCCCCCCCCCCCCCCC":PRINT"ОШИБКА":PAUSE 1.5
2820 COLOR3:PLOT80,5,2:LINE250,40,BF:COLOR15:UP=2:GOTO 1790
2830 REM ___* П Р О И Г Р Ы Ш *___
2840 XP=10:YP=20:AP=170:BP=55:GOSUB 1700
2850 PLOT35,60,2:LINE2,1,BS:PRINT"ЧТО, СЛАБО!"
2860 PLOT25,45,2:LINE1,1,BS:PRINT"А ЗАГАДАНО БЫЛО ВOT ЧТО:"
2870 CUR0,24
2880 PLOT70,25,2:LINE2,2,BS:FOR X=1 TO 4
2890 COLOR E(ZAA(X)):PRINT CHR$(ZAA(X));:NEXT X:COLOR15
2900 PLAY "L8O2CCCO1A2","L8O3CCCO2A2","L8O6CCCO5A2"
2910 A$=INKEY$:IF A$="" THEN 2910
2920 A$=" "
2930 GOTO 2990
2940 REM ___* П О Б Е Д А *___
2950 J1$="P1L8O1B2O2D+4F+4BBBBBBBBO3C+C+C+C+C+C+C+C+D+2C+2O2B4F+4B4"
2960 J2$="P1L8O2B2O3D+4F+4BBBBBBBBO4C+C+C+C+C+C+C+C+D+2C+2O3B4F+4B4"
2970 J3$="P1L8O4B2O5D+4F+4BBBBBBBBO6C+C+C+C+C+C+C+C+D+2C+2O5B4F+4B4"
2980 PLAY J1$,J2$,J3$
2990 XP=50:YP=90:AP=160:BP=100:R=1:GOSUB 1700
3000 COLOR4:PLOT90,160,2:LINE2,2,BS:PRINT A$
3010 COLOR15:PLOT75,135,2:LINE1,2,BS:PRINT"БУДЕТЕ ЕЩЕ ИГРАТЬ ?"
3020 PLOT100,100,2:LINE3,3,BS:PRINT"Д/Н"
3030 G=1
3040 A$=INKEY$:IF G>235 THEN 1610
3050 G=G+1
3060 IF A$="" THEN 3040
3070 IF A$="D" OR A$="Д" OR A$="Y" OR A$="Ы" THEN:FOR X=1 TO 4:C(X)=0:O(X)=0:NEXT X:GOTO 1610
3080 COLOR7,152,14:CLS
3090 REM ____ * E N D * ____