home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 48
/
048side1.d81
/
marienbad
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
10KB
|
274 lines
2 gosub2190
3 ifa=0thenpoke55,0:poke56,56:clr:a=1
4 ifa=1thena=2:load"mb.font",8,1
10 dim a$(16):y=1:ss=1:dimj(4,7,7)
20 poke53280,0:poke53281,4
50 poke53272,(peek(53272)and240)+14:printchr$(8)
60 gosub2200
70 print"[147][156]";:poke53281,0:poke53280,2
80 ifa$="y"thengosub750
90 a=1:b=1:c=1:y=1:ss=1
100 print"[147]":gosub 700:print"[147]"
110 gosub2390:forxx=1to16:a$(xx)=s$:nextxx
120 c=0:yy=-1:gosub460
130 print"[150] "nm$(1)
140 ifnm$(1)="computer"thengosub1020
150 c=1:b=1:a=1:print"^";
160 jr=peek(56320):geta$
165 ifa$="[140]"then650
170 if(jr=125ora$="")anda<4thena=a+1:b=b+1:c=c+2:gosub260
180 if(jr=119ora$="")andb<cthenb=b+1:gosub260
190 if(jr=126ora$="[145]")anda>1andb>1andb<>cthena=a-1:b=b-1:c=c-2:gosub260
200 ifb>1and(jr=123ora$="[157]")thenb=b-1:gosub260
210 ifb=7andss=0andjr=119thenprint"[157] [157][146] ^";:b=b+1
220 ifss=0and(jr=109ora$="*")thenjr=0:print"[157] [157]";:gosub350:gosub260:ss=1
230 if(jr=111ora$=chr$(13))and(w=a or w=0)thengosub420:gosub260
240 ifrt=1thenrt=0:goto110
250 goto160
260 print"[157] [157]";
270 ifrt=1thenreturn
280 print"";
290 forz=1to((a-1)*4):print"[157]";:next
300 forz=1to(a*6):print"";:nextz
310 forz=1tob*4:print"";:next
320 ifa=1andb=1andc=1thenprint"";
330 print"^";
340 return
350 a=1:b=1:c=1:w=0:ss=1
360 ify<>2then370
365 poke53280,2:print"[150] "nm$(1);:forii=1to11-len(nm$(1)):print" ";:next
367 y=1:gosub400:return
370 poke53280,3:print"[153] "nm$(2);:y=2:forii=1to11-len(nm$(2)):print" ";:next
380 ifnm$(2)="computer"thengosub1020
390 return
400 ifnm$(1)="computer"thengosub1020
410 return
420 ifj(a,b,c)=0thenreturn
430 w=a:ss=0
440 dd=((a*a)-(c-b))
450 a$(dd)="[144] [157][157][157] [157][157][157] [157][157][157] [157][157][157] [156]"
460 print"[156]";a$(1)
470 print"";a$(2);"[145][145][145][145]";a$(3);"[145][145][145][145]";a$(4)
480 print"";a$(5);"[145][145][145][145]";a$(6);"[145][145][145][145]";a$(7);"[145][145][145][145]";a$(8);"[145][145][145][145]";
490 printa$(9)
500 print"";a$(10);"[145][145][145][145]";a$(11);"[145][145][145][145]";a$(12);"[145][145][145][145]";a$(13);"[145][145][145][145]";
510 printa$(14);"[145][145][145][145]";a$(15);"[145][145][145][145]";a$(16);"[146] ";
520 forz8=217to242:pokez8,peek(z8)or128:next
523 print" joystick":print"[158] fire button"
525 print" to remove":print" fire down"
530 print" to end"
532 print" turn"
536 printspc(30)"press f8"
537 printspc(30)"to quit"
540 gosub670
550 yy=yy+1:ifyy=16thenprint"[147][156]":goto570
560 j(a,b,c)=0:return
570 ify=2thenprintspc(20-(len(nm$(1))/2))nm$(1)
580 ify=1thenprintspc(20-(len(nm$(2))/2))nm$(2)
585 printspc(10)"is the grand champion!"
590 forf=1to2:forg=1to16:poke53280,g:forh=1to150:next:next:next
600 poke53280,2:print"play again? (y/n)"
610 getp$:ifp$<>"y"andp$<>"n"then610
620 ifp$="y"thenprint"[144]":run10
650 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
655 print"[147]":poke53272,21:ifer<>63thenend
657 load"hello connect",8
670 print"";tab(26);"cursor keys"
680 printtab(26);"[158]press return"
685 printtab(26);" to remove"
690 printtab(27);"press * to"
695 printtab(27);" end turn"
697 return
700 print"[147]enter name, player 1"
705 printtab(11);:gosub3000:nm$(1)=kk$
710 poke 53280,3:print"[147]enter name, player 2"
715 printtab(11);:gosub3000:nm$(2)=kk$
720 poke53280,2
730 ifnm$(1)=nm$(2)then700
740 print"[147]":return
750 print"[147] the object of this game is to avoid"
760 print" removing the last carpet on the board."
790 print" players alternate turns removing"
800 print" according to two separate rules:"
830 print" 1) in any one turn a player may"
840 print" remove carpets from only one"
850 print" horizontal row."
860 print" 2) any number of carpets"
870 print" from that row may be removed."
880 print
890 print" use joystick in port #2 or the cursor"
900 print" keys to place the pointer. press the"
905 print" fire button or return to remove a"
910 print" carpet. press '*' or the firebutton"
915 print"with the joystick down to end your turn."
920 print" to play the computer, enter 'computer'"
925 print" as either player."
930 print:print" [158]press any key to begin[145]"
940 getww$:ifww$="" then 940
950 print"[147]"
960 j(1,1,1)=1:j(2,1,3)=1:j(2,2,3)=1
970 j(2,3,3)=1:j(3,1,5)=1:j(3,2,5)=1
980 j(3,3,5)=1:j(3,4,5)=1:j(3,5,5)=1
990 j(4,1,7)=1:j(4,2,7)=1:j(4,3,7)=1
1000 j(4,4,7)=1:j(4,5,7)=1:j(4,6,7)=1
1010 j(4,7,7)=1:return
1020 for x=1to4:rr(x)=0:next
1030 for a=1to4
1040 for b=1to(a*2-1)
1050 c=a*2-1
1060 ifj(a,b,c)=1thenrr(a)=rr(a)+1
1070 next:next
1080 tn=0:forx=1to4
1090 ifrr(x)>=1thentn=tn+1
1100 next
1110 tp=0
1120 iftn<>1then1190
1125 iftn=1thenifrr(1)=1thentk=1:tx=1:gosub 2090:return
1130 ifrr(2)=1thentk=1:tx=2:gosub 2090:return
1140 ifrr(3)=1thentk=1:tx=3:gosub 2090:return
1150 ifrr(4)=1thentk=1:tx=4:gosub 2090:return
1160 ifrr(2)>1thentk=rr(2)-1:tx=2:gosub2090:return
1170 ifrr(3)>1thentk=rr(3)-1:tx=3:gosub2090:return
1180 ifrr(4)>1thentk=rr(4)-1:tx=4:gosub2090:return
1190 iftn<>2then1320
1195 iftn=2thenifrr(1)=1thenifrr(1)=rr(2)thentk=1:tx=1:gosub2090:return
1200 ifrr(1)=1thenifrr(1)=rr(3)thentk=1:tx=3:gosub2090:return
1210 ifrr(1)=1thenifrr(1)=rr(4)thentk=1:tx=1:gosub2090:return
1220 ifrr(1)=1thenifrr(2)>rr(1)thentk=rr(2):tx=2:gosub2090:return
1230 ifrr(1)=1thenifrr(3)>rr(1)thentk=rr(3):tx=3:gosub2090:return
1240 ifrr(1)=1thenifrr(4)>rr(1)thentk=rr(4):tx=4:gosub2090:return
1250 ifrr(2)=1andrr(3)>1thentk=rr(3):tx=3:gosub2090:return
1260 ifrr(2)=1andrr(4)>1thentk=rr(4):tx=4:gosub2090:return
1270 ifrr(3)=1andrr(4)>1thentk=rr(4):tx=4:gosub2090:return
1280 ifrr(2)>1andrr(3)=1thentk=rr(2):tx=2:gosub2090:return
1290 ifrr(2)>1andrr(4)=1thentk=rr(2):tx=2:gosub2090:return
1300 ifrr(3)>1andrr(4)=1thentk=rr(3):tx=3:gosub2090:return
1310 ifrr(2)>=1andrr(3)>=1thentp=1
1320 iftp=1thenifrr(2)=rr(3)thentk=1:tx=2:gosub2090:tp=0:return
1330 iftp=1thenifrr(2)>rr(3)thentk=rr(2)-rr(3):tx=2:gosub2090:tp=0:return
1340 iftp=1thenifrr(2)<rr(3)thentk=rr(3)-rr(2):tx=3:gosub2090:tp=0:return
1350 iftn=2thenifrr(2)>=1andrr(4)>=1thentp=1
1360 iftp=1thenifrr(2)=rr(4)thentk=1:tx=2:gosub2090:tp=0:return
1370 iftp=1thenifrr(2)>rr(4)thentk=rr(2)-rr(4):tx=2:gosub2090:tp=0:return
1380 iftp=1thenifrr(2)<rr(4)thentk=rr(4)-rr(2):tx=4:gosub2090:tp=0:return
1390 iftn=2thenifrr(3)>=1andrr(4)>=1thentp=1
1400 iftp=1thenifrr(3)=rr(4)thentk=1:tx=3:gosub2090:tp=0:return
1410 iftp=1thenifrr(3)>rr(4)thentk=rr(3)-rr(4):tx=3:gosub2090:tp=0:return
1420 iftp=1thenifrr(3)<rr(4)thentk=rr(4)-rr(3):tx=4:gosub2090:tp=0:return
1430 iftn=3andrr(1)=1thentp=1
1440 iftp=1andrr(2)=3andrr(3)>2thentk=rr(3)-2:tx=3:gosub2090:return
1450 iftp=1andrr(2)=3andrr(4)>2thentk=rr(4)-2:tx=4:gosub2090:return
1460 iftp=1andrr(2)=2andrr(3)>3thentk=rr(3)-3:tx=3:gosub2090:return
1470 iftp=1andrr(2)=2andrr(4)>3thentk=rr(4)-3:tx=4:gosub2090:return
1480 iftp=1andrr(3)=2andrr(4)>3thentk=rr(4)-3:tx=4:gosub2090:return
1490 iftp=1andrr(3)=3andrr(4)>2thentk=rr(4)-2:tx=4:gosub2090:return
1500 iftp=1andrr(2)=rr(3)andrr(2)<>1thentp=0:tk=1:tx=1:gosub2090:return
1510 iftp=1andrr(4)=2andrr(3)>3thentk=rr(3)-3:tx=3:gosub2090:return
1520 iftp=1andrr(4)=3andrr(3)>2thentk=rr(3)-2:tx=3:gosub2090:return
1530 iftp=1andrr(2)=rr(4)andrr(2)<>1thentp=0:tk=1:tx=1:gosub2090:return
1540 iftp=1andrr(3)=rr(4)andrr(3)<>1thentp=0:tk=1:tx=1:gosub2090:return
1550 iftp=1andrr(2)=rr(3)andrr(2)=1thentp=0:tk=1:tx=1:gosub2090:return
1560 iftp=1andrr(2)=rr(4)andrr(2)=1thentp=0:tk=1:tx=1:gosub2090:return
1570 iftp=1andrr(3)=rr(4)andrr(3)=1thentp=0:tk=1:tx=1:gosub2090:return
1580 iftp=1andrr(2)=1andrr(3)>1thentp=0:tk=rr(3)-1:tx=3:gosub2090:return
1590 iftp=1andrr(3)=1andrr(2)>1thentp=0:tk=rr(2)-1:tx=2:gosub2090:return
1600 iftp=1andrr(3)=1andrr(4)>1thentp=0:tk=rr(4)-1:tx=4:gosub2090:return
1610 iftp=1andrr(4)=1andrr(3)>1thentp=0:tk=rr(3)-1:tx=3:gosub2090:return
1620 iftp=1andrr(4)=2andrr(3)>3thentk=rr(3)-(rr(3)-3):tx=3:gosub2090:return
1630 iftp=1andrr(2)=2andrr(3)>3thentk=rr(3)-(rr(3)-3):tx=3:gosub2090:return
1640