Игра рассчитана на одного игрока и представляет собой карточ-
ный пасьянс. Правила следующие. Берется колода из 32 карт. Открыва-
ются 9 карт.
Можно отбросить две или три из них, которые образуют результа-
тивные комбинации (масть карт значения не имеет):
1. Две карты, сумма значений которых равна 11 (при этом туз
приравнивается к 1).
2. Трн карты, образующие "стрит" - валет-дама-Король.
На место отброшенных карт выкладываются новые из колоды.
Если нет ни одной результативной комбинации, тогда разрешается
отбросить одну центральную (девятую) карту. Если и после этого не
появилась результативная комбинация, игра заканчивается неудачей-
В том случае, если удалось израсходовать все карты колоды,
считается, что результат удачный.
1 GO TO 100
2 CLEAR 64599: LOAD "chr"CODE
64600
4 GO SUB 8: GO TO 1760
5 SAVE "PATIENCE" LINE 2
8 POKE 23606,88: POKE 23607,2
51: RETURN
9 POKE 23606,0: POKE 23607,60
: RETURN
100 GO SUB 8
1000 REM "ПАСЬЯНС" -==-=—=====
1020 DEF FN C(X)=6*(X-2 OR X=6)
+12*(X=9)+18*(X-3 OR X=7)+24*(X=
4 OR X=8): DEF FN D(X)=2+6»(X>4)
+6*(X>4 AND X<9)
1030 RANDOMIZE : RANDOMIZE
1040 GO SUB 1600: BORDER 4: PAPE
R 4: INK 0: CLS : GO SUB 1710: G
О SUB 1400: GO SUB 1500
1050 REM СТАРТОВАЯ ПОЗИЦИЯ -----
1060 LET A=1: FOR N=1 TO 44 STEP
5:: LET X-FN C(A)+2: LET Y-FN D
(A) +7: PRINT AT Y,X; PAPER 6; IN
КО;" ";A;" ": LET A-A+l: NEXT N
1070 LET A=l: FOR N=1 TO 44 STEP
5: LET X=FN C(A): LET Y=FN D(A)
: LET CS-PS(N TO N+4): LET R$(A)
-CS(2 TO 3): GO SUB 1260: LET A-
A+l: NEXT N: LET CD=9
1080 LET P$=P$(46 TO )
1090 PRINT AT 21,13; PAPER 5; IN
КО;" ";AT 19,13;"OCTA-";AT
20,13;"ЛОСЬ:";AT 21,15;52-CD: IN
PUT ;AT 0,0;"ВВЕДИТЕ НОМЕРА ПОЗИ
ЦИЙ КАРТ";AT 1.0;"(НАПРИМЕР: 35)
; 'О'-КОНЕЦ: "; LINE Z$: IF Z$="
" THEN GO SUB 1230
1100 IF LEN Z$>3 THEN GO SUB 12
30: GO TO 1100
1110 DIM Z(LEN ZS): FOR N=1 TO L
EN ZS: IF CODE Z$(N)<48 OR CODE
Z$(N)>57 THEN GO SUB 1230: GO T
О 1100
1120 LET Z(N)-VAL Z$(N): NEXT N
: IF LEN Z$=l AND Z$(l)<>"9n AN
D ZS(1)<>"0" THEN GO SUB 1230:
GO TO 1100 i .
1130 IF LEN Z$=2 THEN LET FA-0:
IF Z(l)-Z(2) THEN GO SUB 1230:
GO TO 1100
1140 IF LEN Z$=3 THEN LET) FA=0:
IF (Z(1)=Z(2))+(Z(1)=Z(3))+(Z(2
)-Z(3)) THEN GO SUB 12301 GO TO
1100 '
1150 IF VAL ZS-0 THEN LEJT RES-1
: GO TO 1510
1160 IF FA THEN GO SUB 1,230: GO
TO 1100
1170 IF LEN Z$=l THEN LET FA-FA
+ 1
1180 FOR N=1 TO LEN ZS: LET T=T+
VAL RS (Z(N)) : NEXT N: IF Toll A
ND T<>36 AND LEN Z$ol THEN GO
SUB 1230: LET T=0: GO TO 1100
1190 IF T=ll AND LEN Z$o2 THEN
GO SUB 1230: LET T=0: GO TO 110
0
1200 IF T=36 AND LEN Z$<>3 THEN
GO SUB 1230: LET T=0: GO TO 110
0
1210 FOR N=1 TO LEN ZS: LET C$=P
S(1 TO 5) : LET P$=P$(6 TO ) : LE
T CD=CD+1: IF CD-52 THEN GO TO
1510
1220 LET X=FN C(Z(N)): LET Y=FN
D(Z(N)): GO SUB 1260: LET R$(Z(N
))-C$(2 TO 3): NEXT N: LET T=0:
GO TO 1090
1230 INPUT ;AT 0,0;"НЕВЕРНЫЙ BBO
Д";AT 1,0;"ПОЖАЛУЙСТА, ЕЩЕ РАЗ :
"; LINE ZS: IF Z$="" THEN GO T
О 1230:
1240 RETURN
1250 REM ПЕЧАТЬ КАРТ =-====—=-=
1260 INK VAL C$(5): LET E$=C$(4)
: LET F$=C$(1)
1270 PAPER 7: FOR M=Y TO 8+12*(Y
>10)+6*(Y=8): PRINT AT M,X+1; IN
К 0;" ": NEXT M: PRINT AT Y,
X+l;F$;AT Y+6,X+5;FS
1280 PRINT AT Y+l,X+l;ES;AT Y+5,
X+5;ES
1290 IF (F$=,,A,,) + (Fi-"3") + (F$ = ,,5
")+(F$="9") THEN PRINT AT Y+3,X
+ 3 ;E$
1300 IF ( F$=*"2" ) + ( F$="3" ) THEN
PRINT AT Y+2,X+3;E$;AT Y+4,X+3;E
$
1310 IF (F$ = ',4,,) + (F$="5") + (F$»,,8
" ) + (F$=,,91' )+(F$="A") THEN PRINT
AT Y+2,X+2;E$.AT Y+2,X+4,ES;AT
Y+4,X+2;E$;AT Y+4,X+4;E$
1320 IF (FJ-"6")+(F$=n7") THEN
PRINT AT Y+1,X+2;E$;AT Y+1,X+4;E
$;AT Y+3,X+2;E$;AT Y+3,X+4;E$;AT
Y+5,X+2;E$;AT Y+5,X+4;E$
1330 IF (F$="7") THEN PRINT AT
Y+3,X+3;E$
1340 IF (F$="8")+(F$="9")+(F$="A
") THEN PRINT AT Y+l,X+2;E$;AT
Y+1,X+4;E$;AT Y+5,X+2,E$;AT Y+5,
X+4;E$
1350 IF (F$="A") THEN PRINT AT
Y+3,X+2;E$;AT Y+3,X+4;E$
1360 IF F$="3" THEN PRINT
AT Y+l.x+3; "2*ia3":
AT Y+2,X+4; "ig5";
AT Y+3.X+4; "iq5":
AT Y+4■X+2:"p5,sp,iq5":
AT Y+5.X+2:"ol,g3,02"
1370 IF FI="Q" THEN PRINT
AT Y+l.x+2:"o4,jp3,ia7":
AT Y+2.X+2:"o5.sp.iCT5":
AT Y+3 .X+2: "p5,sp,iq5" :
AT Y+4.X+2:"g5,Q4.ia5":
AT Y+5.X+2:"Ql,Q7,q2":
AT Y+6,X+3; "pi,g2"
1380 IF F$="K" THEN PRINT
AT Y+l. x+2:" ip5 , СГ5, ip5" ;
AT Y+2.X+2:"jq5,jge".
AT Y+3■X+2:"jp8,ip5":
AT Y+4.x+2:"ia5,laB":
AT Y+5.x+2:"jp5,P5.1P5"
1390 RETURN
1400 REM ПЕРЕТАСОВКА КОЛОДЫ
1410 LET A$~"": LET D$»"A0120230
3404505606707808909A10D11Q12K13"
1420 PRINT AT 8,9; INK 1; PAPER
5;B$;B$*B$;B$,AT 10,8; FLASH 1;
PAPER 7; INK 2;"ПОДГОТОВКА КОЛО
ДЫ";AT 12,9; FLASH 0; PAPER 5; I
NK 1 ;B$ ;B$ ;B$ ;B$
1430 FOR Q=1 TO 39 STEP 3: FOR P
-1 TO 4. LET COL-O: IF P-l OR P=
3 THEN LET COL—2
1440 LET A$=AS+D$(0 TO Q+2)+B$(P
)+STRS COL
1450 NEXT P: NEXT Q
1460 CLS : PRINT AT 8,9; PAPER 5
; INK 1;B$;B$;B$;B$;AT 10,10; PA
PER 7; FLASH 1;"ПЕРЕТАСОВКА...";
AT 12,9; PAPER 5; INK 1; FLASH 0
;B$;B$;BS;B$
1470 FOR N-l TO 60: LET л=1+(5*(
1+INT (RND*50))): IF n/2=INT (П/
2) THEN LET A$-A$(A TO A+4)+A$(
TO A-l)+A$(A+5 TO ): BEEP .01,N
1480 IF n/2<>INT (П/2) THEN LET
A$=A$( TO A-l)+AS(A+5 TO )+A$(A
TOA+4): BEEP .01.N+10
1490 NEXT N: LET P$-A$: CLS : RE
TURN
1500 INPUT "НАЖМИТЕ ENTER ДЛЯ ПР
ОДОЛЖЕНИЯ "; LINE Z$: BEEP .05,1
0: RETURN
1510 REM КОНЕЦ ИГРЫ -=—==—=—
' 1520 PAPER 5" INK 1: FOR N-12 TO
21: PRINT AT N,0; PAPER 5;"
": N
EXT N
1530 IF RES THEN PRINT AT 13,1
;"НА ЭТОТ РАЗ ВАМ HE ПОВЕЗЛО";AT
14,1;"ЗНАЧИТ - HE СУДЬБА...": F
OR N=-10 TO -30 STEP -1: BEEP AB
S N/100,N: NEXT N
1540 IF NOT RES THEN PRINT AT
13,1; FLASH 1;"!!!!! УРА, ПОВЕЗЛ
О !!!!!";AT 14,1; FLASH 0;"BAM С
ОПУТСТВУЕТ УДАЧА.": FOR N=1 TO 3
: FOR M-10 TO 40 STEP 3: BEEP .0
1,M: NEXT M: PAUSE 10. NEXT N
1550 PRINT AT 16,7;"ВЫ МОЖЕТЕ:";
AT 18,5;"1 - СЫГРАТЬ ЕЩЕ";АТ 18,
5;AT 19,5;"2 - ЗАВЕРШИТЬ ИГРУ"
1560 PAUSE О
1570 IF INKEY$-"1" THEN BORDER
4: PAPER 4: INK 0: CLS : GO SUB
1710: GO SUB 1710: GO SUB 1460:
GO SUB 1500: GO TO 1050
1580 IF INKEY$="2" THEN BORDER
5: CLS : PRINT AT 10,6;"ВКЛЮЧИТЕ
МАГНИТОФОН "''" ДЛЯ ЗАГРУЗКИ С
ЛЕДУЮЩЕЙ ИГРЫ": GO SUB 9: LOAD "
1590 PAUSE 0: GO TO 1570
1600 REM ИНСТРУКЦИЯ
1610 LET T$= "
■ ■ I I ■
II I I I I
III
! ! S |
": REM набирается при помощи io8
1620 BORDER 2: PAPER 3: INK 1: С
LS : PRINT AT 7,0; BRIGHT 1;T$:
FOR N=5 TO 15 STEP 10: PRINT AT
N,9; INK 0; PAPER 6; BRIGHT 1; F
LASH 1:" ПАСЬЯНС": NEXT N
1630 PRINT #1;AT 0,0;"ДЛЯ ИНСТРУ
КЦИИ НАЖМИТЕ »»1«"»;AT 1,0;"ИНАЧ
E - ЛЮБУЮ ДРУГУЮ КЛАВИШУ": PAUSE
0: IF INKEYSo" 1" THEN RETURN
1640 CLS : PRINT AT 1.1; INK 6;"
""11-UP"" ПАСЬЯНС: РУКОВОДСТВО"
: PAUSE 25
1650 DIM U$(7,30): LET U$(l)-"OT
КРЫВАЮТСЯ ДЕВЯТЬ КАРТ.": LET U$(
2)-" ВЫ МОЖЕТЕ ОТБРОСИТЬ СЛЕДУЮЩИ
Е:-": LET и$(3)-"ДВЕ КАРТЫ, СУММ
А ЗНАЧЕНИЙ": LET US(4)-"КОТОРЫХ
РАВНА 11 ИЛИ": LET и$(5)="ТРИ КА
РТЫ, ОБРАЗУЮЩИЕ СТРИТ:": LET U$(
6)-"ВАЛЕТ-ДАМА-КОРОЛЬ": LET U$(7
)■"(JACK-QUEEN-KING)": LET U-7
1660 GO SUB 1690: GO SUB 1500: L
ET U$(l)-"МАСТЬ КАРТ ЗНАЧЕНИЯ HE
ИМЕЕТ.": LET US(2)-"ЕСЛИ ПОДХОД
ЯЩИХ ВАРИАНТОВ НЕТ,": LET US(3)-
"ВЫ МОЖЕТЕ ОТБРОСИТЬ ОДНУ КАРТУ"
: LET и$(4)="ИЗ ЦЕНТРА: КАРТА 9.
": LET и$(5)-"ЕСЛИ ПОСЛЕ ЭТОГО Н
Е ПОЯВИЛАСЬ": LET US(6)- "РЕЗУЛЬ
ТАТИВНАЯ КОМБИНАЦИЯ,": LET US(7)
-"ТО ЗАВЕРШИТЕ ИГРУ ВВОДОМ "О1":
LET U—7
1670 GO SUB 1690: GO ТО 1500
1680 RETURN
1690 FOR N-2 TO 17: PRINT AT N,1
; PAPER 5;"
": NEXT N
1700 LET B=l: FOR N=4 TO 3 + (U*2)
STEP 2: FOR M=1 TO 30: PRINT AT
N,M; PAPER 7; INK 1;"*": PAUSE
2: PRINT AT N,M; PAPER 5;US(B,M)
: BEEP .01,0: NEXT M: LET B=B+1:
NEXT N
1710 REM ИНИЦИАЛИЗАЦИЯ =———
1720 LET A=1: LET CD=0: LET T-0:
LET FA=0: LET RES=0
1730 DIM RS(9,5)
1740 LET B$="BDCE"
1750 RETURN
1760 REM UDG-ГРАФИКА ——=====
1770 PAPER 7: BORDER 7: INK 1: С
LS : PRINT AT 12,5;"ОСТАНОВИТЕ M
АГНИТОФОН"
1780 POKE 23675,88: POKE 23676,2
55: RESTORE 1800: FOR N=0 TO 4:
FOR M-0 TO 7: BORDER M: BEEP .02
,N
1790 READ A: POKE USR CHRS (97+N
)+M,A: NEXT M: NEXT N: RUN
1800 DATA 0,95,219,219,219,219,2
23,0
1810 DATA 0,16,56,124,254,124,56
,16
1820 DATA 0,108,254,254,124,56,1
6,0
1830 DATA 0,16,56,124,254,214,16
,56
1840 DATA 0,56,56,16,214,254,214
,16
1850 RUN
9999 BORDER 7: PAPER 7: INK 0