home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_86-09_1986_Verlag_Heinz_Weise_de.d64
/
maximal
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
7KB
|
236 lines
0 rem maximal ein spiel von thorsten bartel
1 rem (c) input 64
5 ifpeek(50307)<>120then10
6 poke50257,0
10 printchr$(147)chr$(142)chr$(8):poke53269,0
15 cd$=""
16 gosub9000:
20 dim b(10,10):a=9
60 gosub9650:a$=w$
70 ifa$="1"ora$="2"then80
75 ifa$="1"ora$="2"then80
78 goto60
80 print"[159][147]":print
85 poke53281,2:poke53280,2:poke650,128
90 ifa$="1"then160
100 print"der name vom 1.spieler ";:gosub9500:b1$=ww$
110 print"der name vom 2.spieler ";:gosub9500:b2$=ww$
120 print"[144]danke":fori=1to300:next
130 print"[159][147]":print
160 printspc(a);"[176][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][174]"
162 printspc(a);"[221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221]"
165 fori=1to09
190 printspc(a);"[171][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][179]"
195 printspc(a);"[221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221]"
200 nexti
210 printspc(a);"[173][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][189]"
220 rem fuellen mit zahlen ------------
230 p=1112-40
270 fori=1to 10
272 fori1=1to10
275 gosub400
280 c=p+(i*80)+(i1*2)
290 pokec,a+48:poke54272+c,7
294 ifa>128thena=(a-128)*-1
295 b(i,i1)=a
300 nexti1,i
310 goto500
400 a=int(rnd(1)*9)+1
410 a1=int(rnd(1)*2)+1
420 ifa1=1thenreturn
430 a=a+128:return
440 rem -------------------------------
500 ifa$="2"then 600
504 fori=1to19 :print"";:nexti
510 printspc(1)"ihre"spc(27)"meine"
515 print
520 printspc(1)"punkte"spc(25)"punkte"
530 goto700
600 fori=1to19 :print"";:nexti
610 b1$=left$(b1$,7):b2$=left$(b2$,7)
615 printspc(1)b1$chr$(141)"[145]"spc(32)b2$:print
620 printspc(1)"punkte"spc(25)"punkte"
700 ifa$="1"then750
710 printcd$"[159] "b1$" beginnt ";
720 gosub9650:print"[145] "
730 goto800
750 printcd$"[159] sie beginnen ";
760 gosub9650:print"[145] "
800 rem ------------sprite definition
810 v=53248
820 poke2040,192
830 pokev+39,0
840 pokev+29,1:pokev+23,1
850 pokev,100+32+32
860 pokev+1,137
870 fori=12288to12350:reads:pokei,s:nexti:pokev+21,1
900 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,126,0,0,231,0,1,195,128,1,129
910 data 128,1,129,128,1,129,128,1,195,128,0,231,0,0,126,0,0,60,0,0,0,0,0,0,0,0
920 data 0,0,0,0,0,0,0,0,0
950 ifa$="1"goto1400
999 rem anfang hauptprogramm---------------------------------------------------
1000 gosub 2000 :rem zug moeglich
1010 if ok$="nichts"then goto 8000
1020 gosub 3000 :rem joystick abfrage
1030 ifj1>10thengoto1100 :rem fire
1040 w=1:s=0:gosub4000 :rem sprite bewegen
1050 goto 1020
1100 gosub 2500 :rem pos belegt
1110 if p= 0 then gosub 6000 :goto1020
1120 k1=k1+p
1130 gosub 5000 :rem kontostand anzeigen
1140 gosub 2000
1160 ifs$="nichts"then goto 8000
1180 gosub3000
1190 ifj2>10 then1300
1200 w=0:s=1:gosub4000
1210 goto1180
1300 gosub2500
1310 if p= 0 then gosub 6000 :goto1180
1320 k2=k2+p
1330 gosub5000
1340 goto 1000
1400 rem computer gegen spieler-----------------------------------------------
1410 gosub2000
1420 b1$="sie":b2$="ihr c-64"
1430 ifok$="nichts"goto8000
1440 gosub3000
1450 ifj1>10goto1500
1460 w=1:s=0:gosub4000
1470 goto1440
1500 gosub2500
1510 ifp=0thengosub6000:goto1440
1520 k1=k1+p:gosub5000
1530 gosub2000
1540 ifs$="nichts"goto8000
1550 rem computer strategie ----------------------------------------
1555 i3=0:i4=0:i5=0:i6=0:i8=0:pokev+21,0
1560 fori=1to10
1570 : ifb(i,f)<>0thengosub1600
1575 nexti
1577 fori=1toe:pokev+1,41+(i*16):pokev+21,1:fori1=1to200:nexti1:nexti
1585 fori2=1to10:fori=1to200:nexti:pokev+21,1andnotpeek(v+21):nexti2
1590 k2=k2+b(e,f):gosub5000
1599 goto1410 :rem zurueck zum spieler -----------------------------
1600 fori1=1to10
1605 : i5=b(i,i1)
1610 : ifi5=0then1630
1615 : ifi1=fthen1630
1620 : ifi5>i6theni6=i5
1630 nexti1:gosub1650:i6=0:return
1650 i3=b(i,f)-i6
1660 ifi3>i4theni4=i3:e=i:return
1665 i8=i8+1:ifi8=1theni4=i3:e=i
1670 return
1999 rem ende hauptprogramm - anfang der unterprogramme -----------------------
2000 rem zug moeglich ??? ----------------------------------------------------
2005 e=int(peek(v+1)/16)-2
2010 f=int(peek(v)/16)-4
2020 fori=1to10
2030 ifb(e,i)<>0thenok$="ok":goto2050
2040 nexti:ok$="nichts"
2050 fori=1to10
2060 ifb(i,f)<>0thens$="ok":return
2070 nexti:s$="nichts":return
2500 rem pos belegt ----------------------------------------------------------
2510 e=int(peek(v+1)/16)-2
2520 f=int(peek(v)/16)-4
2540 p=b(e,f):return
3000 rem joystickabfrage - + cursortasten -------------------------------------
3005 getq$
3010 j1=peek(56321):j1=abs(j1-255)
3020 j2=peek(56320):j2=abs(127-j2)
3021 ifq$=chr$(13)thenj1=12:j2=12:return
3022 ifj1<>0thenreturn
3023 ifq$=chr$(157)thenj1=4:return
3024 ifq$=chr$(29)thenj1=8:return
3026 ifq$=chr$(17)thenj2=2:return
3028 ifq$=chr$(145)thenj2=1:return
3030 return
4000 rem sprite bewegen -------------------------------------------------------
4010 ifw=0then 4200
4020 ifj1=4goto4050
4025 ifj1=8goto4030
4027 return
4030 ifpeek(v)<228thenpokev,peek(v)+16
4040 return
4050 ifpeek(v)>96thenpokev,peek(v)-16
4060 return
4200 ifj2=1goto4250
4225 ifj2=2goto4230
4227 return
4230 ifpeek(v+1)<228-32thenpokev+1,peek(v+1)+16
4240 return
4250 ifpeek(v+1)>96-32thenpokev+1,peek(v+1)-16
4260 return
5000 rem kontostand anzeigen --------------------------------------------------
5010 print""cd$" ";
5020 print""cd$" "k1"[145][145]"chr$(141)spc(33)""k2"";
5030 b(e,f)=0
5040 poke1072+(e*80)+(f*2),96
5050 return
6000 rem info ungueltiger zug -------------------------------------------------
6010 print"[144] ungueltiger zug [159] "
6020 fori=1to1000:nexti
6030 print" "
6040 return
8000 rem gewonnen ------------------------------------------------------------
8010 ifk1>k2then goto8100
8020 fori=40to2step-1:poke53280,i:poke53281,i:nexti
8030 print""b2$" hat gewonnen "
8040 gosub9650:pokev+21,0:run
8100 fori=40to2step-1:poke53280,i:poke53281,i:nexti
8105 ifb1$<>"sie"then8110
8106 print" herzlichen glueckwunsch":print:print" sie haben mich
8107 [137]8120
8110 [153]""b1$" hat gewonnen "
8120 [141]9650:[151]v[170]21,0:[138]
8999 [143] eroeffnungsbild ------------------------------------------------------
9000 [151]53280,3 :[151]53281,3
9005 [153]" wait"
9010 [153]" sys wait"
9020 [153]" sys print print sys wait"
9030 [153]" sys print open open print sys wait"
9040 [153]" sys print open list list open print sys wait"
9050 [153]" sys print open list print# print# list open print sys wait"
9060 [153]" sys print open list print# poke poke print# list open print sys wait"
9070 [153]" sys print open list print# poke poke print# list open print sys wait"
9080 [153]" sys print open list print# poke verify verify poke print# list open print sys wait"
9090 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9095 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9097 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9100 [153]" sys print open list print# poke verify stop maxim verify poke print# list open print sys wait"
9110 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9115 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9117 [153]" sys print open list print# poke verify stop verify poke print# list open print sys wait"
9120 [153]" sys print open list print# poke verify verify poke print# list open print sys wait"
9130 [153]" sys print open list print# poke poke print# list open print sys wait"
9140 [153]" sys print open list print# poke poke print# list open print sys wait"
9150 [153]" sys print open list print# print# list open print sys wait"
9160 [153]" sys print open list list open print sys wait"
9170 [153]:[153]"stop druecke 1 fuer einen spieler "
9180 [153]" druecke 2 fuer zwei spieler ";
9300 [142]
9500 [143] eingabestring nach ww$
9510 ww$[178]"":i[178]0:rv$[178][199](18)[170][199](32)[170][199](146)
9520 [153]rv$;
9530 [141]9650
9540 [139]w[178]13[167]9630
9550 [139]w[178]20[167]9610
9555 [139]i[177]6[167]9530
9560 [139]w[178]34[167]9530
9570 [139]w[177]32[175]w[179]96[167]9590
9580 [139]w[179]193[176]w[177]218[167]9530
9590 i[178]i[170]1:ww$[178]ww$[170]w$
9600 [153]"cmd cmd";w$;:[137]9520
9610 [139]i[179]1[167]9530
9620 i[178]i[171]1:ww$[178][200](ww$,i):[137]9600
9630 [153]"cmd "w$;:[142]
9640 [143]--------------------------
9650 [143] auf ein zeichen warten
9660 [151]198,0
9670 [161]w$:[139]w$[178]""[167]9670
9680 w[178][198](w$)
9690 [142]
9700 [143]--------------------------