home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 53 / Tiger_Disk_053_1998-08_Tiger-Crew-Disk_de_Side_C.d64 / armbrust (.txt) next >
Commodore BASIC  |  2023-02-26  |  4KB  |  143 lines

  1. 100 print"[147]            armbrustschiessen"
  2. 105 geta$:ifa$=""goto105
  3. 110 dimz(37),f(37),z1(37),f1(37):poke650,64:poke53281,15:poke53280,2
  4. 115 a$(0)=" [213][219][201][157][157][157]":tm$(1)="000000":tm$(2)="000000"
  5. 120 a$(1)="   [157][157][157][157][213][219][201] [157][157][157][157]"
  6. 125 bi(0)=32:bi(1)=42:sf(0)=15:sf(1)=5:ss(1)=66:ss(0)=32
  7. 130 si=54272:fl=si:fh=si+1:tl=si+2:th=si+3:w=si+4:a=si+5:h=si+6:l=si+24
  8. 135 print"[147]wieviele spieler ( 1 oder 2 ) ?";
  9. 140 getsw$:ifsw$=""then140
  10. 145 sw=val(sw$):ifsw<1orsw>2then140
  11. 150 ifsw=1thenprint"  einer"
  12. 155 ifsw=2thenprint"  zwei"
  13. 160 gosub390:gosub510
  14. 165 gosub485
  15. 170 forrd=1to3:print"augenblick bitte !":gosub220
  16. 175 forsp=1tosw:p=0:k=1
  17. 180 gosub470:gosub600:ti$=tm$(sp):gosub270:tm$(sp)=ti$
  18. 185 gosub485
  19. 190 print"weiter >return< ?"
  20. 195 getw$:ifw$><chr$(13)then195
  21. 200 print"[147]";:next
  22. 205 next
  23. 210 goto640
  24. 215 :
  25. 220 forx=1to36:z1(x)=1:f1(x)=1:next
  26. 225 forx=1to10
  27. 230 y=int(rnd(1)*36+1):ifz1(y)=0then230
  28. 235 z1(y)=0:next
  29. 240 forx=1to36:ifz1(x)=0then265
  30. 245 y=int(rnd(1)*15+1)
  31. 250 ify=2ory=4ory=6ory=8ory=9ory=10ory=14then260
  32. 255 goto245
  33. 260 f1(x)=y
  34. 265 next:return
  35. 270 forx=1to19:print:next
  36. 275 k=abs(k-1):ifk=0thenaa=1:bb=36:cc=1
  37. 280 ifk=1thenaa=36:bb=1:cc=-1
  38. 285 :
  39. 290 forx=aatobbstepcc:print""a$(k);
  40. 295 fory=1tog:next
  41. 300 getx$:ifx$=""then315
  42. 305 gosub325
  43. 310 ifp=26thenreturn
  44. 315 next:printtab(x)a$(abs(k-1));
  45. 320 goto275
  46. 325 rem....schuss
  47. 330 si=54272:pokesi+24,15
  48. 335 pokesi,200:pokesi+1,90
  49. 340 pokesi+5,96:pokesi+4,17
  50. 345 :
  51. 350 print"[196][157][145][144]^";:pu=peek(211):su=su+1
  52. 355 fori=1to17:print"[157] [157][145]^";:fory=1to5:next:pokesi+1,90+y:next:print"[157] ";
  53. 360 pokesi+4,0:gosub430
  54. 365 poke198,0:print""
  55. 370 print"[144]"tab(17);rd;tab(23);su;tab(30)"    [157][157][157][157]"pt
  56. 375 print"";:fori=1to19:print:next:printtab(x+k-1)a$(k);
  57. 380 :
  58. 385 return
  59. 390 si=54272:pokesi+24,15
  60. 395 pokesi,200:pokesi+1,60
  61. 400 pokesi+5,5:pokesi+6,0:pokesi+4,17
  62. 405 fory=1to200:next
  63. 410 fory=1to100:next
  64. 415 pokesi,200:pokesi+1,50
  65. 420 pokesi+5,6:pokesi+6,0:pokesi+4,17
  66. 425 pokesi+4,0:return
  67. 430 rem.....punkte rechnen
  68. 435 ifz(pu-2)=1then450
  69. 440 pt=pt-10
  70. 445 return
  71. 450 ifpu-2>34orpu-2<3thenpt=pt+100:goto460
  72. 455 pt=pt+20
  73. 460 p=p+1:z(pu-2)=0:gosub390
  74. 465 return
  75. 470 rem blumen pro spieler
  76. 475 forx=1to36:z(x)=z1(x):f(x)=f1(x):next
  77. 480 return
  78. 485 remzaehler fuer spieler 1 + 2
  79. 490 su(sp)=su(sp)+su:su=0
  80. 495 pt(sp)=pt(sp)+pt:pt=0
  81. 500 :
  82. 505 return
  83. 510 rem wagl der geschwindigkeit
  84. 515 print"   ";:ifsw=1thenprint"[144]willst du";
  85. 520 ifsw=2thenprint"[144]wollt ihr";
  86. 525 printtab(15)"s[146]chnell"
  87. 530 printtab(15)"n[146]ormal"
  88. 535 printtab(15)"l[146]angsam     [144]spielen ?"
  89. 540 print""tab(7)"anfangsbuchstaben eingeben. ";
  90. 545 getg$:ifg$=""then545
  91. 550 ifg$="s"theng=0:print"s"
  92. 555 ifg$="n"theng=50:print"n"
  93. 560 ifg$="l"theng=100:print"l"
  94. 565 ifg$="l"org$="n"org$="s"then575
  95. 570 goto545
  96. 575 print"[144]  vorname eingeben u. >return< druecken":forn=1tosw
  97. 580 print"  vorname von spieler";n;:inputn$(n)
  98. 585 iflen(n$(n))<3thenprint"[144]name zu kurz[145][145]":goto580
  99. 590 iflen(n$(n))>11thenprint"[144]name zu lang[145][145]":goto580
  100. 595 next:return
  101. 600 rem blumen setzen
  102. 605 print"[147]";:forx=1to36:poke55337+x,f(x):poke1065+x,bi(z(x))
  103. 610 poke55377+x,sf(z(x)):poke1105+x,ss(z(x))
  104. 615 next
  105. 620 forx=1to21:print:next:print" spieler[146]        runde[146] schuss[146] punkte[146]"
  106. 625 print"[144] "n$(sp);tab(17);rd;tab(23);su;tab(30)"    [157][157][157][157]"pt
  107. 630 print"";
  108. 635 return
  109. 640 print"[147]       e r g e b n i s s e "
  110. 645 print""tab(19-len(n$(1)))n$(1);:ifsw=2thenprinttab(34-len(n$(2)))n$(2);
  111. 650 pt$(1)=str$(pt(1)):pt$(2)=str$(pt(2))
  112. 655 print"":print"  punkte"tab(19-len(pt$(1)))pt$(1);
  113. 660 ifsw=2thenprinttab(34-len(pt$(2)))pt$(2);
  114. 665 su$(1)=str$(su(1)):su$(2)=str$(su(2))
  115. 670 print:print"  schuss"tab(19-len(su$(1)))su$(1);
  116. 675 ifsw=2thenprinttab(34-len(su$(2)))su$(2);
  117. 680 print:print"  zeit "tab(10)val(mid$(tm$(1),3,2))"min";
  118. 685 printval(right$(tm$(1),2))"sek";
  119. 690 ifsw<2thenprint:goto700
  120. 695 printtab(26)val(mid$(tm$(2),3,2))"min"val(right$(tm$(2),2))"sek"
  121. 700 ifsw=1then740
  122. 705 sg=1:ifpt(2)>pt(1)thensg=2
  123. 710 ifpt(1)=pt(2)andsu(2)<su(1)thensg=2
  124. 715 tt(1)=val(mid$(tm$(1),3,2))*60+val(right$(tm$(1),2))
  125. 720 tt(2)=val(mid$(tm$(2),3,2))*60+val(right$(tm$(2),2))
  126. 725 ifpt(1)=pt(2)andsu(2)=su(1)andtt(2)<tt(1)thensg=2
  127. 730 print"  "n$(sg)" ist sieger."
  128. 735 :
  129. 740 print"    noch ein spiel (j/n) ?"
  130. 745 geta$:ifa$=""then745
  131. 750 ifa$="j"thenrun
  132. 755 ifa$="n"then765
  133. 760 goto745
  134. 765 print"[147]vielen dank fuers spiel"
  135. 770 if sw=1thenprint"du warst wieder ";
  136. 775 ifsw=2thenprint"ihr wart wieder ";
  137. 780 n=int(rnd(x)*6+1)
  138. 785 nm$(1)="super":nm$(2)="klasse":nm$(3)="eine wucht"
  139. 790 nm$(4)="schnuckelig":nm$(5)="bombig":nm$(6)="ganz hervorragend"
  140. 795 printnm$(n):fora=1to5000:next
  141. 800 geta$:ifa$=""thengoto800
  142. 805 poke631,19:poke632,13:poke633,13:poke198,3:poke650,0:end
  143.