10 REM ++++++++++++++++++++++++++++++++ 11 REM ! Program .... BRIDGE 12 REM ! Utg}va 1 1982-10-10 13 REM ! av (c) Bernt Figaro 14 REM ! Minne 16 Kbytes 15 REM ! Ins{nt av Bernt Figaro 16 REM ++++++++++++++++++++++++++++++++ 17 REM 18 REM Screened by +TCP+ 19 REM 20 REM Programmet visar och v{rderar 21 REM bridgegivar. 22 REM 23 DATA 33,128,255,62,13,119,35,151,6,127,119,35,16,252 24 DATA 201,14,0,33,128,255,70,5,35,126,35,190,48,7 25 DATA 86,119,43,114,35,14,1,16,242,13,40,231,58,255,255 26 DATA 254,0,32,3,60,24,24,254,1,32,6,60,17,155,255 27 DATA 24,14,254,3,32,6,60,17,168,255,24,4,151 28 DATA 17,181,255,50,255,255,33,129,255,1,13,0,237,176 29 DATA 201,235,58,254,255,134,119,201 30 FOR I%=0% TO 92% : READ A% : POKE I%+64256%,A% : NEXT I% 31 REM 32 REM ------------------------- 33 REM Lagrings-dresser f|r kort 34 REM NORDS hand, 65422-65434 35 REM \ST' hand, 65435-65447 36 REM SYDS hand, 65448-65460 37 REM V[ST' hand, 65461-65473 38 REM ------------------------- 39 REM  CALLS 40 REM  ----- 41 REM CALL INIT = 64256 42 REM CALL SORT = 64271 43 REM CALL POINTS = 64342 44 REM CALL CLEAR = 630% 45 REM ------------------------- 46 REM  ----------------- 47 REM  DIMENSION AND INIT 48 REM  ------------------ 49 REM ------------------------- 50 DIM K%(60%),K$(4%,15%),K$=13%,D$=2% 51 A1%=65474% : REM NORDS PO[NG 52 A2%=65475% : REM \ST' PO[NG 53 A3%=65476% : REM SYDS PO[NG 54 A4%=65477% : REM V[ST' PO[NG 55 A%=65409% : C%=52% : Z%=CALL(64256%) : B%=65474% 56 RANDOMIZE 57 G$='N/- E/NS S/EW W/ALLN/NS E/EW S/ALLW/- N/EW E/ALLS/- W/NS N/ALLE/- S/NS W/EW ' 58 K$='23456789TJQKA' : D$=CHR$(27%,61%) 59 FOR I%=1% TO 52% : K%(I%)=I% : NEXT I% 60 REM  ---------------- 61 REM  THE CARDS COLOUR 62 REM  ---------------- 63 FOR I%=1% TO 4% 64 K$(I%,1%)='S:-' : K$(I%,2%)='H:-' 65 K$(I%,3%)='D:-' : K$(I%,4%)='C:-' 66 REM  -------------------- 67 REM  CARD DEALING ROUTINE 68 REM  -------------------- 69 FOR J%=0% TO 12% 70 H%=RND*C%+1% 71 POKE A%+J%,K%(H%) : K%(H%)=K%(C%) 72 C%=C%-1% : NEXT J% 73 REM  ------------ 74 REM  SORT ROUTINE 75 REM  ------------ 76 Z%=CALL(64271%) 77 REM  ----------------- 78 REM  CARD INIT ROUTINE 79 REM  ----------------- 80 FOR J%=0% TO 12% 81 D%=PEEK(A%+J%) 82 IF D%>=40% D2%=D%-39% : IF D1%=1 GOSUB 113 : GOTO 86 ELSE D1%=1 : K$(I%,D1%)='S:' : GOSUB 113 : GOTO 86 83 IF D%>=27% D2%=D%-26% : IF D1%=2 GOSUB 113 : GOTO 86 ELSE D1%=2 : K$(I%,2%)='H:' : GOSUB 113 : GOTO 86 84 IF D%>=14 D2%=D%-13% : IF D1%=3 GOSUB 113 : GOTO 86 ELSE D1%=3 : K$(I%,3%)='D:' : GOSUB 113 : GOTO 86 85 D2%=D% : IF D1%=4 GOSUB 113 : GOTO 86 ELSE D1%=4 : K$(I%,4%)='C:' : GOSUB 113 : GOTO 86 86 NEXT J% : B%=B%+1% : D1%=0 : D2%=0 : NEXT I% 87 REM 88 REM  ----------- 89 REM  EXECUTION 90 REM  ----------- 91 G1$=MID$(G$,G1%+1%,5%) 92 Z%=CALL(630%) : ; D$+" BRIDGE82"D$+"! GIV NR"G%+1%D$+'" 'G1$ 93 ; D$+'!-N O R D'D$+'",'CHR$(23%)'#######' 94 ; D$+'#-'K$(1%,1%)D$+'$-'K$(1%,2%)D$+'%-'K$(1%,3%)D$+'&-'K$(1%,4%) 95 ; D$+') V [ S T'D$+'* 'CHR$(23%)'#######' 96 ; D$+')8\ S T'D$+'*7'CHR$(23)'######' 97 ; D$+'+ 'K$(4%,1%)D$+'+8'K$(2%,1%)D$+', 'K$(4%,2%)D$+',8'K$(2%,2%) 98 ; D$+'- 'K$(4%,3%)D$+'-8'K$(2%,3%)D$+'. 'K$(4%,4%)D$+'.8'K$(2%,4%) 99 ; D$+'1-S Y D'D$+'2,'CHR$(23%)'######' 100 ; D$+'3-'K$(3%,1%)D$+'4-'K$(3%,2%)D$+'5-'K$(3%,3%)D$+'6-'K$(3%,4%) 101 REM  ---------------------- 102 REM  PO[NGSUMMERING (KORT) 103 REM  ---------------------- 104 ; D$+'!5(P='PEEK(A1%)')' 105 ; D$+')>(P='PEEK(A2%)')' 106 ; D$+'15(P='PEEK(A3%)')' 107 ; D$+'))(P='PEEK(A4%)')' 108 ; D$+'.-Mera ?'CHR$(7%); : GET R$ : IF INSTR(1%,'Nn',R$) ; D$+'5 '; : END 109 G%=G%+1% : G1%=G1%+5% : IF G1%>75% G1%=0% : GOTO 50 ELSE GOTO 50 110 REM  ------------ 111 REM  CARDINITAREA 112 REM  ------------ 113 IF D2%=13 K$(I%,D1%)=K$(I%,D1%)+'E' : POKE 65534,4% : Z%=CALL(64342%,B%) : RETURN 114 IF D2%=12 K$(I%,D1%)=K$(I%,D1%)+'K' : POKE 65534%,3% : Z%=CALL(64342%,B%) : RETURN 115 IF D2%=11 K$(I%,D1%)=K$(I%,D1%)+'Q' : POKE 65534%,2% : Z%=CALL(64342%,B%) : RETURN 116 IF D2%=10 K$(I%,D1%)=K$(I%,D1%)+'J' : POKE 65534%,1% : Z%=CALL(64342%,B%) : RETURN 117 IF D2%=9 K$(I%,D1%)=K$(I%,D1%)+'T' : RETURN 118 FOR I1%=8% TO 1% STEP -1% 119 IF I1%=D2% K$(I%,D1%)=K$(I%,D1%)+RIGHT$(NUM$(I1%+1%),2%) : RETURN 120 NEXT I1% 121 REM  ------------ 122 REM  PROGRAMERROR 123 REM  ------------ 124 ; " END OF PGM " 125 REM VARIABLER OCH KONSTANTER 126 REM A% =Konstant/Adress SORT 127 REM A1% =Konstant/Adress NPOINT 128 REM A2% =A1%+1% 129 REM A3% =A1%+2% 130 REM A4% =A1%+3% 131 REM B% =Variabel,Start NPOINT 132 REM C% =INIT-variabel randomnr 133 REM D% =Variabel f kortv{rden 134 REM D1% =Hj{lpvariabel t D% 135 REM D2% =Hj{lpvariabel t D% 136 REM G% =Variabel f givens nr 137 REM G1% =Var. f ZON-str{ngind. 138 REM H% =Variabel f randomnr 139 REM I% =Loop-variabel 140 REM I1% =I% 141 REM J% =I% 142 REM K%(,)=Indexerad var. f kort 143 REM Z% =CALL-variabel 144 REM !$ =Str{ng f ASM-program 145 REM D$ =DIRECTION INIT 146 REM G$ =Str{ng ZON-status 147 REM G1$ =Delstr{ng G$ 148 REM K$(,)=Str{ngmatris f kort 149 REM R$ =GET-variabel