start tok64 d64-nXQavU 1 REM ******************************** 3 REM * detta program skrevs p] f{pound}r- * 5 REM * sommaren 1986 av stig norin * 7 REM * tel 046/305183 * 9 REM * programmet [r till[gnat * 11 REM * bridgefantasten david * 13 REM * denna version klar 890611 * 15 REM ******************************** 16 FORa=1TO23:READb$:NEXT:FORa=0TO156:READb:POKE49165+a,b:NEXT:RESTORE 17 POKE49152,0:POKE49153,0:POKE49154,0 19 PRINT"{clear}":POKE53280,12:POKE53281,12 21 GOSUB749 23 GOSUB105:IFzz$="j"THENGOSUB213:GOTO33 25 GOSUB265 27 GOSUB265 29 GOSUB329 31 GOSUB375:IFz=5THENCLR:GOSUB93:GOTO23 33 GOSUB445 35 PRINT"{clear}":POKE53280,12:POKE53281,12 37 PRINT"{down}{black}{space*12}* b r i d g e *{down*7}" 39 GOSUB231 41 GOSUB385:IFzz$="j"THENzz$="":GOSUB625:GOTO53 43 GOSUB405:GOSUB625:IFpa%>2GOTO53 45 GOSUB461:GOSUB625:IFpa%>2GOTO53 47 GOSUB559:GOSUB625:IFpa%>2GOTO53 49 GOSUB591:GOSUB625:IFpa%>2GOTO53 51 GOTO43 53 v%=0:f%=0:IFz$="n"THENGOSUB153:GOTO35 55 IFz$="g"THENCLR:GOSUB93:GOTO19 57 GOSUB833 59 GOSUB861 61 IFc$(sp)="s"THENuh=v 63 IFc$(sp)="v"THENuh=n 65 IFc$(sp)="n"THENuh=o 67 IFc$(sp)="{pound}"THENuh=z 69 IFtv<>0THENt=0:tv=0 71 t=t+1:IFt=14THENGOSUB2003:GOSUB99:GOSUB649:GOSUB445:t=0:GOTO53 73 IFc$(sp)="v"ORc$(sp)="{pound}"GOTO83 75 IFuh=vTHENh=v:GOSUB915:GOSUB1323:GOSUB1627:GOSUB1323:GOTO91 77 IFuh=oTHENh=o:GOSUB915:GOSUB1323:GOSUB1627:GOSUB1323:GOTO91 79 IFuh=nTHENh=n:GOSUB1323:GOSUB1805:GOSUB1323:GOSUB1953:GOSUB99:GOTO91 81 IFuh=zTHENh=z:GOSUB1323:GOSUB1805:GOSUB1323:GOSUB1953:GOSUB99:GOTO91 83 IFuh=vTHENh=v:GOSUB915:GOSUB1805:GOSUB1627:GOSUB1323:GOTO91 85 IFuh=oTHENh=o:GOSUB915:GOSUB1323:GOSUB1627:GOSUB1953:GOSUB99:GOTO91 87 IFuh=nTHENh=n:GOSUB915:GOSUB1805:GOSUB1323:GOSUB1953:GOSUB99:GOTO91 89 IFuh=zTHENh=z:GOSUB1323:GOSUB1805:GOSUB1627:GOSUB1953:GOSUB99:GOTO91 91 GOSUB1717:GOSUB861:GOTO71 93 REM * h[mta po[ng fr peek * 95 pm%=PEEK(49152):pq%=256*PEEK(49154)+PEEK(49153):IFpm%=1THENpq%=-pq% 97 RETURN 99 REM * paus * 101 a$="":GETa$:IFa$=""ANDPEEK(56320)<>111GOTO101 103 RETURN 105 REM * g{pound}ra kortlek * 107 DIMk$(5,13),v$(13),l$(52),l%(52),h$(4,13),ha$(4,13),f%(4,5),h%(4,4) 109 DIMhh%(4,13),ha%(4,13),hb$(4,5,13),ut$(13,4),b$(20),c$(20),c(20) 111 FORa=1TO13 113 READ v$(a) 115 NEXTa 117 FORa=1TO10 119 READ f$(a) 121 NEXTa 123 FORb=1TO4 125 FORc=1TO13 127 k$(b,c)=f$(b)+v$(c) 129 LETl$((b-1)*13+c)=k$(b,c) 131 NEXTc:NEXTb 133 FORa=1TO52:l%(a)=a:NEXTa:RETURN 135 DATA a,k,d,kn,10,9,8,7,6,5,4,3,2 137 DATA "{black}A","{red}S","{red}Z","{black}X","ng" 139 DATA "3sang","4{black}A","4{red}S","5{red}Z","5{black}X" 141 REM * lagra po[ng i poke * 143 pe%=pq%:IFpe%<0THENPOKE49152,1:pe%=-pe%:GOTO147 145 POKE49152,0 147 pf%=pe%/256:pg%=pe%-pf%*256 149 POKE49153,pg%:POKE49154,pf% 151 RETURN 153 REM * ny budgivning * 155 FORa=1TOb%:b$(a)="":c$(a)="":NEXTa 157 FORa=1TO4:kr(a)=0:NEXTa 159 pp=0:ff=0:a=0:b=0:fg=0:bb=0:sf=0:vf=0:nf=0:of=0:pa%=0:b%=0:aa=0:kr=0:sa=0 161 sb=0:b=0:v%=0:f%=0:af=0:bf=0:t=0:tv=0 163 bs$="":bt$="":bo$="":bv$="":bn$="":ba$="" 165 RETURN 167 REM * spara kort * 169 GOSUB93 171 PRINT"{home}{down*21}":INPUT"{space*8}filnamn";fi$ 173 fi$="br-"+fi$:fj$="ny"+fi$ 175 PRINT"{space*8}{down}korrekt{space*8}" 177 GETy$:IFy$=""GOTO177 179 IFy$<>CHR$(13)THENRETURN 181 OPEN1,8,2,fj$+",s,w":k$="," 183 PRINT#1,t;k$;pa%;k$;b%;k$;z;k$;v;k$;n;k$;o;k$;sf;k$;vf;k$;nf;k$;of;k$;bs$;k$;pq% 185 IFt<2THEN189 187 tu=t-1:FORa=1TOtu:FORb=1TO4:PRINT#1,ut$(a,b):NEXTb:NEXTa 189 FORa=1TOb%:PRINT#1,b$(a);k$;c$(a):NEXTa 191 FORa=1TO4:PRINT#1,p%(a) 193 FORb=1TO13:PRINT#1,ha$(a,b) 195 NEXTb:NEXTa:CLOSE1 197 OPEN1,8,15,"s:"+fi$:PRINT#1,"r:"+fi$+"="+fj$:CLOSE1:RETURN 199 REM * ladda kort 1 * 201 PRINT:INPUT"{space*6}filnamn";fi$ 203 fi$="br-"+fi$ 205 PRINT"{space*6}{down}korrekt{space*11}" 207 GETy$:IFy$=""GOTO207 209 IFy$<>CHR$(13)THENzz$="":RETURN 211 RETURN 213 REM * ladda kort 2 * 215 OPEN1,8,2,fi$+",s,r" 217 INPUT#1,t,pa%,b%,z,v,n,o,sf,vf,nf,of,bs$,pq% 219 IFt<2THENt=0:GOTO223 221 tv=t-1:FORa=1TOtv:FORb=1TO4:INPUT#1,ut$(a,b):NEXTb:NEXTa 223 FORa=1TOb%:INPUT#1,b$(a),c$(a):NEXTa 225 FORa=1TO4:INPUT#1,p%(a) 227 FORb=1TO13:INPUT#1,ha$(a,b) 229 NEXTb:NEXTa:CLOSE1:GOSUB141:RETURN 231 REM * bild * 233 PRINTTAB(16);"UCCnCCI" 235 PRINTTAB(16);"B{space*5}B" 237 PRINTTAB(16);"v{space*5}{pound}" 239 PRINTTAB(16);"B{space*5}B" 241 PRINTTAB(16);"JCCsCCK" 243 RETURN 245 REM * r[kna antalet ess * 247 es=0:FORa=1TO13 249 IFRIGHT$(ha$(h,a),1)="a"THENes=es+1 251 NEXTa:RETURN 253 REM * utg]ngsbud * 255 bb=0:FORa=6TO10 257 IFab$=f$(a)THENbb=1 259 IFbs$=f$(a)THENbb=1 261 IFb$=f$(a)THENbb=1 263 NEXTa:RETURN 265 REM * blanda kort * 267 c=INT(3*RND(1)+1) 269 FORd=1TOc 271 FORb=1TO52 273 a=INT(52*RND(0)+1) 275 b$=l$(a):bl%=l%(a) 277 l$(a)=l$(b):l%(a)=l%(b) 279 l$(b)=b$:l%(b)=bl% 281 NEXTb:NEXTd:RETURN 283 REM * rutin f{pound}r slambud * 285 cc=0:IFab$=""ORVAL(ab$)>5THENRETURN 287 ha=h+2:IFha>4THENha=ha-4 289 IFVAL(ab$)<>5GOTO303 291 IFRIGHT$(b$,5)<>"4sang"GOTO303 293 FORa=1TO4:IFcc<>0GOTO297 295 IFRIGHT$(bs$,2)=f$(a)THENcc=a 297 NEXTa:sg=4-cc:cc=0 299 GOSUB245:IFsg+es=4THENbs$="6sang":cc=1:pf=5:af=5:f=5:ab$=bs$:RETURN 301 bs$="5sang":ab$=bs$:cc=1:pf=5:af=5:f=5:RETURN 303 IFRIGHT$(ab$,5)<>"4sang"THEN311 305 GOSUB245:IFes=4THENes=0 307 bs$="5"+f$(4-es):fh=4-es 309 xk=1:cc=2:RETURN 311 IFab$<>""ANDp%(h)>19ANDp%(ha)>12THEN317 313 IFp%(ha)>19ANDp%(h)>12THEN317 315 ha=0:cc=0:RETURN 317 xk=1:ha=0:cc=2:bs$="4sang":k(h)=1:pf=5:RETURN 319 REM * b[sta f[rg * 321 IFff=1THENfg=fg+1 323 bf=0:FORa=17TO0STEP-1:FORb=1TO4:IFbf<>0GOTO327 325 IFf%(n,b)+h%(n,b)=aTHENbf=b 327 NEXTb:NEXTa:RETURN 329 REM * ge kort * 331 c=1:FORa=1TO13 333 FORb=1TO4 335 h$(b,a)=l$(c):hh%(b,a)=l%(c):c=c+1 337 NEXTb:NEXTa 339 FORc=1TO4 341 FORa=1TO13 343 ha$=MID$(h$(c,a),3) 345 IFha$="a"THENp%(c)=p%(c)+4 347 IFha$="k"THENp%(c)=p%(c)+3 349 IFha$="d"THENp%(c)=p%(c)+2 351 IFha$="kn"THENp%(c)=p%(c)+1 353 IFa=1GOTO363 355 bb=0:FORb=a-1TO1STEP-1:IFbb=1GOTO361 357 IFhh%(c,a)>ha%(c,b)THENha$(c,b+1)=h$(c,a):ha%(c,b+1)=hh%(c,a):bb=1:GOTO361 359 ha%(c,b+1)=ha%(c,b):ha$(c,b+1)=ha$(c,b) 361 NEXTb:b=0:IFbb=1GOTO365 363 ha%(c,1)=hh%(c,a):ha$(c,1)=h$(c,a) 365 NEXTa:NEXTc 367 FORc=1TO4:FORb=1TO4:FORa=1TO13 369 IFLEFT$(ha$(c,a),2)=f$(b)THENq%(c,b)=q%(c,b)+1 371 NEXTa:IFq%(c,b)<3THENp%(c)=p%(c)+3-q%(c,b) 373 NEXTb:NEXTc:RETURN 375 REM * bjudbara kort till syd * 377 IFLEFT$(bn$,1)=" "THENbn$=MID$(bn$,2) 379 z=1 381 IFp%(z)<13THENz=z+1:IFz<5GOTO381 383 RETURN 385 REM * utskrift av syds hand * 387 PRINT"{black}"; 389 FORa=1TO13 391 IFLEFT$(ha$(z,a),2)=LEFT$(ha$(z,a-1),2)THENPRINTMID$(ha$(z,a),3);:GOTO395 393 PRINT:PRINTTAB(16);ha$(z,a); 395 PRINT" "; 397 NEXTa 399 PRINT:PRINTTAB(31);"{down}{blue}";p%(z);"p.{black}" 401 GOSUB827 403 RETURN 405 REM * budgivning syd * 407 b$=bs$:PRINT"{home}{down*21}":PRINTTAB(16);"{black}"; 409 INPUT"ditt bud:";bb$:c$=RIGHT$(bb$,1) 411 IFbb$="1sang"ANDbn$<>""THENkr(z)=1 412 IFbb$="pass"THEN417 413 IFc$="h"ORc$="r"ORc$="k"ORc$="s"ORc$="g"THENIFVAL(bb$)<>0THEN417 415 GOTO405 417 v=z+1:IFv>4THENv=v-4 419 n=v+1:IFn>4THENn=n-4 421 o=n+1:IFo>4THENo=o-4 423 IFLEFT$(bb$,1)="p"THENpa%=pa%+1:c$="p" 425 IFLEFT$(bb$,1)<>"p"ORb%=0THENpa%=0 427 IFc$="s"THENbs$=LEFT$(bb$,1)+f$(1):sf=1 429 IFc$="h"THENbs$=LEFT$(bb$,1)+f$(2):sf=2 431 IFc$="r"THENbs$=LEFT$(bb$,1)+f$(3):sf=3 433 IFc$="k"THENbs$=LEFT$(bb$,1)+f$(4):sf=4 435 IFc$="g"THENbs$=bb$:sf=5 437 IFc$="p"THENRETURN 439 IFb$=""ANDVAL(bs$)=2ANDsf<>5THENkr(z)=1 441 IFc$<>"p"THENbt$=bs$ 443 pf=sf:kr(n)=0:b%=b%+1:b$(b%)=f$(sf):c$(b%)="s":c(b%)=z:RETURN 445 REM * r[kna kort och hon{pound}rer * 447 FORc=1TO4 449 FORb=1TO4:f%(c,b)=0:h%(c,b)=0 451 FORa=1TO13 453 IFLEFT$(ha$(c,a),2)=f$(b)THENf%(c,b)=f%(c,b)+1:GOSUB457 455 NEXTa:NEXTb:NEXTc:RETURN 457 IFVAL(MID$(ha$(c,a),3))=0THENh%(c,b)=h%(c,b)+1 459 RETURN 461 REM * budgivning v[ster * 463 IFLEFT$(bo$,1)=" "THENbo$=MID$(bo$,2) 465 pq=1:xk=0:f=of:h=v:ab$=bo$:xb$=bs$:xp%=p%(v):af=sf:bf=nf:cf=vf:xq%=p%(o) 467 bb=0:PRINT"{home}{down*12}{black}v:";:IFkr(o)=1THENxk=1 469 IFVAL(bs$)>5THEN623 471 ah$="{pound}":b$=bv$:GOSUB283:IFcc=1GOTO481 473 IFcc=2THENbv$=bs$:vf=fh:GOTO485 475 GOSUB253:IFbb=1GOTO623 477 IFb%=0THENGOSUB2067:GOTO483 479 IFbo$=""ANDb$=""THENGOSUB2083:GOTO483 481 GOSUB2109 483 IFpq=0THENRETURN 485 vf=pf:GOSUB511:IFRIGHT$(bs$,1)="g"THENvf=5 487 pf=vf:bv$=bs$ 489 kr(v)=xk:kr(o)=0:b%=b%+1:b$(b%)=f$(vf):c$(b%)="v":c(b%)=v:pa%=0:pq=0:RETURN 491 REM * kortr[kning f{pound}r sang * 493 sa=1:sb=0:FORa=1TO4 495 IFf%(h,a)>4THENsb=sb+1 497 IFf%(h,a)<2THENsa=0 499 IFf%(h,a)>5THENsa=0 501 IFsb>1THENsa=0 503 NEXTa 505 IFbs$=""ANDp%(h)<15THENsa=0 507 IFRIGHT$(bs$,1)="g"ANDp%(h)<8*VAL(bs$)THENIFxk<>1THENsa=0 509 RETURN 511 REM * skriv bud * 513 IFRIGHT$(bs$,1)="g"ANDLEN(bs$)<5THENbs$=STR$(VAL(bs$))+"sang" 515 IFLEFT$(bs$,1)=" "THENbs$=MID$(bs$,2) 517 PRINTbs$;"{space*5}":bb=1:RETURN 519 REM * po[ngkrav f{pound}r ny f[rg * 521 IFbs$=""GOTO525 523 bb=0:IFp%(aa)>15ANDcc<>1THENfg=fg+1 525 IFba$=""GOTO529 527 IFff>1ANDff<5GOTO531 529 IFp%(aa)<10THENRETURN 531 bb=1:RETURN 533 IFp%(aa)>9GOTO531 535 REM * 8342 9342 10342 * 537 IFff<>5ANDVAL(bs$)<2THENkr(h)=1:bs$="1sang":GOSUB517:h=0:RETURN 539 IFRIGHT$(bs$,5)<>"1sang"GOTO623 541 aa=0:FORa=20TO1STEP-1:FORb=1TO4:IFaa<>0GOTO545 543 IFf%(h,b)+h%(h,b)=aTHENaa=b 545 NEXTb:NEXTa:bs$="2"+f$(aa):GOSUB517:h=0:RETURN 547 REM * {pound}ka/b{pound}rja med 2 * 549 pq=1:IFab$="2sang"THENRETURN 551 IFf%(h,f)>3ANDp%(h)>2+4*VAL(bs$)ANDp%(h)>9THENpq=2:RETURN 553 IFbs$<>""ANDp%(h)>15+VAL(bs$)THENpq=2:RETURN 555 IFbs$=""ANDp%(h)>19THENpq=2 557 RETURN 559 REM * budgivning norr * 561 IFLEFT$(bt$,1)="{sh space}"THENbt$=MID$(bt$,2) 563 pq=1:xk=0:bb=0:PRINT"{home}":f=sf:h=n:ab$=bt$:xb$=bs$:xp%=p%(n):af=vf:bf=of:cf=nf 565 xq%=p%(s):PRINT"{black}{down*3}{right*16}n:";:IFkr(z)=1THENxk=1 567 IFVAL(bs$)>5THEN623 569 ah$="s":b$=bn$:GOSUB283:IFcc=1GOTO579 571 IFcc=2THENbn$=bs$:nf=fh:GOTO583 573 GOSUB253:IFbb=1GOTO623 575 IFb%=0THENGOSUB2067:GOTO581 577 IFbt$=""ANDb$=""THENGOSUB2083:GOTO581 579 GOSUB2109 581 IFpq=0THENRETURN 583 nf=pf:GOSUB511:IFRIGHT$(bs$,1)="g"THENnf=5 585 pf=nf:bn$=bs$ 587 kr(n)=xk:kr=0:kr(z)=0:b%=b%+1:b$(b%)=f$(nf):c$(b%)="n":c(b%)=n:pa%=0:pq=0 589 RETURN 591 REM * budgivning ost * 593 IFLEFT$(bv$,1)=" "THENbv$=MID$(bv$,2) 595 pq=1:xk=0:f=vf:h=o:ab$=bv$:xb$=bs$:xp%=p%(o):af=nf:bf=sf:cf=of:xq%=p%(v) 597 bb=0:PRINT"{down*6}" 599 PRINTTAB(32);"{black}{pound}:";:IFkr(v)=1THENxk=1 601 IFVAL(bs$)>5THEN623 603 ah$="v":b$=bo$:GOSUB283:IFcc=1GOTO613 605 IFcc=2THENbo$=bs$:of=fh:GOTO617 607 GOSUB253:IFbb=1GOTO623 609 IFb%=0THENGOSUB2067:GOTO615 611 IFbv$=""ANDb$=""THENGOSUB2083:GOTO615 613 GOSUB2109 615 IFpq=0THENRETURN 617 of=pf:GOSUB511:IFRIGHT$(bs$,1)="g"THENof=5 619 pf=of:bo$=bs$ 621 kr(o)=xk:kr(v)=0:b%=b%+1:b$(b%)=f$(of):c$(b%)="{pound}":c(b%)=o:pa%=0:pq=0:RETURN 623 PRINT"pass{space*3}":pq=0:pa%=pa%+1:RETURN 625 REM * slut budgivning * 627 af=0:bf=0:IFpa%<3THENRETURN 629 z$="":IFbs$=""THENz$="n":RETURN 631 PRINT"{home}";:PRINT"{blue}h{pound}gsta bud:{black}";bs$; 633 sp=0:FORa=1TOb%:IFsp<>0GOTO641 635 j=c(a):ja=j+2:IFja>4THENja=ja-4 637 jb=0:IFc(b%)=jORc(b%)=jaTHENjb=1 639 IFRIGHT$(bs$,2)=b$(a)ANDjb=1THENsp=a 641 NEXTa:j=0:ja=0:jb=0 643 PRINTTAB(28);"{blue}spelf{pound}rare:{black}";c$(sp) 645 POKE56321,0 647 GETz$:IFz$=""ANDPEEK(56320)<>111GOTO647 649 PRINT"{clear}{down*9}" 651 PRINT"{space*8}{black}visa alla kort ":IFt>0ANDt<14ANDtv=0THEN659 653 PRINT"{space*8}{down}ny budgivning{space*7}" 655 PRINT"{space*8}{down}ny giv{space*14}" 657 PRINT"{space*8}{down}byt kort{space*12}" 659 PRINT"{space*8}{down}spara kort{space*10}" 661 PRINT"{space*8}{down}spela{space*3}":GOSUB2043 663 z$="":GETz$:IFz$=""ANDPEEK(56320)<>111GOTO663 665 IFPEEK(56320)=111THENya=1 667 IFz$<>"s"THENPRINT"{home}{down*21}":PRINTTAB(8);"{white}v{right}[{right}n{right}t a!{black}" 669 IFz$<>"b"GOTO675 671 IFz$="b"THENz=z+1:IFz>4THENz=z-4 673 z$="n":RETURN 675 IFz$="n"ORz$="g"THENRETURN 677 IFz$=CHR$(13)GOTO685 679 IFz$="s"THENGOSUB167:GOTO649 681 IFz$=CHR$(32)ORya=1THENRETURN 683 GOTO663 685 PRINT"{clear}"; 687 FORc=nTOn+3:b=c:IFb>4THENb=b-4 689 IFc=nTHENPRINT"n: "; 691 IFc=n+1THENPRINT"{pound}: "; 693 IFc=n+2THENPRINT"s: "; 695 IFc=n+3THENPRINT"v: "; 697 FORa=1TO13 699 IFLEFT$(ha$(b,a),2)=LEFT$(ha$(b,a-1),2)THENPRINTMID$(ha$(b,a),3);:GOTO703 701 PRINTha$(b,a); 703 PRINT" "; 705 NEXTa 707 PRINTTAB(37);"{blue}";p%(b);"{black}{down}" 709 NEXTc 711 PRINT"{blue}spelf{pound}rare:{black}";c$(sp);:PRINTTAB(25);"{blue}s - n{black}";v%;"stick" 713 PRINT"{down}{blue}h{pound}gsta bud:{black}";bs$;:PRINTTAB(25);"{blue}v - {pound}{black}";f%;"stick" 715 IFt<>0THENGOSUB721 717 z$="" 719 GOTO647 721 REM * spelade kort * 723 PRINT:PRINT"{yellow}spelade kort:{black}":PRINT 725 FORc=nTOn+3:b=c:IFb>4THENb=b-4 727 IFc=nTHENPRINT"{yellow}n:{black}"; 729 IFc=n+1THENPRINT"{yellow}{pound}:{black}"; 731 IFc=n+2THENPRINT"{yellow}s:{black}"; 733 IFc=n+3THENPRINT"{yellow}v:{black}"; 735 tt=t:IFt=14THENtt=13 737 FORa=1TOtt 739 PRINTut$(a,b); 741 bb=0:FORd=1TO4:IFbb<>0GOTO745 743 IFLEN(ut$(a,d))=4THENbb=1 745 NEXTd:IFbb=1ANDLEN(ut$(a,b))=3THENPRINT" ";:bb=0 747 NEXTa:PRINT:NEXTc:RETURN 749 REM * f{pound}rtext * 751 PRINT"{clear}{black}"; 753 PRINT"{space*6}{A*3}{space*2}{red}{S*3}{space*2}{black}X {X*3}{space*3}{red}{Z*3} {black}{A*4}" 755 PRINT"{space*6}A{space*2}A {red}S{space*2}S {black}X X{space*2}X {red}Z{space*4}{black}A" 757 PRINT"{space*6}{A*3}{space*2}{red}{S*3}{space*2}{black}X X{space*2}X {red}Z ZZ {black}{A*3}" 759 PRINT"{space*6}A{space*2}A {red}S S{space*2}{black}X X{space*2}X {red}Z{space*2}Z {black}A" 761 PRINT"{space*6}{A*3}{space*2}{red}S{space*2}S {black}X {X*3}{space*3}{red}{Z*3} {black}{A*4}" 763 PRINT"{down}{right*6}{red}{S*6}sSnorinSvS89S7{S*6}{black}" 765 IFzz$="j"THENPRINT"{down*2}":GOTO773 767 PRINT"{down*2}{space*6}ladda kort fr]n disk " 769 GETzz$:IFzz$=""GOTO769 771 IFzz$="j"THENGOSUB199:GOTO749 773 PRINT"{down}{space*6}nu delas korten ut" 775 PRINT"{down}{space*6}detta tar cirka 35 sekunder" 777 PRINT"{down*2}{space*6}sedan sker budgivning med" 779 PRINT"{down}{space*6}bokst[verna s(A), h({red}S{black}), r({red}Z{black})," 781 PRINT"{down}{space*6}k(X), sang eller pass" 783 PRINT"{down*2}{space*6}d[refter !" 785 RETURN 787 REM * kortutskrift v * 789 PRINT"{home}{down*10}{black}" 791 FORb=1TO4:FORa=1TOf%(v,b) 793 IFa>1THENPRINTMID$(hb$(v,b,a),3);:GOTO797 795 PRINT:PRINTTAB(2)hb$(v,b,a); 797 PRINT" "; 799 NEXTa:NEXTb 801 RETURN 803 REM * kortutskrift {pound} * 805 bb=0:FORb=13TO1STEP-1:FORa=1TO4:IFbb<>0GOTO809 807 IFf%(o,a)=bTHENbb=b 809 NEXTa:NEXTb 811 ta%=40-3*bb:IFta%>28THENta%=28 813 bb=0:PRINT"{home}{down*10}{black}" 815 FORb=1TO4:FORa=1TOf%(o,b) 817 IFa>1THENPRINTMID$(hb$(o,b,a),3);:GOTO821 819 PRINT:PRINTTAB(ta%)hb$(o,b,a); 821 PRINT" "; 823 NEXTa:NEXTb 825 RETURN 827 REM * zon * 829 IFPEEK(49153)>49THENPRINT"{home}";:PRINTTAB(36);"{reverse on}{red}zon{black}{reverse off}" 831 RETURN 833 REM * f{pound}rdelning p] f[rger * 835 REM tf=trumff[rg 837 tf$=RIGHT$(bs$,1):IFtf$="A"THENtf=1 839 IFtf$="S"THENtf=2 841 IFtf$="Z"THENtf=3 843 IFtf$="X"THENtf=4 845 IFtf$="g"THENtf=5 847 d=0:FORc=1TO4:FORb=1TO4:FORa=1TOf%(c,b) 849 IFf%(c,b)=0GOTO855 851 d=d+1:hb$(c,b,a)=ha$(c,d) 853 hb$(c,5,a)=hb$(c,tf,a) 855 NEXTa:NEXTb:d=0:f%(c,5)=f%(c,tf):NEXTc 857 FORa=1TO13 859 k$(5,a)=k$(tf,a):RETURN 861 REM * utskrift av spelplan * 863 lb=LEN(bs$) 865 IFLEFT$(bs$,1)=" "THENbs$=RIGHT$(bs$,lb-1) 867 PRINT"{clear}{blue}spelf{pound}rare:{black}";c$(sp) 869 PRINT:PRINT"{blue}h{pound}gsta bud:{black}";bs$ 871 PRINT:PRINT"{blue}vunna:{black}";v% 873 PRINT:PRINT"{blue}f{pound}rlorade{black}:";f% 875 PRINT"{home}{black}"; 877 IFc$(sp)="v"ORc$(sp)="{pound}"THENPRINT"{down*5}":GOTO891 879 FORb=1TO4:FORa=1TOf%(n,b) 881 IFa>1THENPRINTMID$(hb$(n,b,a),3);:GOTO885 883 PRINT:PRINTTAB(16)hb$(n,b,a); 885 PRINT" "; 887 NEXTa:NEXTb 889 PRINTTAB(35);"{blue}";p%(n);"p.{black}" 891 PRINT"{down*2}":GOSUB231:PRINT"{down*2}" 893 FORb=1TO4:FORa=1TOf%(z,b) 895 IFa>1THENPRINTMID$(hb$(z,b,a),3);:GOTO899 897 PRINT:PRINTTAB(16)hb$(z,b,a); 899 PRINT" "; 901 NEXTa:NEXTb 903 PRINTTAB(35);"{blue}";p%(z);"p.{black}" 905 IFt=0GOTO911 907 IFc$(sp)="v"THENGOSUB803 909 IFc$(sp)="{pound}"THENGOSUB787 911 GOSUB827 913 RETURN 915 REM * utspel v - {pound} -(n) * 917 PRINT"{home}{down*6}{gray}" 919 IFt=13THENGOSUB995:GOTO979 921 GOSUB1277:IFsv=1THENPRINT"aa":GOTO965 923 PRINT"bb":bc=0:FORf=1TO4:u=1:IFbc<>0GOTO955 925 IFf=tfGOTO955 927 IFhb$(h,f,1)=""THENGOTO955 929 GOSUB1005:IFsv=1GOTO943 931 GOSUB1011:IFsv=1GOTO935 933 IFsv=0GOTO937 935 GOSUB1025:IFsv=1GOTO955 937 GOSUB1033:IFsv=1GOTO941 939 IFsv=0GOTO943 941 GOSUB1039:IFsv=1GOTO955 943 GOSUB1047:IFsv=1GOTO955 945 GOSUB1069:IFsv=1GOTO955 947 GOSUB1075:IFsv=1GOTO953 949 GOSUB1095:IFsv=1GOTO953 951 GOSUB1185:bc=1:GOTO955 953 GOSUB1151:bc=1:GOTO955 955 NEXTf:IFbc=1THENPRINT"cc":GOTO979 957 GOSUB1159:IFsv=1THENb=uf:GOSUB1113:GOTO979 959 PRINT"c1":GOSUB1019:IFsv=1THENPRINT"c2":GOSUB1215:IFsv=1THENPRINT"c3":GOTO979 961 PRINT"ca":GOSUB1189:IFsv=1THENPRINT"dd":GOTO979 963 PRINT"cb":GOSUB1211:GOTO979 965 GOSUB1501:IFsv=1THENPRINT"ee":GOTO969 967 GOTO923 969 GOSUB1011:IFsv=1THENPRINT"ff":GOTO975 971 GOSUB1033:IFsv=1THENPRINT"gg":GOTO975 973 GOTO923 975 GOSUB1797:IFsv=1THENPRINT"hh":GOSUB1575:GOTO979 977 b=tf:GOSUB1133:GOTO979 979 GOSUB1227 981 GOSUB1267 983 IFh=vTHENGOSUB1251 985 IFh=nTHENGOSUB1291 987 IFh=oTHENGOSUB1259 989 IFc$(sp)="v"ANDt=1ANDh=nTHENGOSUB803 991 h=h+1:IFh>4THENh=h-4 993 RETURN 995 REM * sista kort * 997 bb=0:FORa=1TO4:IFbb<>0GOTO1001 999 IFhb$(h,a,1)<>""THENu$(h)=hb$(h,a,1):bb=1 1001 NEXTa:RETURN 1003 REM * rutiner f{pound}r utspel v - {pound} * 1005 REM * trumff[rg? * 1007 IFhb$(h,f,u)=hb$(h,5,u)THENsv=1:RETURN 1009 sv=0:RETURN 1011 REM * finns trumf p] n[sta hand * 1013 ha=h+1:IFha>4THENha=ha-4 1015 IFhb$(ha,tf,1)<>""THENsv=1:ha=0:RETURN 1017 sv=0:ha=0:RETURN 1019 REM * finns trumf p] h+2 * 1021 ha=h+2:IFha>4THENha=ha-4 1023 GOTO1015 1025 REM * renons p] n[sta hand * 1027 ha=h+1:IFha>4THENha=ha-4 1029 IFhb$(ha,f,1)=""THENsv=1:ha=0:RETURN 1031 sv=0:ha=0:RETURN 1033 REM * finns trumf p] tidigare hand * 1035 ha=h-1:IFha<1THENha=ha+4 1037 GOTO1015 1039 REM * renons p] tidigare hand * 1041 ha=h-1:IFha<1THENha=ha+4 1043 IFhb$(ha,f,1)=""THENsv=1:ha=0:RETURN 1045 sv=0:ha=0:RETURN 1047 REM * h{pound}gre kort p] n[sta hand* * 1049 ha=h+1:IFha>4THENha=ha-4 1051 sv=0:bb=0:FORb=1TO13:IFbb<>0GOTO1057 1053 IFhb$(h,f,1)=k$(f,b)THENbb=1 1055 IFhb$(ha,f,1)=k$(f,b)THENbb=1:sv=1 1057 NEXTb:ha=0:RETURN 1059 REM * singel * 1061 sl=0:FORa=1TO4:IFsl<>0GOTO1067 1063 IFa=tfGOTO1067 1065 IFf%(h,a)=1THENsl=a 1067 NEXTa:RETURN 1069 REM * h{pound}gre kort p] tidigare hand* 1071 ha=h-1:IFha<1THENha=ha+4 1073 GOTO1051 1075 REM * h{pound}gre kort hos partner [n hos motst]ndare * 1077 hb=h+1:IFhb>4THENhb=hb-4 1079 ha=h+2:IFha>4THENha=ha-4 1081 hc=h-1:IFhc<1THENhc=hc+4 1083 sv=0:bb=0:FORb=1TO13:IFbb<>0GOTO1093 1085 IFhb$(hb,f,1)=k$(f,b)THENbb=1 1087 IFhb$(ha,f,1)=k$(f,b)THENbb=1:sv=1 1089 IFhb$(hc,f,1)=k$(f,b)THENbb=1 1091 IFut$(t,hc)=k$(f,b)THENbb=1 1093 NEXTb:ha=0:RETURN 1095 REM * n[rmast l[gre kort hos partner * 1097 ha=h+2:IFha>4THENha=ha-4 1099 bb=0:FORb=1TO13:IFbb<>0GOTO1057 1101 IFhb$(h,f,1)=k$(f,b)THENba=b:bb=1 1103 NEXTb:IFba=13GOTO1111 1105 bb=0:FORb=1TOf%(ha,f):IFbb<>0GOTO1109 1107 IFhb$(ha,f,b)=k$(f,ba+1)THENbb=1 1109 NEXTb:IFbb=1THENsv=1:ha=0:RETURN 1111 sv=0:ha=0:RETURN 1113 REM * kort nr 2 uppifr]n * 1115 bb=0:FORa=1TO13:IFbb<>0GOTO1119 1117 IFhb$(h,b,1)=k$(b,a)THENbb=a 1119 NEXTa 1121 cc=0:FORc=1TO12:IFcc<>0GOTO1131 1123 IFbb+c>12THENcc=1:GOTO1127 1125 IFhb$(h,b,c+1)<>k$(b,bb+c)THENcc=1 1127 IFc<>1ANDcc=1THENu$(h)=hb$(h,b,c) 1129 IFc=1ANDcc=1THENf=b:GOSUB1151 1131 NEXTc:bb=0:cc=0:RETURN 1133 REM * kortet n[st under h{pound}gsta * 1135 bb=0:FORa=1TO13:IFbb<>0GOTO1139 1137 IFhb$(h,b,1)=k$(b,a)THENbb=a 1139 NEXTa 1141 cc=0:FORc=1TO12:IFcc<>0GOTO1149 1143 IFbb+c>12THENcc=1:GOTO1147 1145 IFhb$(h,b,c+1)<>k$(b,bb+c)THENcc=1 1147 IFcc=1THENu$(h)=hb$(h,b,c) 1149 NEXTc:bb=0:cc=0:RETURN 1151 REM * l[gg l[gsta kort i f[rgen * 1153 bb=0:FORb=13TO1STEP-1:IFbb<>0GOTO1157 1155 IFhb$(h,f,b)<>""THENu$(h)=hb$(h,f,b):bb=1 1157 NEXTb:bb=0:RETURN 1159 REM * dra f{pound}r medspelaren * 1161 ha=h+1:IFha>4THENha=ha-4 1163 hb=h+2:IFhb>4THENhb=hb-4 1165 hc=h+3:IFhc>4THENhc=hc-4 1167 sv=0:bb=0:FORa=1TO4:IFbb<>0GOTO1183 1169 IFa=tfGOTO1183 1171 IFhb$(h,a,1)=""GOTO1183 1173 FORb=1TO13:IFbb<>0GOTO1181 1175 IFhb$(ha,a,b)=k$(a,b)THENbb=1 1177 IFhb$(hb,a,b)=k$(a,b)THENsv=1:bb=1:uf=a 1179 IFhb$(hc,a,b)=k$(a,b)THENbb=1 1181 NEXTb 1183 NEXTa:RETURN 1185 REM * l[gg kortet * 1187 u$(h)=hb$(h,f,u):RETURN 1189 REM * h{pound}gsta kort i l[ngsta f[rg * 1191 IFt>1THENGOSUB1501:GOSUB1059:IFsv=1ANDsl<>0THENf=sl:GOSUB1185:RETURN 1193 bb=0:FORa=13TO1STEP-1:IFbb<>0GOTO1203 1195 FORb=1TO4:IFbb<>0GOTO1201 1197 IFb=tfGOTO1201 1199 IFf%(h,b)=aTHENbb=1:kf=b 1201 NEXTb 1203 NEXTa:IFbb=1THENsv=1:b=kf:GOSUB1113:RETURN 1205 sv=0:RETURN 1207 REM * h{pound}gsta trumfkort * 1209 b=tf:GOSUB1133:RETURN 1211 REM * h{pound}gsta trumfkort * 1213 b=tf:GOSUB1113:RETURN 1215 REM * l[gsta i h+2 renonsf[rg * 1217 ha=h+2:IFha>4THENha=ha-4 1219 sv=0:FORa=1TO4:IFsv<>0GOTO1225 1221 IFa=tfGOTO1225 1223 IFhb$(ha,a,1)=""ANDhb$(h,a,1)<>""THENsv=1:f=a:GOSUB1151 1225 NEXTa:RETURN 1227 REM * sortera bort lagt kort * 1229 uu=0:FORf=1TO4:IFuu<>0GOTO1247 1231 FORu=1TOf%(h,f):IFuu<>0GOTO1237 1233 IFf%(h,f)=0GOTO1237 1235 IFhb$(h,f,u)=u$(h)THENuu=u 1237 NEXTu:IFuu=0GOTO1247 1239 IFuu=f%(h,f)THENhb$(h,f,uu)="":f%(h,f)=f%(h,f)-1:GOTO1247 1241 FORu=uuTOf%(h,f)-1 1243 hb$(h,f,u)=hb$(h,f,u+1) 1245 NEXTu:hb$(h,f,u)="":f%(h,f)=f%(h,f)-1 1247 NEXTf 1249 RETURN 1251 REM * utskrift av kort v * 1253 PRINT"{home}{down*10}" 1255 PRINTTAB(12);ut$(t,v) 1257 RETURN 1259 REM * utskrift av kort {pound} * 1261 PRINT"{home}{down*10}" 1263 PRINTTAB(25);ut$(t,o) 1265 RETURN 1267 REM * uf * 1269 uf=0:FORa=1TO4:IFuf<>0GOTO1273 1271 IFLEFT$(u$(h),2)=f$(a)THENuf=a 1273 NEXTa:ut$(t,h)=u$(h):u$(h)="" 1275 RETURN 1277 REM * [r vi spelf{pound} * 1279 sv=0:IFc$(sp)="n"THENsp%=n 1281 IFc$(sp)="{pound}"THENsp%=o 1283 IFc$(sp)="s"THENsp%=z 1285 IFc$(sp)="v"THENsp%=v 1287 IFsp%=hORsp%=h+2ORsp%=h-2THENsv=1 1289 RETURN 1291 REM * utskrift av kort n * 1293 PRINT"{home}{down*5}" 1295 PRINTTAB(19);ut$(t,n) 1297 RETURN 1299 REM * h+1 mellean k1 och h * 1301 hk=0:lk=0:hb=h+1:IFhb>4THENhb=hb-4 1303 ha=h-2:IFha<1THENha=ha+4 1305 FORa=1TO13:IFlk<>0GOTO1313 1307 IFhk<>0GOTO1311 1309 IFhb$(h,uf,1)=k$(uf,a)THENhk=a 1311 IFut$(t,ha)=k$(uf,a)THENlk=a 1313 NEXTa 1315 sv=0:FORb=hkTOlk 1317 FORc=1TO13:IFsv<>0GOTO1321 1319 IFhb$(hb,uf,c)=k$(uf,b)THENsv=1 1321 NEXTc:NEXTb:RETURN 1323 REM * tag kort n - s * 1325 k$="?" 1327 IFh=nTHENPRINT"{home}{down*4}{black}" 1329 IFh=zTHENPRINT"{home}{down*15}{black}" 1331 PRINTTAB(19);k$:IFk$<>"?"GOTO1357 1333 k$="":GETk$:IFk$=""ANDPEEK(56320)<>111GOTO1333 1335 IFk$=CHR$(32)THENGOSUB649:GOSUB861:GOSUB1381:GOTO1323 1337 IFya=1THENGOSUB1389:GOTO1361 1339 IFk$="s"ORk$="h"ORk$="r"ORk$="k"THENGOTO1343 1341 GOTO1333 1343 IFk$="s"THENk$=f$(1) 1345 IFk$="h"THENk$=f$(2) 1347 IFk$="r"THENk$=f$(3) 1349 IFk$="k"THENk$=f$(4) 1351 sv=0:IFuh<>hTHENGOSUB1433:IFsv=0GOTO1327 1353 IFsv=1ANDk$<>f$(uf)GOTO1323 1355 GOTO1327 1357 PRINTTAB(18);"{up}"; 1359 INPUTv$:u$(h)=k$+v$ 1361 PRINT"{up*2}":PRINTTAB(18);" ";u$(h) 1363 bb=0:FORf=1TO4:FORu=1TOf%(h,f):IFbb<>0GOTO1371 1365 IFf%(h,f)=0GOTO1371 1367 IFhb$(h,f,u)=u$(h)THENbb=1 1369 IFuh=hTHENuf=f 1371 NEXTu:NEXTf:IFbb=0GOTO1323 1373 bb=0:GOSUB1227:ut$(t,h)=u$(h):u$(h)="" 1375 IFc$(sp)="{pound}"ANDt=1THENGOSUB787 1377 h=h+1:IFh>4THENh=h-4 1379 RETURN 1381 REM * utskrift av kort * 1383 PRINT"{home}{down*4}{black}":PRINTTAB(19);ut$(t,n) 1385 GOSUB1251:GOSUB1259 1387 PRINT"{home}{down*15}{black}":PRINTTAB(19);ut$(t,z):RETURN 1389 REM * joystick * 1393 yf=uf:yv=1:y=VAL(ti$) 1395 IFyf>4THENyf=yf-4 1397 IFhb$(h,yf,1)=""THENyf=yf+1:GOTO1395 1398 POKE49155,f%(h,1):POKE49156,f%(h,2) 1399 POKE49157,f%(h,3):POKE49158,f%(h,4):POKE49159,yf:POKE49160,1 1400 POKE49161,uf:POKE49162,h:POKE49163,uh 1403 SYS49165 1413 u$(h)=hb$(h,PEEK(49159),PEEK(49160)) 1415 PRINTTAB(18);"{up}?";u$(h);"{space*2}" 1416 IFPEEK(49164)=1ANDVAL(ti$)>y+1THENRETURN 1417 GOTO1403 1431 REM * rutiner f{pound}r 3 handen * 1433 REM * har h uf * 1435 sv=0:FORa=1TO4:IFsv<>0GOTO1507 1437 IFLEFT$(hb$(h,a,1),2)=f$(uf)THENsv=1 1439 NEXTa:RETURN 1441 REM * [r uf trumf * 1443 sv=0:IFuf=tfTHENsv=1 1445 RETURN 1447 REM * [r k1 st{pound}rre [n k2 * 1449 sv=0:ha=h-2:IFha<1THENha=ha+4 1451 hb=h-1:IFhb<1THENhb=hb+4 1453 bb=0:FORa=1TO13:IFbb<>0GOTO1459 1455 IFut$(t,ha)=k$(uf,a)THENsv=1:bb=1 1457 IFut$(t,hb)=k$(uf,a)THENbb=1 1459 NEXTa:ha=0:hb=0:RETURN 1461 REM * har h h{pound}gre kort [n k1 * 1463 sv=0:ha=h-2:IFha<1THENha=ha+4 1465 bb=0:FORa=1TO13:IFbb<>0GOTO1471 1467 IFhb$(h,uf,1)=k$(uf,a)THENsv=1:bb=1 1469 IFut$(t,ha)=k$(uf,a)THENbb=1 1471 NEXTa:ha=0:RETURN 1473 REM * [r uk n[rmast under h * 1475 sv=0:ha=h+2:IFha>4THENha=ha-4 1477 bb=0:FORb=1TO13:IFbb<>0GOTO1481 1479 IFhb$(h,uf,1)=k$(f,b)THENba=b:bb=1 1481 NEXTb 1483 IFut$(t,ha)=k$(uf,ba+1)THENsv=1 1485 ha=0:RETURN 1487 REM * [r k2 trumf * 1489 sv=0:ha=h-1:IFha<1THENha=ha+4 1491 IFLEFT$(ut$(t,ha),2)=f$(tf)THENsv=1 1493 ha=0:RETURN 1495 REM * har h h{pound}gre kort [n k2 * 1497 sv=0:ha=h-1:IFha<1THENha=ha+4 1499 GOTO1465 1501 REM * har h trumf * 1503 sv=0:FORa=1TO4:IFsv<>0GOTO1507 1505 IFLEFT$(hb$(h,a,1),2)=f$(tf)THENsv=1 1507 NEXTa:RETURN 1509 REM * h{pound}gre trumf hos h [n k2 * 1511 sv=0:ha=h-1:IFha<1THENha=ha+4 1513 bb=0:FORa=1TO13:IFbb<>0GOTO1519 1515 IFhb$(h,tf,1)=k$(tf,a)THENsv=1:bb=1 1517 IFut$(t,ha)=k$(tf,a)THENbb=1 1519 NEXTa:ha=0:RETURN 1521 REM * l[gg h{pound}gsta kort i f[rgen * 1523 b=uf:GOSUB1133:RETURN 1525 REM *l[gg nr 2 uppifr]n * 1527 b=uf:GOSUB1113:RETURN 1529 REM * l[gg n[st h{pound}gsta * 1531 u$(h)=hb$(h,uf,2):IFu$(h)=""THENu$(h)=hb$(h,uf,1) 1533 RETURN 1535 REM * l[gg l[gsta kort i f[rgen * 1537 f=uf:GOTO1151 1539 REM * h+1 renons i f[rgen * 1541 f=uf:GOTO1025 1543 REM * l[gg n[rmast h{pound}gre i f[rgen * 1545 ha=h-1:IFha<1THENha=ha+4 1547 bb=0:FORa=1TO13:IFbb<>0GOTO1551 1549 IFut$(t,ha)=k$(uf,a)THENbb=a 1551 NEXTa 1553 cc=0:FORa=bb-1TO1STEP-1:FORb=f%(h,uf)TO1STEP-1:IFcc<>0GOTO1557 1555 IFhb$(h,uf,b)=k$(uf,a)THENu$(h)=hb$(h,uf,b):cc=1 1557 NEXTb:NEXTa:ha=0:bb=0:cc=0:RETURN 1559 REM * l[gg n[rmast h{pound}gre trumf * 1561 ha=h-1:IFha<1THENha=ha+4 1563 bb=0:FORa=1TO13:IFbb<>0GOTO1567 1565 IFut$(t,ha)=k$(tf,a)THENbb=a 1567 NEXTa 1569 cc=0:FORa=bb-1TO1STEP-1:FORb=f%(h,tf)TO1STEP-1:IFcc<>0GOTO1573 1571 IFhb$(h,tf,b)=k$(tf,a)THENu$(h)=hb$(h,tf,b):cc=1 1573 NEXTb:NEXTa:ha=0:bb=0:cc=0:RETURN 1575 REM * l[gg l[gsta trumf * 1577 bb=0:FORb=13TO1STEP-1:IFbb<>0GOTO1581 1579 IFhb$(h,tf,b)<>""THENu$(h)=hb$(h,tf,b):bb=1 1581 NEXTb:bb=0:RETURN 1583 REM * l[gg l[gsta * 1585 ha=h+1:IFha>4THENha=ha-4 1587 hb=h-1:IFhb<1THENhb=hb+4 1589 hc=h+2:IFhc>4THENhc=hc-4 1590 ee=0 1591 bb=0:FORa=13TO1STEP-1:FORb=4TO1STEP-1:IFb=tf OR bb<>0THEN1609 1593 cc=0:IFk$(b,a)=hb$(h,b,f%(h,b))THENcc=1:bb=1:u$(h)=k$(b,a) 1595 IFcc=0ORee=1THEN1609 1597 dd=0:FORd=13TO1STEP-1:IFdd<>0THEN1607 1599 IFk$(b,d)=u$(h)THENdd=1 1601 IFk$(b,d)=hb$(ha,b,1)THENdd=1:bb=0 1603 IFk$(b,d)=hb$(hb,b,1)THENdd=1:bb=0 1605 IFk$(b,d)=hb$(hc,b,1)THENdd=1:bb=0 1607 NEXTd 1609 NEXTb:NEXTa:IFcc=0THENIFee=0THENee=1:GOTO1591 1610 IFcc=0THEN1575 1611 RETURN 1613 REM * har h+1 h{pound}gre kort [n k1 * 1615 sv=0:ha=h-2:IFha<1THENha=ha+4 1617 hb=h+1:IFhb>4THENhb=hb-4 1619 bb=0:FORa=1TO13:IFbb<>0GOTO1471 1621 IFhb$(hb,uf,1)=k$(uf,a)THENsv=1:bb=1 1623 IFut$(t,ha)=k$(uf,a)THENbb=1 1625 NEXTa:ha=0:hb=0:RETURN 1627 REM * 3 handens spel * 1629 PRINT"{home}{down*6}{gray}" 1631 IFt=13THENGOSUB995:GOTO1705 1633 GOSUB1433:IFsv=1THENPRINT"a":GOTO1641 1635 GOSUB1441:IFsv=1THENPRINT"b":GOTO1639 1637 GOSUB1501:IFsv=1THENPRINT"c":GOTO1651 1639 GOSUB1583:GOTO1705 1641 GOSUB1441:IFsv=1THENPRINT"d":GOTO1645 1643 GOSUB1487:IFsv=1THENPRINT"e":GOTO1649 1645 GOSUB1447:IFsv=1THENPRINT"f":GOTO1663 1647 GOSUB1495:IFsv=1THENPRINT"g":GOTO1671 1649 GOSUB1535:GOTO1705 1651 GOSUB1487:IFsv=1THENPRINT"h":GOTO1677 1653 GOSUB1539:IFsv=1THENPRINT"i":GOTO1681 1655 GOSUB1447:IFsv=1THENPRINT"i1":GOTO1659 1657 GOSUB1575:GOTO1705 1659 GOSUB1613:IFsv=1THENPRINT"i2":GOTO1657 1661 GOTO1639 1663 GOSUB1441:IFsv=1THENPRINT"j":GOTO1667 1665 GOSUB1539:IFsv=1THENPRINT"k":GOTO1649 1667 GOSUB1613:IFsv=1THENPRINT"l":GOTO1685 1669 GOTO1649 1671 GOSUB1539:IFsv=1THENPRINT"m":GOTO1689 1673 GOSUB1047:IFsv=1ANDt>10THENGOSUB1525:GOTO1705 1675 GOSUB1521:GOTO1705 1677 GOSUB1509:IFsv=1THENPRINT"n":GOTO1693 1679 GOTO1639 1681 GOSUB1011:IFsv=1THENPRINT"o":GOTO1697 1683 GOTO1657 1685 GOSUB1461:IFsv=1THENPRINT"p":GOTO1699 1687 GOTO1649 1689 GOSUB1011:IFsv=1THENPRINT"q":GOTO1649 1691 GOSUB1543:GOTO1705 1693 GOSUB1539:IFsv=1THENPRINT"r":GOTO1681 1695 GOSUB1559:GOTO1705 1697 GOSUB1207:GOTO1705 1699 GOSUB1473:IFsv=1THENPRINT"s":GOTO1649 1701 GOSUB1299:IFsv=1THENPRINT"t":GOTO1673 1703 GOTO1649 1705 GOSUB1227:ut$(t,h)=u$(h):u$(h)="" 1707 IFh=vTHENGOSUB1251 1709 IFh=nTHENGOSUB1291 1711 IFh=oTHENGOSUB1259 1713 h=h+1:IFh>4THENh=h-4 1715 RETURN 1717 REM * vunnet stick * 1719 bc=0:FORa=1TO13:FORb=1TO4:IFbc<>0GOTO1723 1721 IFut$(t,b)=k$(tf,a)THENbc=b 1723 NEXTb:NEXTa 1725 FORa=1TO13:FORb=1TO4:IFbc<>0GOTO1729 1727 IFut$(t,b)=k$(uf,a)THENbc=b 1729 NEXTb:NEXTa 1731 IFbc=zORbc=nTHENv%=v%+1:GOTO1735 1733 f%=f%+1 1735 uh=bc:bc=0:RETURN 1737 REM 1739 REM * rutiner f{pound}r 2 hand * 1741 REM * h{pound}gre uf hos h+2 [n hos h+1 och h+3 * 1743 f=uf:GOTO1075 1745 REM * h{pound}gre uf p] h+1 [n h * 1747 f=uf:GOTO1047 1749 REM * h{pound}gre uf p] h+2 [n h * 1751 f=uf:GOTO1075 1753 REM * h[rmast l[gre uf hos h+2 * 1755 f=uf:GOTO1095 1757 REM * h{pound}gre trumf hos h+1 [n h * 1759 f=tf:GOTO1047 1761 REM * h+2 renons i uf * 1763 ha=h+2:IFha>4THENha=ha-4 1765 IFhb$(ha,uf,1)=""THENsv=1:ha=0:RETURN 1767 sv=0:ha=0:RETURN 1769 REM * h{pound}gre uf hos h+2 [n h+1 * 1771 sv=0:ha=h+2:IFha>4THENha=ha-4 1773 hb=h+1:IFhb>4THENhb=hb-4 1775 bb=0:FORa=1TO13:IFbb<>0GOTO1781 1777 IFhb$(ha,uf,1)=k$(uf,a)THENsv=1:bb=1 1779 IFhb$(hb,uf,1)=k$(uf,a)THENbb=1 1781 NEXTa:bb=0:ha=0:hb=0:RETURN 1783 REM * h{pound}gre uf hos h+2 [n k1 * 1785 sv=0:ha=h+2:IFha>4THENha=ha-4 1787 hb=h-1:IFhb<1THENhb=hb+4 1789 bb=0:FORa=1TO13:IFbb<>0GOTO1781 1791 IFhb$(ha,uf,1)=k$(uf,a)THENsv=1:bb=1 1793 IFut$(t,hb)=k$(uf,a)THENbb=1 1795 NEXTa:bb=0:ha=0:hb=0:RETURN 1797 REM * h{pound}gre trumf p] h+2 [n h * 1799 f=tf:GOTO1075 1801 REM * n[rmast l[gre trumf hos h+2 * 1803 f=tf:GOTO1095 1805 REM * 2 handens spel * 1807 PRINT"{home}{down*6}{gray}" 1809 IFt=13THENGOSUB995:GOTO1861 1811 GOSUB1433:IFsv=1THENPRINT"a2":GOTO1819 1813 GOSUB1441:IFsv=1THENPRINT"b2":GOTO1817 1815 GOSUB1501:IFsv=1THENPRINT"c2":GOTO1823 1817 GOSUB1583:GOTO1861 1819 GOSUB1495:IFsv=1THENPRINT"d2":GOTO1829 1821 GOSUB1535:GOTO1861 1823 GOSUB1539:IFsv=1THENPRINT"e2":GOTO1841 1825 GOSUB1769:IFsv=1THENPRINT"f2":GOTO1843 1827 GOSUB1575:GOTO1861 1829 GOSUB1745:IFsv=1THENPRINT"g2":GOSUB1525:GOTO1861 1831 GOSUB1749:IFsv=1THENPRINT"h2":GOTO1821 1833 GOSUB1761:IFsv=1THENGOSUB1019:IFsv=1GOTO1821 1835 GOSUB1741:IFsv=1THENPRINT"hh2":GOTO1821 1837 GOSUB1753:IFsv=1THENPRINT"i2":GOTO1821 1839 GOTO1847 1841 GOSUB1011:IFsv=1THENPRINT"j2":GOTO1849 1843 GOSUB1783:IFsv=1THENPRINT"k2":GOTO1817 1845 GOTO1827 1847 GOSUB1521:GOTO1861 1849 GOSUB1757:IFsv=1THENPRINT"l2":GOTO1853 1851 GOSUB1761:IFsv=1THENPRINT"m2":GOTO1855 1853 GOSUB1207:GOTO1861 1855 GOSUB1797:IFsv=1THENPRINT"n2":GOTO1817 1857 GOSUB1801:IFsv=1THENPRINT"o2":GOTO1817 1859 GOTO1853 1861 GOSUB1227:ut$(t,h)=u$(h):u$(h)="" 1863 IFh=vTHENGOSUB1251 1865 IFh=nTHENGOSUB1291 1867 IFh=oTHENGOSUB1259 1869 h=h+1:IFh>4THENh=h-4 1871 RETURN 1873 REM 1875 REM * rutiner f{pound}r 4 handen * 1877 REM * [r k2 h{pound}gre [n k1 och k3 * 1879 ha=h-3:IFha<1THENha=ha+4 1881 hb=h-2:IFhb<1THENhb=hb+4 1883 hc=h-1:IFhc<1THENhc=hc+4 1885 sv=0:bb=0:FORa=1TO13:IFbb<>0GOTO1893 1887 IFut$(t,ha)=k$(uf,a)THENbb=1 1889 IFut$(t,hb)=k$(uf,a)THENbb=1:sv=1 1891 IFut$(t,hc)=k$(uf,a)THENbb=1 1893 NEXTa:ha=0:hb=0:hc=0:RETURN 1895 REM * [r k2 eller k3 trumf * 1897 ha=h-2:IFha<1THENha=ha+4 1899 hb=h-1:IFhb<1THENhb=hb+4 1901 sv=0:IFLEFT$(ut$(t,ha),2)=f$(tf)THENsv=1 1903 IFLEFT$(ut$(t,hb),2)=f$(tf)THENsv=1 1905 ha=0:hb=0:RETURN 1907 REM * [r h st{pound}rre [n k1 eller k3 * 1909 ha=h-3:IFha<1THENha=ha+4 1911 hc=h-1:IFhc<1THENhc=hc+4 1913 sv=0:bb=0:FORa=1TO13:IFbb<>0GOTO1921 1915 IFut$(t,ha)=k$(uf,a)THENbb=1 1917 IFhb$(h,uf,1)=k$(uf,a)THENbb=1:sv=1 1919 IFut$(t,hc)=k$(uf,a)THENbb=1 1921 NEXTa:ha=0:hc=0:RETURN 1923 REM * l[gg n[rmast h{pound}gre [n k1,k3 * 1925 ha=h-3:IFha<1THENha=ha+4 1927 hc=h-1:IFhc<1THENhc=hc+4 1929 bb=0:FORa=1TO13:IFbb<>0GOTO1935 1931 IFut$(t,ha)=k$(uf,a)THENbb=a 1933 IFut$(t,hc)=k$(uf,a)THENbb=a 1935 NEXTa:ha=0:hc=0:GOTO1553 1937 REM * [r k3 h{pound}gre trumf [n k2 * 1939 ha=h-1:IFha<1THENha=ha+4 1941 hb=h-2:IFhb<1THENhb=hb+4 1943 sv=0:bb=0:FORa=1TO13:IFbb<>0GOTO1949 1945 IFut$(t,ha)=k$(tf,a)THENbb=1:sv=1 1947 IFut$(t,hb)=k$(tf,a)THENbb=1 1949 NEXTa:ha=0:hb=0:RETURN 1951 REM 1953 REM : 4 handens spel * 1955 PRINT"{home}{down*6}{gray}" 1957 GOSUB1433:IFsv=1THENPRINT"a4":GOTO1965 1959 IFc$(sp)="n"ORc$(sp)="s"THENvv%=v% 1961 GOSUB1501:IFsv=1THENPRINT"c4":GOTO1975 1963 GOSUB1583:GOTO1991 1965 GOSUB1441:IFsv=1THENPRINT"d4":GOTO1969 1967 GOSUB1895:IFsv=1THENPRINT"e4":GOTO1973 1969 GOSUB1877:IFsv=1THENPRINT"f4":GOTO1973 1971 GOSUB1907:IFsv=1THENPRINT"g4":GOTO1985 1973 GOSUB1535:GOTO1991 1975 GOSUB1895:IFsv=1THENPRINT"ga4":GOTO1981 1977 GOSUB1877:IFsv=1THENPRINT"gb4":GOSUB1583:GOTO1991 1979 GOSUB1575:GOTO1991 1981 GOSUB1937:IFsv=1THENPRINT"h4":GOTO1987 1983 GOTO1963 1985 GOSUB1923:GOTO1991 1987 GOSUB1509:IFsv=1THENPRINT"i4":GOSUB1559:PRINT"j4":GOTO1991 1989 GOTO1963 1991 GOSUB1227:ut$(t,h)=u$(h):u$(h)="" 1993 IFh=vTHENGOSUB1251 1995 IFh=nTHENGOSUB1291 1997 IFh=oTHENGOSUB1259 1999 h=h+1:IFh>4THENh=h-4 2001 RETURN 2003 REM * utr[kning av resultatpo[ng * 2005 pp%=0:zo=0:IFPEEK(49153)>49THENzo=1 2007 IFc$(sp)="n"ORc$(sp)="s"THENvv%=v% 2009 IFc$(sp)="v"ORc$(sp)="{pound}"THENvv%=f% 2011 IFvv%<(6+VAL(bs$))THENpp%=-5*(VAL(bs$)+6-vv%):IFzo=1THENpp%=2*pp% 2013 IFpp%<>0GOTO2035 2015 bx$=RIGHT$(bs$,2) 2017 ps%=0:IFbx$=f$(3)ORbx$=f$(4)THENpq%=2:pr%=5:ps%=1 2019 IFbx$=f$(1)ORbx$=f$(2)THENpq%=3:pr%=5:ps%=2 2021 IFbx$=f$(5)THENpq%=3:pr%=6:ps%=3 2023 pp%=pr%+pq%*(vv%-6) 2025 IFVAL(bs$)>(5-ps%)THENpp%=pp%+25:IFzo=1THENpp%=pp%+20 2031 IFVAL(bs$)=6THENpp%=pp%+50:IFzo=1THENpp%=pp%+25 2033 IFVAL(bs$)=7THENpp%=pp%+100:IFzo=1THENpp%=pp%+50 2035 IFc$(sp)="v"ORc$(sp)="{pound}"THENpp%=-pp% 2037 GOSUB93 2039 pq%=pp%+pq%:GOSUB141 2041 RETURN 2043 REM * utskrift av po[ng * 2045 PRINT"{home}{space*6}{black}{A*28}" 2047 PRINT"{space*6}A{red}{S*26}{black}A" 2049 PRINT"{space*6}A{red}S{space*24}S{black}A" 2051 PRINT"{space*6}A{red}S{blue}{space*3}vunna po[ng:";10*pp%;:PRINTTAB(32);"{red}S{black}A" 2053 PRINT"{space*6}A{red}S{space*24}S{black}A" 2055 PRINT"{space*6}A{red}S{blue}{space*3}totalpo[ng :";10*pq%;:PRINTTAB(32);"{red}S{black}A" 2057 PRINT"{space*6}A{red}S{space*24}S{black}A" 2059 PRINT"{space*6}A{red}{S*26}{black}A" 2061 PRINT"{space*6}{black}{A*28}" 2063 RETURN 2065 GOSUB1613:IFsv=1THENPRINT"i2":GOTO1657 2067 REM * 1 handens bud * 2069 IFxp%<13THENGOSUB623:RETURN 2071 s$="1":IFxp%>19THENs$="2":xk=1 2073 IFxp%>14THENGOSUB491:IFsa=1THENa=5:xk=0:GOTO2081 2075 a=0:FORx=13TO0STEP-1:FORy=4TO1STEP-1:IFa<>0THEN2079 2077 IFf%(h,y)=xTHENa=y 2079 NEXTy:NEXTx 2081 bs$=s$+f$(a):pf=a:RETURN 2083 REM * 2 handens bud * 2085 IFxp%<10THENGOSUB623:RETURN 2087 xb=VAL(bs$):IFxb>2ANDxp%<20THENGOSUB623:RETURN 2089 GOSUB491:IFpf=5THENpf=0 2091 IFRIGHT$(bs$,1)="g"THEN2099 2093 IFsa=1ANDxb>2THEN2097 2095 IFxp%>19THENxb=xb+1:IFsa=0THENxk=1 2097 IFxp%>14ANDsa=1ANDaf<>5ANDbf<>5THENa=5:GOTO2105 2099 a=0:FORx=30TO5+xbSTEP-1:FORy=4TO1STEP-1:IFa<>0ANDa<>afANDa<>bfTHEN2103 2101 IF2*f%(h,y)+h%(h,y)>=xTHENa=y 2103 NEXTy:NEXTx:IFa>pfTHENxb=xb+1 2105 IFa<>0ANDa<>afANDa<>bfTHENbs$=STR$(xb)+f$(a):pf=a:RETURN 2107 GOSUB623:RETURN 2109 REM * svarshandens bud * 2111 IFxk=1THEN2119 2113 IFVAL(ab$)>1ANDxp%>3ANDbf=0THEN2119 2115 IFxp%>5THEN2119 2117 GOSUB623:RETURN 2119 IFab$=""ANDb$<>""ANDxp%<20THENGOSUB623:RETURN 2121 IFab$="2sang"ANDb$=""ANDbf=0THENxk=1 2123 IFpf=5THENpf=0 2125 IFaf=5THENaf=0 2127 xb=VAL(bs$):xd=xb:xe=VAL(ab$):IFVAL(b$)>xeTHENxe=VAL(b$) 2129 IFf=5ANDxb<4THENGOSUB491:IFsa=1THENGOSUB2181:RETURN 2131 IFab$="3{red}S"ORab$="3{black}A"THENIFxp%+xq%>25THENxe=1:GOTO2135 2132 IFab$="4{red}Z"ORab$="4{black}X"THENIFxp%+xq%>29THENxe=1:GOTO2135 2133 IFxe=2ANDb$=""ANDbf=0THENxe=0 2135 xx=0:xc=5+4*xe:IFxp%>xcANDxb<4THENxb=xe+2:IFxe=1ANDxp%>xc+3THENxb=4 2137 xf=4:IFf=cfANDxe<>1THENxf=5 2139 IFxe=0THENxf=3 2141 IFf%(h,f)0THENaf=bf 2143 IFaf0ANDa<>afANDa<>bfTHEN2161 2153 IFxp%<2+4*xdANDxk=0THEN2161 2155 IF2*f%(h,y)+h%(h,y)>=xTHENa=y 2157 IFa=cfANDf<>aANDxb>1THENa=0 2159 IFf%(h,a)<4THENa=0 2161 NEXTy:NEXTx:xb=xd:IFa>=pfTHENxb=xd+1 2163 IFxp%>10+5*xeANDxb<4THENxb=xb+1 2165 IFxp%<2+4*xbANDxk=0THEN2169 2167 IFa<>0ANDa<>afANDa<>bfTHENbs$=STR$(xb)+f$(a):pf=a:xk=0:RETURN 2169 IFxx=1THEN2179 2171 IFxp%>9ANDb$=""THENxk=1:xx=1:GOTO2149 2173 IFbs$="5sang"ORbs$="6sang"THENxk=1:xx=1:GOTO2149 2175 IFxd=1ANDpf<>0THENbs$="1sang":pf=5:RETURN 2177 IFxd=2ANDpf<>0ANDb$=""ANDbf=0THENbs$="2sang":pf=5:RETURN 2179 GOSUB 623:RETURN 2181 REM * svarsbud till sang * 2183 IFxp%>9THENbs$="3sang":pf=5:RETURN 2185 IFxe=2ANDxp%>7ANDb$=""ANDbf=0ANDxb<4THENbs$="3sang":pf=5:RETURN 2187 IFxe=1ANDxb<3ANDxp%>7THENbs$="2sang":pf=5:RETURN 2189 GOSUB 623:RETURN 3000 DATA169,0,141,12,192,169,16,45,0,220,208,3,238,12,192,169,8,45,0,220,208 3002 DATA17,238,8,192,174,7,192,189,2,192,205,8,192,16,3,141,8,192,169,4,45 3004 DATA0,220,208,8,206,8,192,208,3,238,8,192,173,11,192,205,10,192,240,15 3006 DATA174,9,192,189,2,192,240,7,173,9,192,141,7,192,96,169,2,45,0,220,208 3008 DATA35,238,7,192,169,4,205,7,192,16,3,141,7,192,174,7,192,189,2,192,208 3010 DATA6,224,4,240,17,208,229,205,8,192,16,3,141,8,192,169,1,45,0,220,208 3012 DATA30,206,7,192,208,3,238,7,192,174,7,192,189,2,192,208,6,224,1,240,194 3014 DATA208,234,205,8,192,16,3,141,8,192,96 49165 +156 stop tok64 (bastext 1.0)