home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 25 / Tiger_Disk_025_19xx_Tiger-Crew-Disk_de_Side_D.d64 / b.epreis (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  3KB  |  163 lines

  1. 10 poke 53265,peek(53265)and 239
  2. 110 code=7*4096:vars=5*4096+6*256
  3. 111 gr=peek(code+3)+peek(code+4)*256
  4. 112 pg=vars
  5. 114 ps=vars+7
  6. 116 rs=ps+268
  7. 118 as=rs+80+512
  8. 120 es=as+560
  9. 122 pa=es+200
  10. 150 ap=peek(pg+1)
  11. 200 dim r(3),u(3)
  12. 1000 :
  13. 1001 rem bere ***** umweltpreise
  14. 1002 :
  15. 1003 ag=gr
  16. 1005 for z=0 to 8
  17. 1010 bp=0
  18. 1011 bu=0
  19. 1050 for y=0 to 5
  20. 1055 rs=peek(ag+2)
  21. 1060 s=rs and 15
  22. 1065 p=int(rs/16)
  23. 1070 if s<>2 then 1090
  24. 1075 if peek(ps+(p-1)*67+56)=255 then 1090
  25. 1080 u=peek(ag+27)
  26. 1082 r(p-1)=r(p-1)+1
  27. 1083 u(p-1)=u(p-1)+u
  28. 1085 if (u>20) and (bu<u) then bp=p:bu=u: rem !!! dieser player ist besser
  29. 1090 ag=ag+31:next y
  30. 1100 :
  31. 1110 rem ***** uwpverleih
  32. 1120 if bu=0 then 1200
  33. 1124 b=ps+(bp-1)*67+58+z
  34. 1125 poke b,peek(b)+1   : rem ump +1
  35. 1126 ft=69:sys code,22,ft
  36. 1127 poke 53265,peek(53265)and 239
  37. 1128 fp=bp:op=3:gosub 7200
  38. 1140 op=13+2:fp=5+z+1:gosub 7010
  39. 1150 ap=bp:gosub 20000
  40. 1160 k=k+100000:gosub 21000
  41. 1200 next z
  42. 1400 :
  43. 1401 :
  44. 1402 rem **** welche erden ???
  45. 1403 :
  46. 1404 :
  47. 1405 for z=0 to 3
  48. 1406 if r(z)=0 then goto 1499
  49. 1410 ud=u(z)/r(z)
  50. 1415 if ud<0 then goto 1440:rem e5
  51. 1420 if ud<10 then goto 1450:rem e4
  52. 1425 if ud<35 then goto 1460:rem e3
  53. 1430 if ud<60 then goto 1470:rem e2
  54. 1435 goto 1480: rem  e1
  55. 1440 ft=74:fp=z+1:op=3:gosub 7000
  56. 1445 sys code,1,"l.erde3",8
  57. 1447 gosub 50000
  58. 1449 goto 1499
  59. 1450 ft=73:fp=z+1:op=3:gosub 7000
  60. 1455 sys code,1,"l.erde3",8
  61. 1457 gosub 50000
  62. 1459 goto 1499
  63. 1460 ft=72:fp=z+1:op=3:gosub 7000
  64. 1465 sys code,1,"l.erde2",8
  65. 1467 gosub 50000
  66. 1469 goto 1499
  67. 1470 ft=71:fp=z+1:op=3:gosub 7000
  68. 1475 sys code,1,"l.erde1",8
  69. 1477 gosub 50000
  70. 1479 goto 1499
  71. 1480 ft=70:fp=z+1:op=3:gosub 7000
  72. 1485 sys code,1,"l.erde1",8
  73. 1487 gosub 50000
  74. 1489 goto 1499
  75. 1495 :
  76. 1499 next z
  77. 1501 rem ***** check gewinn !
  78. 1502 :
  79. 1510 for z=0 to 3
  80. 1515 ac=0:au=0
  81. 1516 b=ps+z*67+58
  82. 1520 for y=0 to 8
  83. 1525 u=peek(b+y)
  84. 1530 au=au+u
  85. 1535 if u<>0 then ac=ac+1
  86. 1540 next y
  87. 1545 if (ac>4) and (au>19) then 3000
  88. 1560 next z
  89. 2000 z=peek(vars+2):a$="l.city"+str$(z)
  90. 2001 sys code,25,1:sys code,1,a$,8
  91. 3000 :
  92. 3001 rem **** player z hat gewonnen
  93. 3002 :
  94. 3004 rem ** check if compi or play
  95. 3005 :
  96. 3006 :
  97. 3008 p=peek(pg)-1
  98. 3010 if z<=p then 3200
  99. 3100 :
  100. 3101 :
  101. 3102 rem **** compi win
  102. 3103 :
  103. 3105 ft=68:fp=z+1:op=3:gosub 7000
  104. 3106 sys code,9:sys code,1,"l.save",8:sys code,10
  105. 3107 sys code,25,1
  106. 3110 sys code,1,"l.splrzahl",8
  107. 3200 :
  108. 3201 :
  109. 3202 rem **** player win
  110. 3203 :
  111. 3205 ft=67:fp=z+1:op=3:gosub 7000
  112. 3206 sys code,9:sys code,1,"l.save",8:sys code,10
  113. 3207 sys code,25,1
  114. 3210 sys code,1,"l.splrzahl",8
  115. 7000 :
  116. 7001 rem ***** init fax
  117. 7004 sys code,22,ft
  118. 7005 poke 53265,peek(53265)and 239
  119. 7010 if fp>0 then gosub 7200
  120. 7012 sys code,1,"l.fax",8
  121. 7014 sys code,3
  122. 7015 sys code,4,3,4,6
  123. 7020 sys code,7,96,32,10
  124. 7030 sys code,6,3
  125. 7040 sys code,8
  126. 7050 return
  127. 7200 :
  128. 7201 rem insert name
  129. 7205 sys code,4,3,0,0
  130. 7206 sys code,21,fp
  131. 7208 for x=0 to 9
  132. 7210 poke 25344+op+x,peek(1024+x)
  133. 7212 next x
  134. 7250 return
  135. 20000 :
  136. 20001 rem get kontostand
  137. 20002 :
  138. 20005 b=ps+(ap-1)*67+2
  139. 20010 x=peek(b+3) and 128
  140. 20015 k=peek(b+0)
  141. 20020 k=k+peek(b+1)*256
  142. 20025 k=k+peek(b+2)*65536
  143. 20030 k=k+((peek(b+3) and127)*16777216)
  144. 20035 if x=128 then k=-k
  145. 20040 return
  146. 21000 :
  147. 21001 rem store kontostand
  148. 21002 :
  149. 21005 b=ps+(ap-1)*67+2
  150. 21010 x=0:if k<0 then k=k-k-k:x=128
  151. 21020 poke b+3,int(k/16777216)
  152. 21025 k=k-(int(k/16777216)*16777216)
  153. 21030 poke b+2,int(k/65536)
  154. 21035 k=k-(int(k/65536)*65536)
  155. 21040 poke b+1,int(k/256)
  156. 21045 k=k-(int(k/256)*256)
  157. 21050 poke b+0,k
  158. 21055 poke b+3,peek(b+3) or x
  159. 21060 return
  160. 50000 poke2,255
  161. 50010 if peek(2)=255 then 50010
  162. 50020 return
  163.