home *** CD-ROM | disk | FTP | other *** search
/ Publication 4 / Publication_04_19xx_High-Tech_de_Side_B.d64 / hotel.main (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  28KB  |  646 lines

  1. 0 d0$="":d1$=d0$+"":restore:a1%=30:gosub1237:printd1$;:fora=1to7:printd$:nexta
  2. 2 deffnjoy(x)=int((log(255.5-(peek(56322-x)or224)))/log(2)+2):d2$=d1$+""
  3. 9 r$=chr$(141):d4$="":poke53280,4:poke53281,4:fora=0to4:readx:ifpeek(51530+a)=xthengw=gw+1
  4. 11 nexta:poke850,.:onabs(gw=5)goto22:print"[147]"left$(d1$,11)tab(15)"[158]loading..."
  5. 13 printd1$"[156]load "chr$(34)"hotel"chr$(34)",8"chr$(141)"run"d1$"[145][145][145]"
  6. 15 poke631,13:poke632,13:poke198,2:end
  7. 22 a=15:b=4:dimka(b),na$(b),gw(7),m$(a+2),zm%(1,a,b),lx%(b,a,b),qm%(1,a,b),wa%(b)
  8. 23 dimar%(5,a,b),gh%(5,a,b),ft%(a,b),da%(b),zi%(b),ko(7),fl%(b),f%(5,b),f$(5)
  9. 24 dimj%(b),kr%(b),mo$(12),sd$(a),r%(15,15),mi%(1,a,b),lx$(7),ar$(5),mi$(1),p%(1)
  10. 25 dimat%(3),am%(3),aj%(3),ao%(3),oa%(3),g(1),ta%(12),sd%(b),hn%(a,b),ba%(a,b)
  11. 28 dima%(5,a,b),b%(5,a,b),wt(a,b):ifpeek(51456)=1thengosub8500:goto140
  12. 40 gosub2010:ms=peek(51457):fora=1toms:forb=0to14:gw=peek(51446+b+15*a)
  13. 60 na$(a)=na$(a)+chr$(gw):nextb,a:fora=1toms:forb=1to10
  14. 70 ifright$(na$(a),1)=chr$(32)thenna$(a)=left$(na$(a),15-b)
  15. 80 nextb,a:fora=52001to52020:pokea,.:nexta
  16. 140 t=peek(51456):poke51456,.:poke53272,48:poke56576,.:poke648,204:onabs(t=.)gosub9350
  17. 500 gosub2950:sa=.:gosub1235:gosub1233
  18. 505 m$(1)="sammlung":m$(2)="bank":m$(3)="automarkt":m$(4)="hotels":gosub1600
  19. 520 m$(5)="]bersicht":m$(6)="reisen":gosub1260:gosub1210:mp=6:w=9:sl=1:gosub1300
  20. 600 onabs(wa=6)goto3000:sa=wa:onwagosub9000,4000,7900,7000,9100:goto505
  21. 1000 print"";:a1%=36:a2%=2:gosub1240:print"";:a1%=18:gosub1237:fora=1to2:print"[158]"d$"[159]"d$
  22. 1030 nexta:print""d4$"[158]"na$(sp):printd4$"in "sd$(s):print""tab(22)"[159]kapital: "
  23. 1080 print"[159]";:a1%=35:a2=ka(sp):gosub1200:printtab(35)"[145].-":printd0$"[144][171]"tab(38)"[179]":return
  24. 1100 a1%=36:a2%=10:fora=1to4:ifgw(a)=.thena2%=a2%-1
  25. 1103 nexta:ifa2%=6thena2%=7
  26. 1104 printd0$;:gosub1240:printd0$"[144][171]"tab(38)"[179]":printd4$"[153] hotel:  existiert";
  27. 1109 ifb2%=.thenprint" nicht";
  28. 1110 print" [146]"r$d4$"[153]";:fora=1to34:print"=";:nexta:printr$;
  29. 1111 printd4$"gr\sse:[145]":b$="insgesamt":fora=0to1:printtab(16)"<> "b$"[158]"
  30. 1115 a1%=15:a2=qm%(a,s,sp):gosub1200:b$="frei":nexta:gosub1230:printtab(24)"[145][159]etagen:[158]  "w%
  31. 1120 printd4$"zimmer:[145]":fora=.to1:printtab(16)""mi$(a)" ^ [159]miete:    .-[158]"
  32. 1130 a1%=35:a2=mi%(a,s,sp):gosub1200:a1%=15:a2=zm%(a,s,sp):gosub1200:nexta
  33. 1145 printd4$"besonderheiten: [159]";:c=0:fora=1to4:ifgw(a)>.thenprinttab(19)"[209] "lx$(a):c=c+1
  34. 1180 nexta:ifc=.thenprint"[150] nichts..."
  35. 1190 return
  36. 1200 printtab(a1%-len(str$(a2)))"[145]"a2:return
  37. 1210 printd1$;:a1%=19:a2%=2:gosub1240:printd1$d4$"[153]heutiges datum:":print""ta%"[157]."mo$(mo)ja%
  38. 1220 print"[144][171]"tab(21)"[179]":return
  39. 1230 w%=1+int((qm%(.,s,sp)+lx%(1,s,sp))/500):return
  40. 1233 gosub1000:gosub1100:return
  41. 1234 gosub3070:gosub3066:return
  42. 1235 print"[147]":sys828:return
  43. 1237 d$="":forb=1toa1%:d$=d$+" ":nextb:return
  44. 1240 gosub1237:printtab(a3%)"[144][176]";:fora=1toa1%:print"[192]";:nexta:print"[174]":fora=1toa2%:printtab(a3%)"[221]"d$"[221]"
  45. 1250 nexta:printtab(a3%)"[173]";:fora=1toa1%:print"[192]";:nexta:print"[189]":a3%=.:return
  46. 1260 printd1$"";:a1%=19:a2%=3:gosub1240:printd1$d4$"[159]n[chste auktion:"
  47. 1265 print""at%(1)"[157]."mo$(am%(1))aj%(1):printd4$"in "sd$(ao%(1)):return
  48. 1285 ifi%>.theni%=i%-1:ifi%=.thenxy%=2:yz%=o%:o%=.:vw%=oa%(1)
  49. 1286 fora=2to3:at%(a-1)=at%(a):am%(a-1)=am%(a):aj%(a-1)=aj%(a)
  50. 1287 ao%(a-1)=ao%(a):oa%(a-1)=oa%(a):nexta:ma=ea:wx=3:gosub2800:return
  51. 1300 ifsl<>1thenm$(mp)="zur]ck"
  52. 1301 fora=1tomp:m$(a)=left$(m$(a)+"          ",w):nexta
  53. 1302 printd2$:fora=1tomp+1:print"[145]";:nexta:print:a1%=w:a2%=mp:a3%=36-w:gosub1240
  54. 1305 printleft$(d2$,len(d2$)-mp-3)"[158]":fora=1tomp-1:printtab(38-w)m$(a):nexta
  55. 1306 printtab(38-w)""m$(mp):printd2$"[158]":w%=mp
  56. 1330 gosub6800:ontgoto1330,1380,1410,1330,1330,1360:goto1330
  57. 1360 sl=.:wa=w%:return
  58. 1380 onabs(w%-1<1)goto1330
  59. 1385 w%=w%-1
  60. 1390 printtab(38-w)"[145][145]"m$(w%):printtab(38-w)"[146]"m$(w%+1)"[145]":goto1330
  61. 1410 onabs(w%+1>mp)goto1330
  62. 1415 w%=w%+1
  63. 1420 printtab(38-w)"[146][145]"m$(w%-1):printtab(38-w)""m$(w%):goto1330
  64. 1450 gosub1235:printd0$"";:a1%=36:a2%=8:gosub1240:printd0$"[153]"tab(11)ta%"[157]."mo$(mo)ja%
  65. 1460 sp=e2%:gosub1470:printtab(3)"[158]meldung f]r "sl$":":return
  66. 1470 sl$=left$(na$(sp),4):ifsl$="herr"thensl$=sl$+"n"
  67. 1475 sl$=sl$+right$(na$(sp),len(na$(sp))-4):return
  68. 1500 printd2$;:a1%=15+len(sl$):a2%=1:gosub1240:w=1:cc=a1%
  69. 1505 printd2$"[158] "sl$"   ja  [146] nein  ":po=53108+len(sl$):p=po
  70. 1515 gosub6800:ontgoto1515,1515,1515,1560,1530:gosub1730:wa=w:return
  71. 1530 onabs(w+1>2)goto1515
  72. 1540 po=po+6:w=w+1:fora=.to5:x=po+a:pokex,peek(x)+128:pokex-6,peek(x-6)-128:next:goto1515
  73. 1560 onabs(w-1<1)goto1515
  74. 1570 po=po+5:w=w-1:fora=.to5:x=po-a:pokex,peek(x)-128:pokex-6,peek(x-6)+128:next:po=p:goto1515
  75. 1600 printd1$"";:gosub1930:fora=1to8:printd$:nexta:printd$"":return
  76. 1650 we=.:printd2$;:a1%=len(sl$)+sl+4:a2%=1:gosub1240:cc=a1%:pp=53108+len(sl$)
  77. 1655 printd2$d4$"[158]"sl$" [159]0[146]";:ifsl>.thenfora=.tosl-1:print"0";:nexta:print""
  78. 1660 p=pp
  79. 1665 gosub6800:ontgoto1665,1684,1694,1714,1704,1724
  80. 1684 w%=peek(pp):ifw%-175=10thenw%=176:goto1688
  81. 1686 w%=w%+1
  82. 1688 pokepp,w%:goto1665
  83. 1694 w%=peek(pp):ifw%-177=-1thenw%=185:goto1698
  84. 1696 w%=w%-1
  85. 1698 pokepp,w%:goto1665
  86. 1704 ifpp+1>p+slgoto1665
  87. 1708 pp=pp+1:pokepp,peek(pp)+128:pokepp-1,peek(pp-1)-128:goto1665
  88. 1714 ifpp-1<pgoto1665
  89. 1718 pp=pp-1:pokepp,peek(pp)+128:pokepp+1,peek(pp+1)-128:goto1665
  90. 1724 pokepp,peek(pp)-128
  91. 1725 fora=0tosl:b=peek((p+sl)-a)-48:we=int(val(str$(we+b*10^a))):nexta:gosub1730:return
  92. 1730 printd2$"";:gosub1930:d$=left$(d$,cc+4):fora=1to2:printd$:nexta:printd$"":return
  93. 1750 printd2$;:a1%=19:a2%=1:gosub1240:cc=a1%
  94. 1760 printd2$tab(5)"[158]nicht m\glich":gosub1993:gosub1730:return
  95. 1800 w=51531+20*b4%:forzz=0to19:printchr$(peek(w+zz));:nextzz:zz=.:print:return
  96. 1850 ifat%(1)<ta%andam%(1)=moandaj%(1)<=ja%thengosub1285:goto1850
  97. 1855 ifam%(1)<moandaj%(1)=ja%thengosub1285:goto1850
  98. 1857 ifaj%(1)<ja%thengosub1285:goto1850
  99. 1860 return
  100. 1870 gosub1930:printd1$"[145][145]";:fora=1to2:printleft$(d$,29):nexta:return
  101. 1910 printd2$;:sl$="kosten":ifzz>.thensl$="gewinn"
  102. 1915 a1%=len(sl$)+len(str$(ko))+5:a2%=1:gosub1240:cc=a1%
  103. 1920 printd2$d4$"[158]"sl$":[159]"ko"[157].-":gosub1993:zz=.:gosub1730:return
  104. 1930 d$="":fora=1to39:d$=d$+"[166]":nexta:return
  105. 1975 gosub1730:printd2$;:a1%=23:a2%=1:gosub1240:da%(sp)=7:wa%(sp)=.
  106. 1980 printd2$d4$"[158]7 tage "m$(16):gosub1993:gosub1235:return
  107. 1993 gosub6800:onabs(t<>6)goto1993:return
  108. 2010 sp=1:s=1:ta%=1:mo=1:ja%=1989:fora=1to4:ka(a)=75000:f%(5,a)=100:da%(a)=1
  109. 2012 sd%(a)=1:forb=1to4:f%(b,a)=10:nextb,a
  110. 2020 fora=1to4:fl%(a)=300+100*a:nexta:us=1.5:qp%=20:zp%=50:zs%=4
  111. 2054 xa=mo:jx=ja%:fora=1to3:ma=-9+10*a:wx=a:gosub2800:nexta
  112. 2060 fora=1to5:readf$(a),ar$(a):ar$(a)=left$(ar$(a)+"    ",11):nexta
  113. 2065 fora=1to7:readlx$(a):nexta:fora=0to1
  114. 2066 mi$(a)=left$(lx$(a+5),6):nexta:fora=1to12:readmo$(a),ta%(a):nexta
  115. 2067 fora=1to15:readsd$(a):nexta:fora=1to15:forb=1to15:readr%(a,b):nextb,a:return
  116. 2069 data 15,46,11,46,50,pan am,portiers,lufthansa,kellner,air france,chefkochs
  117. 2094 data brit.airways,raumpfleger,us-dollar,waschfrauen
  118. 2105 data restaurant,aufz]ge,zimmerservice,reinigung,einzelzi.
  119. 2106 data doppelzi.,insgesamt,januar,31,februar,28,m[rz,31,april,30,mai,31
  120. 2110 data juni,30,juli,31,august,31,september,30,oktober,31,november,30,dezember
  121. 2200 data 31,los angeles,chicago,new york,london,paris,z]rich
  122. 2220 data m]nchen,wien,berlin,prag,moskau,bombay,bangkok,melbourne,tokio
  123. 2230 data 0,-2,-3,11,0,0,0,0,0,0,0,14,12,11,7,-2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-3
  124. 2232 data -1,0,6,0,0,0,0,0,0,0,15,17,15,16,11,0,6,0,-1,-2,-2,-2,-2,-2,-5,-13,-17
  125. 2234 data 15,20,0,0,0,-1,0,-1,-1,-1,-2,-2,-5,-13,-17,0,0,0,0,0,-2,-1,0,-1,-1,-1
  126. 2236 data -1,-4,-12,-16,0,0,0,0,0,-2,-1,-1,0,-1,-1,-1,-4,-12,-16,0,0,0,0,0,-2,-1
  127. 2238 data -1,-1,0,-1,-1,-3,-11,-15,0,0,0,0,0,-2,-2,-1,-1,-1,0,-1,-2,-11,-15,0,0
  128. 2240 data 0,0,0,-2,-2,-1,-1,-1,-1,0,-2,-11,-15,0,0,0,0,0,-5,-5,-4,-4,-3,-2,-2,0
  129. 2242 data -11,-15,0,0,14,0,15,-13,-13,-12,-12,-11,-11,-11,-11,0,4,10,10,12,0
  130. 2244 data 17,-17,-17,-16,-16,-15,-15,-15,-15,4,0,8,7,11,0,15,15,0,0,0,0,0,0,0,10
  131. 2246 data 8,0,10,7,0,16,20,0,0,0,0,0,0,0,10,7,10,0
  132. 2500 printtab(int((40-len(sl$))/2))sl$:return
  133. 2800 ea=ma+9:ifea>30thenma=1:ea=10:xa=xa+1:ifxa=13thenxa=1:jx=jx+1
  134. 2810 at%(wx)=int(rnd(0)*(ea-ma))+ma:am%(wx)=xa
  135. 2815 ifmo=2andwx=3andat%(wx)>28thenat%(wx)=27
  136. 2820 aj%(wx)=jx:ao%(wx)=int(rnd(0)*15)+1:oa%(wx)=int(rnd(0)*20)+1:return
  137. 2900 fora=1to4:lx%(a,s,sp)=gw(a):nexta:hn%(s,sp)=b2%:return
  138. 2950 s=sd%(sp):fora=1to4:gw(a)=lx%(a,s,sp):nexta:b2%=hn%(s,sp):return
  139. 3000 gosub1235:gosub2900:fora=1to15:b$=" ":ifa<>sandr%(s,a)=.thenb$="*"
  140. 3020 m$(a)=b$+sd$(a):nexta:printd1$"";:a1%=17:a2%=2:gosub1240
  141. 3030 printd1$d4$"[158]"na$(sp)r$d4$"[158]in "sd$(s):m$(16)="aufenthalt":mp=17:w=12
  142. 3043 mp=17:w=12:gosub1300:onabs(wa=17)goto500:onabs(wa<16andwa<>s)goto3057
  143. 3052 sl$=m$(16)+" ?":sl=1:gosub1650:onabs(we=.)goto3043:wa%(sp)=.:da%(sp)=we
  144. 3054 gosub3500:goto3144
  145. 3057 ifr%(s,wa)=.goto3043
  146. 3060 da%(sp)=abs(r%(s,wa)):ko=75+da%(sp)*25:wa%(sp)=wa:onabs(ka(sp)-ko>=.)goto3065
  147. 3063 sl$=left$(m$(16),6)+" ?":gosub1500:onabs(wa=2)goto3043:gosub1975:gosub3500:goto3144
  148. 3065 ka(sp)=ka(sp)-ko:zz=.:gosub1910:gosub3500:goto3144
  149. 3066 printd2$"[145][145]";:a1%=36:a2%=2:gosub1240:printd2$d4$"[145][153]"b1$":"na$(b6%)" in"
  150. 3067 printd4$sd$(b1%)" am"b3%"[157]."mo$(b4%)b5%:return
  151. 3070 print"";:a1%=36:a2%=ms*4-1:gosub1240
  152. 3090 print"";:fora=1toms:printd4$""na$(a)"[153]:":q$="( bahn )"
  153. 3093 ifr%(sd%(a),wa%(a))>.thenq$="(schiff)"
  154. 3100 ifwa%(a)=.thenprinttab(3)"[159]"m$(16)"/"sd$(sd%(a)):goto3113
  155. 3110 printtab(29)"[145]"q$r$d4$"[159]reise "sd$(sd%(a))" ^ "sd$(wa%(a))
  156. 3113 printd4$"seit";:ifj%(a)=1thenprint" einem [159]tag";:goto3140
  157. 3114 printj%(a)"[157][159] tagen";
  158. 3140 print" unterwegs    "r$"";:ifa<>msthenforb=1to36:print"-";:nextb:print
  159. 3141 nexta
  160. 3143 return
  161. 3144 b1$="abfahrt":b1%=s:b6%=sp:b3%=ta%:b4%=mo:b5%=ja%:cc=sp+1:ifcc>msthencc=1
  162. 3146 ba%(s,sp)=1:tt%=.:ifwa%(sp)=.thenb1$="aufent."
  163. 3147 gosub1235:gosub1234:onabs(cc>1)goto3154
  164. 3148 gw%=int(rnd(0)*7)+1:ta%=ta%+1:gosub3165:onabs(gw%=1)gosub9700
  165. 3149 onabs(gw%=2)gosub6600:gosub1850:gosub6000
  166. 3151 ifwr%>.thenwr%=wr%-1:onabs(wr%=.)gosub9500
  167. 3154 gosub6700:j%(cc)=j%(cc)+1:fora=1to15:ft%(a,cc)=ft%(a,cc)+1:nexta
  168. 3155 ifj%(cc)=da%(cc)thengosub3090:goto3200
  169. 3156 cc=cc+1:ifcc>msthencc=1:tt%=tt%+1:gosub3090:goto3148
  170. 3163 goto3154
  171. 3165 ifta%>ta%(mo)thenta%=1:mo=mo+1:ew%=3:ifmo=13thenja%=ja%+1:mo=1
  172. 3169 ifew%=3thengosub9350:gosub1235:gosub1234
  173. 3170 ew%=.:return
  174. 3200 sp=cc:j%(sp)=.:ifwa%(sp)<>.thensd%(sp)=wa%(sp)
  175. 3203 b1$="ankunft":b1%=sd%(sp):b6%=sp:b3%=ta%:b4%=mo:b5%=ja%:gosub3066
  176. 3204 gosub1993
  177. 3220 s=sd%(sp):b2%=hn%(s,sp):gosub1235:a1%=36:a2%=1:gosub1240
  178. 3225 print""d4$"[159]  "na$(sp)" in "sd$(s)"  [146]"
  179. 3227 fora=1to7:gw(a)=.:ko(a)=.:nexta
  180. 3230 print:a1%=36:a2%=1:gosub1240:print"";:onabs(ba%(s,sp)<>.)goto3240
  181. 3235 printd4$"erster besuch":ft%(s,sp)=0:gw=.:goto3425
  182. 3240 printd4$"[158]letzter besuch vor";:ifft%(s,sp)=1thenprint" einem tag":goto3250
  183. 3245 printft%(s,sp)"tagen"
  184. 3250 ko(1)=(ar%(2,s,sp)*gh%(2,s,sp)+ar%(3,s,sp)*gh%(3,s,sp))*ft%(s,sp)
  185. 3255 ko(2)=(ar%(1,s,sp)*gh%(1,s,sp))*ft%(s,sp):zi=zm%(.,s,sp)+zm%(1,s,sp)
  186. 3260 ar=.:fora=1to5:ar=ar+ar%(a,s,sp):nexta:ko(4)=ar%(5,s,sp)*gh%(5,s,sp)*ft%(s,sp)
  187. 3270 ko(5)=(ar%(4,s,sp)*gh%(4,s,sp)+(40-s)*zi*s)*ft%(s,sp)
  188. 3273 ko=.:fora=1to5:ko=ko+ko(a):nexta:ko(6)=.:fora=1to7:gw(a)=.:nexta
  189. 3280 onabs(b2%<>.andft%(s,sp)>4andft%(s,sp)<91andzi>.andar>.)goto3310
  190. 3285 a1%=36:a2%=2:gosub1240:printd0$""d4$"[153]";
  191. 3286 ifb2%=.thenprint"sie besitzen in "sd$(s)" kein"r$d4$"hotel.":goto3300
  192. 3287 ifft%(s,sp)<5thenprint"in der kurzen zeit wurden keine"r$d4$"einnahmen gemacht."
  193. 3288 onabs(ft%(s,sp)<5)goto3300
  194. 3289 ifzi=.thenprint"sie haben keine zimmer zu vermie-"r$d4$"ten.":goto3300
  195. 3290 ifar=.thenprint"sie haben kein[160]personal.":goto3300
  196. 3291 print"[159]der direktor ist mit den einnahmen"r$d4$"verschwunden."
  197. 3300 print:ka(sp)=ka(sp)-ko:a1%=36:a2%=2:gosub1240:printd1$"[145][145][145][145]";:ft%(s,sp)=.:gw=.
  198. 3305 printd4$"[154]einnahmen: keine"r$d4$"[150]ausgaben :";:ifko=.thenprint" keine":goto3425
  199. 3306 printko"[157].-":goto3425
  200. 3310 r=1:onabs(lx%(1,s,sp)<20orar%(2,s,sp)=.orar%(3,s,sp)=.)goto3330
  201. 3315 t=int(s/4+.9)*(1.8+.8*(s>4ands<9)+1.1*(s>8ands<13)+1.25*(s>12))
  202. 3319 r=r+int(lx%(1,s,sp)/50+.9):gw=(ar%(2,s,sp)+ar%(3,s,sp))/lx%(1,s,sp)+.7
  203. 3322 gw(1)=int((ar%(2,s,sp)/ar%(3,s,sp))*lx%(1,s,sp)*ft%(s,sp)*gw*s*12*t)
  204. 3323 ifar%(2,s,sp)>ar%(3,s,sp)*2orgw<.9thengw(1)=int(gw(1)*.6)
  205. 3324 ko(1)=ko(1)+lx%(1,s,sp)*ft%(s,sp)*25*s:ifgw>1.2thengw(1)=int(gw(1)/2)
  206. 3330 gosub1230:onabs(lx%(2,s,sp)=.orar%(1,s,sp)=.)goto3345:gw=ar%(1,s,sp)
  207. 3331 ifgw>lx%(2,s,sp)thengw=lx%(2,s,sp)
  208. 3333 r=r+gw:ifar%(1,s,sp)>=lx%(2,s,sp)thenr=r+1
  209. 3345 ko(2)=ko(2)+100*lx%(2,s,sp)*ft%(s,sp)*s
  210. 3350 onabs(lx%(3,s,sp)=.orar%(2,s,sp)=.orar%(3,s,sp)=.)goto3360:gw=zi/ar%(2,s,sp)
  211. 3355 gw(3)=int(gw*(rnd(0)*(180+110*s)+(240+130*s))*ft%(s,sp)*s)
  212. 3356 r=r+2:ko(3)=(7+15*s)*ar%(2,s,sp)*ft%(s,sp)*s:ifgw>2thengw(3)=int(gw(3)*.75)
  213. 3360 onabs(lx%(4,s,sp)=.orar%(5,s,sp)=.)goto3370:gw=zi/ar%(5,s,sp):a=ft%(s,sp)
  214. 3365 gw(4)=int(gw*(rnd(0)*(100+50*s)+(150+50*s))*a*s)
  215. 3366 ko(4)=ko(4)+100*ft%(s,sp)*s:r=r+2:ifgw>2orgw<1.2thengw(4)=int(gw(4)/2)
  216. 3370 ifzi/2>ar%(4,s,sp)thenr=int(r/2+.9)
  217. 3371 forc=.to1:ifzm%(c,s,sp)>.theng(c)=int((rnd(0)*zm%(c,s,sp)+3)*r/4)
  218. 3372 gosub6500:ifmi%(c,s,sp)/(45+(3-4*s>10)*s*(c+1))>w%theng(c)=int(g(c)/.75+.9)
  219. 3375 nextc:a1%=36:a2%=2:gosub1240:printd0$d4$"[158]  ihre g[ste:  [146]":fora=.to1
  220. 3381 t=int(rnd(0)*(ft%(s,sp)/2)+1+ft%(s,sp)/2)
  221. 3382 printtab(22)"[145][153]"mi$(a)": [159]"g(a)""
  222. 3383 gw(a+5)=mi%(a,s,sp)*g(a)*t:nexta
  223. 3387 a1%=36:a2%=11:gosub1240:gw(7)=.:ko(7)=.
  224. 3390 printd0$""tab(11)"-- [154]einnahmen - [150]ausgaben --"
  225. 3395 fora=1to7:ifa=7thenprintd4$;:forb=1to34:print"[153]=";:nextb:print:goto3400
  226. 3397 ko(7)=ko(7)+ko(a):gw(7)=gw(7)+gw(a)
  227. 3400 printd4$"[153]"left$(lx$(a)+"    ",10)":"spc(9)"[154].-"spc(9)"[150].-[154]"
  228. 3405 a1%=23:a2=gw(a):gosub1200:print"[150][145]":a1%=34:a2=ko(a):gosub1200:nexta
  229. 3410 a$="[154]gewinn ":gw=gw(7)-ko(7):ifgw<.thena$="[150]verlust"
  230. 3420 printd4$a$":"abs(gw)"[157].-"
  231. 3425 ifkr%(sp)>.thenzi%(sp)=int(kr%(sp)*zs%/100)*(int(da%(sp)/30)+1)
  232. 3430 ka(sp)=ka(sp)+gw-zi%(sp):da%(sp)=.:ft%(s,sp)=.:gosub1993:goto500
  233. 3500 ford=1to5:gw=((10*(d-6)*-1)+(us>3)*-10)*s
  234. 3510 onabs(gw<=gh%(d,s,sp)orar%(d,s,sp)=.)goto3565:gosub3600:onabs(wa=2)goto3565
  235. 3560 gh%(d,s,sp)=gw
  236. 3565 nextd
  237. 3595 return
  238. 3600 ifgh%(d,s,sp)=.thena%(d,s,sp)=d:b%(d,s,sp)=s:wa=2:return
  239. 3605 e2%=sp:gosub1450
  240. 3607 printtab(7)"[153]ihre "ar$(d)" fordern"
  241. 3610 printtab(5)"eine gehaltserh\hung auf"gw"[157].-"
  242. 3620 printtab(5)"[153]stimmen sie zu ?     ja  [146] nein ":po=52768:w=1:p=po:gosub1515
  243. 3630 ifwa=2thena%(d,s,sp)=d:b%(d,s,sp)=s
  244. 3640 return
  245. 3800 fora=1toms:na$(a)=left$(na$(a)+"         ",15):forb=1to15
  246. 3810 cc=asc(mid$(na$(a),b,1)):poke51446+b+15*a,cc:nextb,a
  247. 3900 return
  248. 4000 gosub1235:gosub1000:gosub4005:gosub4020:goto4030
  249. 4005 printd0$;:a1%=23:a2%=7:gw=a3%:gosub1240:a3%=gw
  250. 4007 printd0$""tab(7+a3%)"[153] aktienkurse [146]":printtab(7+a3%);
  251. 4008 fora=1to13:print"-";:nexta:printr$"[145]"
  252. 4010 fora=1to5:printtab(a3%)d4$"[159]"f$(a):printtab(a3%+15)"[145]:"spc(6)".-"
  253. 4015 a1%=22+a3%:ifa=5thena2=us:goto4017
  254. 4016 a2=fl%(a)
  255. 4017 gosub1200:nexta:return
  256. 4020 printd0$;:a1%=12:a2%=7:a3%=24:gosub1240:printd0$tab(25)"[144][178][157][177]"
  257. 4021 printd0$"[171]"tab(38)"[179]":printtab(28)"[153] besitz [146]":printtab(28);
  258. 4022 fora=1to8:print"-";:nexta:print
  259. 4023 fora=1to5:printtab(33)"[153]stk.":a1%=32:a2=f%(a,sp):gosub1200
  260. 4024 nexta:a3%=0:return
  261. 4030 gosub1600:gosub4130:m$(1)="ankauf":m$(2)="verkauf":m$(3)="kredite":mp=4
  262. 4040 w=8:gosub1300:ifwa=4thengosub1235:gosub1233:return
  263. 4050 gw=wa:sl$=m$(gw)+" ?":ongwgosub4060,4060,4170
  264. 4055 goto4030
  265. 4060 fora=1to5:m$(a)=f$(a):nexta:mp=6:w=12
  266. 4065 gosub1300:ifwa=6thenreturn
  267. 4070 w=us:ifwa<5thenw=fl%(wa)
  268. 4090 sl=3:gosub1650:onabs(we=.)goto4060
  269. 4100 ifgw=2thenwe=we*-1
  270. 4103 iff%(a,sp)+we>32000orf%(wa,sp)+we<0thengosub1750:goto4090
  271. 4104 ko=w*we:ka(sp)=ka(sp)-ko:f%(wa,sp)=f%(wa,sp)+we
  272. 4107 gosub1000:gosub4020:ifgw=2thenko=abs(ko):zz=1
  273. 4110 gosub1910:return
  274. 4130 printd1$;:a1%=19:a2%=3:gosub1240
  275. 4135 printd1$d4$"[158]kredit  :"spc(6)".-[153]"
  276. 4140 a1%=18:a2=kr%(sp):gosub1200:printd4$"[158]zinssatz:"spc(6)" %[153]"
  277. 4150 a2=zs%:gosub1200:printd4$"[158]zinsen  :"spc(6)".-[153]"
  278. 4160 a2=zi%(sp):gosub1200:return
  279. 4170 gosub1600:gosub4130:m$(1)="tilgen":m$(2)="aufnehmen":w=9:mp=3
  280. 4180 gosub1300:ifwa=3thenreturn
  281. 4190 sl$=m$(wa)+" ?"
  282. 4193 sl=4:gosub1650:onabs(we=.)goto4180
  283. 4195 ifwa=1thenwe=we*-1
  284. 4197 ifkr%(sp)+we>32000orkr%(sp)+we<0thengosub1750:goto4180
  285. 4210 ka(sp)=ka(sp)+we:kr%(sp)=kr%(sp)+we:gosub1000:printd0$tab(25)"[144][178]"
  286. 4220 gosub4130:goto4180
  287. 6000 ifxy%=.thenreturn
  288. 6010 e2%=yz%:gosub1450:fs%=b4%
  289. 6020 ifxy%=2thenwg=25000*vw%+5000*int(rnd(0)*5+1)
  290. 6030 printd4$"[153]ihr ";:b4%=vw%:gosub1800:printtab(28)"[145]wurde f]r"
  291. 6035 print""wg"[157].- verkauft.":ka(yz%)=ka(yz%)+wg
  292. 6040 gosub1993:gosub1235:gosub1234:xy%=.:b4%=fs%:return
  293. 6500 w%=.:forb=1to4:ifgw(b)>.thenw%=w%+1
  294. 6510 nextb:return
  295. 6600 ford=1toms:onabs(ka(d)>-150000)goto6640:s=.:gw=.:ww=.:pp=.
  296. 6605 s=s+1:iff%(s,d)>.thenka(d)=ka(d)+f%(s,d)*fl%(s):f%(s,d)=.:gw=gw+1
  297. 6607 onabs(ka(d)<-150000ands<4)goto6605
  298. 6608 fs%=.:fort=1to15:ifhn%(t,d)=1thenfs%=fs%+1
  299. 6610 nextt:onabs(ka(d)>-150000orfs%<2orpp=15)goto6617
  300. 6615 pp=pp+1:onabs(pp=sd%(d))goto6608:s=pp:sp=d:zz=2:b2%=hn%(s,sp):gosub7845:goto6608
  301. 6617 onabs(gw=.andww=.)goto6640
  302. 6620 e2%=d:gosub1450:printd4$"[159]sie verkauften wegen bankrotts:"
  303. 6625 ifgw>.thenprintd4$"[209] einige ihrer aktien"
  304. 6630 ifww>.thenprintd4$"[209]"ww"ihrer hotels"
  305. 6635 sa=1:gosub1993:gosub1235:gosub1234
  306. 6640 nextd:return
  307. 6700 iftt%=2thenreturn
  308. 6705 h=.:ford=1to5:c=sd%(cc):e3%=a%(d,c,cc):e1%=b%(d,c,cc)
  309. 6707 onabs(e1%>.ande3%>.)gosub6710:nextd:ifh=1thengosub1235:gosub1234
  310. 6708 return
  311. 6710 e2%=cc:gosub1450:gosub9770:a%(d,c,cc)=.:b%(d,c,cc)=.:e3%=.:e1%=.:gosub1993:h=1:return
  312. 6800 t=fnjoy(2):ift<>1thenreturn
  313. 6805 t=.:geta$:ifa$="[145]"thent=2:return
  314. 6810 ifa$=""thent=3:return
  315. 6815 ifa$="[157]"thent=4:return
  316. 6817 ifa$=""thent=5:return
  317. 6820 ifa$=chr$(13)thent=6:return
  318. 6825 t=1:return
  319. 7000 gosub1600:m$(1)="grundst]ck":m$(2)="mietpreise":m$(3)="personal"
  320. 7020 m$(4)="besonderes":m$(5)="verkauf":mp=6:w=10:ifb2%=1thenm$(1)="erweitern"
  321. 7090 gosub1300:ifwa=6thenreturn
  322. 7100 onwagosub7125,7350,7450,7570,7845:goto7000
  323. 7125 ifb2%=1thengosub7223:return
  324. 7130 gosub1600:printd1$;:a1%=26:a2%=3:gosub1240:printd1$d4$"[153]der kauf des "m$(1)"s"
  325. 7140 ko=45000+5000*s:printd4$"kostet in "sd$(s)r$""ko"[157].-"
  326. 7150 ifka(sp)=ko<.thengosub1730:return
  327. 7160 sl$=m$(1)+" ok. ?":gosub1500:ifwa=2thenreturn
  328. 7200 ka(sp)=ka(sp)-ko:wt(s,sp)=ko/2:fora=.to1:qm%(a,s,sp)=300:next:b2%=1:gosub1233:return
  329. 7223 gosub1600:g(.)=.:g(1)=.
  330. 7225 printd1$;:a1%=25:a2%=3:gosub1240
  331. 7227 printd1$d4$"[153]<>-preis:"spc(6)".-":pq%=20+int(s*qp%/2)
  332. 7230 m$(1)="<> kaufen":a1%=18:a2=pq%:gosub1200:fora=.to1:m$(a+2)=lx$(a+5)
  333. 7235 p%(a)=200+zp%*s*(a+1):printd4$"[153]"m$(a+2)"[157][157].:"spc(6)".- "5+15*(a+1)"[157][157][157][157]=<>"
  334. 7237 a2=p%(a):gosub1200:nexta
  335. 7238 mp=4:w=9:gosub1300:onabs(wa=4)goto7325:onwagoto7260,7280,7280
  336. 7255 :
  337. 7260 sl$="wieviel <> ?":sl=3:gosub1650:onabs(we=.)goto7238
  338. 7263 ifqm%(.,s,sp)+we>2000thengosub1750:goto7238
  339. 7265 ko=we*pq%:ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+int(ko/2):fora=0to1
  340. 7270 qm%(a,s,sp)=qm%(a,s,sp)+we:nexta:gosub1230:gosub1233:zz=.:gosub1910:goto7238
  341. 7275 :
  342. 7280 sl$=mi$(wa-2)+"zimmer ?":sl=2:gosub1650:onabs(we=.)goto7238
  343. 7283 w%=wa-2:ifqm%(1,s,sp)-we*(5+15*(w%+1))<.thengosub1750:goto7238
  344. 7285 qm%(1,s,sp)=qm%(1,s,sp)-we*(5+15*(w%+1))
  345. 7287 zm%(w%,s,sp)=zm%(w%,s,sp)+we:g(w%)=g(w%)+we
  346. 7290 ko=p%(w%)*we:ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+int(ko/2):gosub1230:gosub1233
  347. 7295 gosub1910:goto7238
  348. 7320 :
  349. 7325 fs%=g(0)*8+g(1)*9:iffs%=.thenreturn
  350. 7326 gosub1600:a2=.:qf=qm%(1,s,sp):qf=qf-fs%:ifqf<.thena2=a2-qf:qf=.
  351. 7327 printd1$;:ifa2>0thenprint"[145]";
  352. 7328 a1%=25:a2%=3:gosub1240:printd1$"";:ifa2>0thenprint"[145]";
  353. 7329 printd4$"[158]meldung:"
  354. 7330 printd4$"[153]sie mu_ten noch"spc(5)"<>":printd4$"[153]f]r flure anlegen"
  355. 7331 gw=a2:a1%=22:a2=fs%:print"[158][145][145]":gosub1200:print
  356. 7332 a2=gw:ifa2=.thenprinttab(25)"[145].":goto7335
  357. 7333 print"[144][221] [153]und     <> dazu kaufen. [144][221]":print"[173]";:fora=1to25:print"[192]";:nexta:print"[189]"
  358. 7334 a1%=10:print"[158][145][145]":gosub1200:gosub6500:ifw%=4thenprintd1$"[145][144][171]"tab(27)"[178]"
  359. 7335 ko=a2*pq%:qm%(.,s,sp)=qm%(.,s,sp)+a2:qm%(1,s,sp)=qf
  360. 7337 ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+int(ko/2)
  361. 7340 ifko=.thengosub1993:goto7343
  362. 7341 gosub1910
  363. 7343 onabs(w%<4)gosub1870:gosub1600:gosub1233:return
  364. 7350 gosub1600
  365. 7353 printd1$"";:a1%=21:a2%=2:gosub1240:printd1$;"":sl$="miete ?"
  366. 7355 fora=0to1:printd4$"[153]"left$(sl$,6)mi$(a)":    .-":m$(a+1)=lx$(a+5)
  367. 7360 a1%=20:a2=mi%(a,s,sp):gosub1200:nexta:mp=3:w=9
  368. 7370 gosub1300
  369. 7375 ifwa=3thengosub1100:return
  370. 7380 sl=2:gosub1650:onabs(we=.)goto7370
  371. 7383 mi%(wa-1,s,sp)=we
  372. 7390 goto7353
  373. 7400 printd1$"[145][145]";:a1%=22:a2%=5:b$="    stk. ":ifgw=3thenb$="     .- ":a1%=21
  374. 7405 gosub1240:printd1$"[145]";:gosub6500
  375. 7406 onabs(w%<3)goto7409
  376. 7407 printd1$"[145][145][144][171]"tab(a1%+2);:ifw%=3thenprint"[178]":goto7409
  377. 7408 print"[171][145]"
  378. 7409 fora=1to5:printd4$"[153]"ar$(a)"[159]:"b$
  379. 7410 a2=ar%(a,s,sp):ifgw=3thena2=gh%(a,s,sp)
  380. 7420 a1%=18-(gw>2)*2:gosub1200:nexta:return
  381. 7450 gosub1600
  382. 7460 m$(1)="einstellen":m$(2)="entlassen":m$(3)="geh[lter":mp=4
  383. 7470 w=10:gosub1300:ifwa=4thenreturn
  384. 7475 c$=m$(wa)+" ?":fora=1to5:m$(a)=ar$(a):nexta:mp=6:gw=wa:ongwgosub7500,7500,7530
  385. 7490 gosub1870:gosub1600:gosub6500:onabs(w%>2)gosub1100:goto7460
  386. 7500 gosub7400:sl$=c$
  387. 7505 w=11:gosub1300:ifwa=6thenreturn
  388. 7510 sl=1:gosub1650:ifgw=2thenwe=we*-1
  389. 7513 onabs(we=.)goto7505:gw%=.:forc=1to4:gw%=gw%+ar%(wa,s,sp):nextc
  390. 7514 ifar%(wa,s,sp)+we<0orgw%+we>180thengosub1750:goto7505
  391. 7515 ko=abs(we)*10*(gw-1):ar%(wa,s,sp)=ar%(wa,s,sp)+we
  392. 7520 ka(sp)=ka(sp)-ko:ifko>.thengosub1910:gosub1000
  393. 7525 goto7500
  394. 7530 gosub7400
  395. 7533 w=11:gosub1300:ifwa=6thenreturn
  396. 7540 sl$="tagesgehalt ?":sl=2:gosub1650:onabs(we=.)goto7533
  397. 7545 gh%(wa,s,sp)=we:goto7530
  398. 7570 ifb2%=.thenreturn
  399. 7575 gosub1600:fora=1to4:m$(a)=lx$(a):nexta:mp=5:w=13:gosub1300:ifwa=5thenreturn
  400. 7595 onabs(lx%(wa,s,sp)>.andwa=4)goto7575
  401. 7600 sl$=lx$(wa)+" ok. ?":onwagosub7610,7700,7760,7800:goto7575
  402. 7610 ifgw(1)>.goto7640
  403. 7611 gosub1600:printd1$;:a1%=19:a2%=3:gosub1240:printd1$d4$"[153]die einrichtung"
  404. 7615 printd4$"eines "lx$(1)"s":printd4$"kostet:"spc(8)".-[158]":ko=25000+5000*s
  405. 7620 a1%=18:a2=ko:gosub1200:gosub1500:ifwa=2thenreturn
  406. 7630 ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+ko/2:gw(1)=20:gosub1233:return
  407. 7640 gosub1600
  408. 7643 printd1$"";:a1%=21:a2%=2:gosub1240:printd1$d4$"[153]gr\sse des restau-"
  409. 7645 printd4$"rants"spc(5)"<>.[158]":a1%=12:a2=gw(1):gosub1200
  410. 7650 m$(1)="erweitern":m$(2)="verkleinern":mp=3:w=11:gosub1300:ifwa=3thenreturn
  411. 7660 sl=2:sl$=m$(wa)+" ?":gosub1650:ifwe=.goto7650
  412. 7670 ifwa=2thenwe=we*-1
  413. 7675 ko=(40+s*qp%)*we:ifgw(1)+we<.orgw(1)+we>200orka(sp)-ko<.thengosub1750:goto7643
  414. 7677 ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+int(ko/2)
  415. 7685 gw(1)=gw(1)+we:gosub1000:zz=abs(wa=2):ko=abs(ko):gosub1910:goto7643
  416. 7700 gosub1600
  417. 7705 printd1$"";:a1%=30:a2%=2:gosub1240
  418. 7710 printd1$d4$"[153]ein aufzug kostet:"spc(8)".-[158]":a2=10000+5000*s:a1%=29
  419. 7715 gosub1200:printd4$"[153]sie besitzen bereits [158]"gw(2)"stk."
  420. 7717 ifgw(2)=4thengosub1993:return
  421. 7720 sl$=lx$(wa)+" ?":sl=.:gosub1650:ifwe=.thenreturn
  422. 7730 ko=a2*we:k=ko:ifgw(2)+we>4orko>ka(sp)thengosub1750:goto7705
  423. 7740 ka(sp)=ka(sp)-k:wt(s,sp)=wt(s,sp)+ko/2:gw(2)=gw(2)+we:gosub1233:gosub1910:goto7705
  424. 7760 gosub1600:printd1$;:a1%=25:a2%=3:gosub1240
  425. 7765 printd1$d4$"[153]"lx$(3)":":printd4$"[153]"ar$(2)":";:ifar%(2,s,sp)=.thenprint"keine":gosub1993:return
  426. 7770 printar%(2,s,sp):ko=(7+15*s)*ar%(2,s,sp):printd4$"kosten pro tag:"ko"[157].-"
  427. 7785 ifgw(3)=1thengosub1993:return
  428. 7790 gosub1500:ifwa=2thenreturn
  429. 7795 gw(3)=1:ka(sp)=ka(sp)-ko:gosub1233:return
  430. 7800 gosub1600:printd1$;:a1%=17:a2%=3:gosub1240:printd1$d4$"[153]die einrichtung"
  431. 7810 printd4$"einer "lx$(4)
  432. 7830 printd4$"kostet"spc(7)".-[158]":ko=10000+5000*s:a1%=16:a2=ko:gosub1200
  433. 7835 gosub1500:ifwa=2thenreturn
  434. 7840 gw(4)=1:ka(sp)=ka(sp)-ko:wt(s,sp)=wt(s,sp)+ko/2:gosub1233:return
  435. 7845 ifb2%=.thenreturn
  436. 7858 ko=wt(s,sp):onabs(zz=2)goto7863:gosub1600
  437. 7860 printd1$"";:a1%=31:a2%=1:gosub1240:printd1$d4$"[158]wert ihres hotels:"spc(9)".-"
  438. 7862 a1%=30:a2=ko:gosub1200:sl$=left$(m$(5),8)+"ok.?":gosub1500:ifwa=2thenreturn
  439. 7863 fora=sptosp:hn%(s,sp)=.:e1%=s:fs%=.:gosub9910:nexta:ka(sp)=ka(sp)+ko:wt(s,sp)=.
  440. 7865 ww=ww+1:ifzz<>2thengosub2950:gosub1235:gosub1233:zz=1:gosub1910
  441. 7880 return
  442. 7900 ifat%(1)<>ta%oram%(1)<>mooraj%(1)<>ja%ors<>ao%(1)thengosub9280:return
  443. 7905 gosub1235:print"";:a1%=36:a2%=7:gosub1240
  444. 7906 print"[153]";:sl$=" auf dem "+m$(3)+" von "+sd$(s)+": ":gosub2500
  445. 7908 print"";:fora=1to36:print"-";:nexta
  446. 7910 printr$d4$"[158]es steht zum verkauf:"r$d4$;:b4%=oa%(1):gosub1800
  447. 7911 pr=20000*oa%(1)+10000*int(rnd(0)*3+1):p1=pr
  448. 7913 printr$d4$"neupreis:"p1"[157].-":cc=.
  449. 7914 d=1:fs%=int(rnd(0)*18)+1
  450. 7915 onabs(d=4)goto7985:printr$d1$"[145][145][145][145][145][145]";:a1%=36:a2%=3:gosub1240
  451. 7916 printd1$d4$"[145][145][145][145][145][159]letztes gebot von ";:ifcc=1thengosub1470:printsl$:goto7918
  452. 7917 print"fsh"
  453. 7918 printd4$"[158]gebot   :"pr"[157].- zum"d"[157]."
  454. 7921 printd4$"[159]";:ifcc=.thenprintna$(sp):goto7923
  455. 7922 print"fsh"
  456. 7923 printtab(18)"[145]:";:a=.:ifka(sp)<prandcc=.thenprint"[157] ist pleite !":goto7999
  457. 7925 a=a+1:print".";
  458. 7927 ifcc=1andfs%>15thenforw=1to50:nextw:goto7935
  459. 7928 gosub6800:onabs(t=6andcc=0ora=fs%andcc=1)goto7970
  460. 7935 ifa=18thend=d+1:goto7915
  461. 7949 goto7925
  462. 7970 pr=pr+5000:ifcc=1thencc=.:goto7914
  463. 7980 cc=1:goto7914
  464. 7985 printd1$"[145][145][145][145][145][145]";:a1%=36:a2%=3:gosub1240:printd1$"[145][145][145][145][145][145]"
  465. 7987 w=.:printd4$"[153]das automobil ";:b4%=oa%(1):gosub1800:a1%=25:gosub1237
  466. 7990 printd4$"[153]wurde von ";:ifcc=.thenprint"fsh gekauft.":goto7999
  467. 7991 gosub1470:printsl$" gekauft."r$d4$"[153]preis:"pr"[157].-":ka(sp)=ka(sp)-pr
  468. 7992 a=int(rnd(0)*5)+1:ifpeek(52000+oa%(1))=spthena=1:goto7996
  469. 7993 ifpeek(52000+oa%(1))=.thenpoke52000+oa%(1),sp:goto7999
  470. 7994 onabs(a<5)goto7996:a1%=17:gosub1237:print"[144][221] [159]das auto wurde von"d$
  471. 7995 print"[145]"tab(22)sl$tab(38)"[144][221]":a1%=25:gosub1237:print"[221] [159]gestohlen."d$tab(38)"[144][221]":goto7998
  472. 7996 print"[144][221] [159]ein irrer klaute ihr auto und bau- [144][221]"
  473. 7997 print"[221] [159]te einen  unfall:  totalschaden... [144][221]"
  474. 7998 print"[144][173]";:fora=1to36:print"[192]";:nexta:print"[189]"
  475. 7999 cc=.:fora=1to20:ifpeek(52000+a)=.thencc=cc+1
  476. 8000 nexta:onabs(cc=.)goto8010
  477. 8001 gosub1285:goto9260
  478. 8010 print"[147]":poke53280,0:poke53281,0:fora=55496to55535:pokea,1:nexta
  479. 8020 fora=55738to55775:pokea,1:nexta:poke53272,21:poke56576,151:poke648,4:gosub3800
  480. 8030 printd1$"[144]load"chr$(34)"hotel.victory"chr$(34)",8"chr$(141)"run[145][145][145][145][145][145][145][145]"
  481. 8040 poke631,13:poke632,13:poke198,2:poke51456,255:end
  482. 8500 onabs(peek(51456)=1)gosub2060:ifpeek(51456)=.thensl$="sichern ?":gosub1500:ifwa=2thenreturn
  483. 8530 printd2$"[145]";:a1%=20:a2%=2:gosub1240:printd2$d4$"[158]diskette  einlegen":gosub1993
  484. 8535 onabs(peek(51456)=1)goto8617
  485. 8541 open1,8,15,"i":print#1,"m-r"chr$(250)chr$(2)chr$(3):get#1,a$,d$,d$
  486. 8542 a=asc(a$+chr$(0))+256*asc(d$+chr$(0)):close1
  487. 8543 ifa<30thensl$="disk full":gosub8700:gosub1993:goto8500
  488. 8544 printd2$d4$"saving game ...   ":open4,8,4,"@:hotel...by 'fsh',s,w"
  489. 8545 gosub8680:ifgw<>.thengosub1993:gosub8800:close1:close4:goto8500
  490. 8546 print#4,ta%:print#4,mo:print#4,ja%:print#4,ms:print#4,wr%
  491. 8547 print#4,sp:fora=1to4:print#4,fl%(a):nexta:print#4,us:print#4,zs%:print#4,qp%:print#4,zp%
  492. 8548 print#4,ea:print#4,wx:print#4,xa:print#4,ma:print#4,jx:fora=52001to52020:print#4,peek(a):nexta
  493. 8550 print#4,i%:print#4,o%:print#4,xy%:print#4,yz%:print#4,vw%:print#4,wg
  494. 8555 fora=1to3:print#4,at%(a):print#4,am%(a):print#4,aj%(a):print#4,oa%(a):print#4,ao%(a):nexta
  495. 8566 fora=1toms:print#4,na$(a):print#4,ka(a):print#4,wa%(a):print#4,sd%(a)
  496. 8567 print#4,da%(a):print#4,j%(a):print#4,kr%(a):forb=1to5:print#4,f%(b,a):nextb,a
  497. 8575 fora=1to15:forb=1toms:forc=0to1:print#4,qm%(c,a,b):print#4,zm%(c,a,b)
  498. 8580 print#4,mi%(c,a,b):nextc
  499. 8585 forc=1to4:print#4,lx%(c,a,b):nextc
  500. 8590 forc=1to5:print#4,ar%(c,a,b):print#4,gh%(c,a,b):print#4,a%(c,a,b):print#4,b%(c,a,b):nextc
  501. 8600 print#4,ft%(a,b):print#4,ba%(a,b):print#4,hn%(a,b):print#4,wt(a,b)
  502. 8605 nextb,a:close4:close1:gosub8680:close1:gosub1993:gosub1600:return
  503. 8617 printd2$d4$"loading game ...   "
  504. 8620 open4,8,4,"hotel...by 'fsh',s,r":gosub8680:ifgw<>0thengosub1993:close4:close1:goto8500
  505. 8625 input#4,ta%,mo,ja%,ms,wr%,sp:fora=1to4:input#4,fl%(a):nexta:input#4,us,zs%,qp%,zp%
  506. 8627 input#4,ea,wx,xa,ma,jx:fora=52001to52020:input#4,d:pokea,d:nexta
  507. 8629 input#4,i%,o%,xy%,yz%,vw%,wg
  508. 8635 fora=1to3:input#4,at%(a),am%(a),aj%(a),oa%(a),ao%(a):nexta
  509. 8645 fora=1toms
  510. 8646 input#4,na$(a),ka(a),wa%(a),sd%(a),da%(a),j%(a),kr%(a)
  511. 8647 forb=1to5:input#4,f%(b,a):nextb,a
  512. 8655 fora=1to15:forb=1toms:forc=0to1:input#4,qm%(c,a,b),zm%(c,a,b),mi%(c,a,b):nextc
  513. 8660 forc=1to4:input#4,lx%(c,a,b):nextc
  514. 8665 forc=1to5:input#4,ar%(c,a,b),gh%(c,a,b),a%(c,a,b),b%(c,a,b):nextc
  515. 8670 input#4,ft%(a,b),ba%(a,b),hn%(a,b),wt(a,b):nextb,a:close4:close1
  516. 8675 gosub8680:close1:ifgw<>0thengosub1993:goto8500
  517. 8677 gosub8800:return
  518. 8680 open1,8,15:input#1,gw,sl$,c,d
  519. 8700 printd2$d4$""sl$
  520. 8720 return
  521. 8800 gosub1930:d$=left$(d$,22):ifpeek(51456)=1thena1%=23:gosub1237
  522. 8810 printd2$"[145]";:forcc=1to4:printd$:nextcc:print"":return
  523. 9000 gosub1235:a1%=36:a2%=21:gosub1240
  524. 9005 gosub1470:print""d4$"[153] "m$(1)" von "sl$": [146]"
  525. 9010 ww=.:fora=1to20:onabs(peek(52000+a)<>sp)goto9030:printd4$"[158]#[154]";:ifa<10thenprint" ";
  526. 9016 printa":";:b4%=a:gosub1800:ww=ww+1
  527. 9030 nexta:m$(1)="verkauf":mp=2:w=7
  528. 9035 gosub1300:onabs(ww=.andwa=1)goto9035:onabs(wa=2)goto9060
  529. 9037 sl$="wagennummer ?":sl=1
  530. 9040 gosub1650:ifwe<1orwe>20orpeek(52000+we)<>spthengosub1750:goto9060
  531. 9050 oa%(3)=we:i%=3:o%=sp:poke52000+we,.                               
  532. 9060 gosub1235:gosub1233:return
  533. 9100 gosub2900:sd%(sp)=s:gosub1600:m$(1)="speichern":m$(2)="hotels"
  534. 9105 m$(3)="autom[rkte":mp=4
  535. 9110 w=10:gosub1300:ifwa=4thenreturn
  536. 9120 gw=.5:onwagosub8500,9130,9280:goto9110
  537. 9130 gosub1235:print"":a1%=36:a2%=18:gosub1240
  538. 9140 printd0$d4$"[159]stadt"spc(9)"ez   dz [145]personal/[159][157][157][157]sterne"
  539. 9150 print"";:fora=1to36:print"=";:nexta:print:fora=1to15:ifa=sthenprint"";
  540. 9155 print"[159]";:ifhn%(a,sp)=1thenprint"";
  541. 9160 printd4$left$(sd$(a)+"       ",11)":[158]"
  542. 9170 forb=.to1:a1%=19+5*b:a2=zm%(b,a,sp):gosub1200:nextb:b=1:a2=0
  543. 9190 a2=a2+ar%(b,a,sp):b=b+1:onabs(b<6)goto9190
  544. 9195 a1%=30:gosub1200
  545. 9240 w%=0:printtab(32)"[145][159]";:forb=1to4:iflx%(b,a,sp)<>0thenprint"*";:w%=w%+1
  546. 9245 nextb:ifw%=0thenprint"----";
  547. 9250 print:nexta
  548. 9260 gosub1993:gosub1235:gosub1233:return
  549. 9280 gosub1235:printd0$;:a1%=36:a2%=13:gosub1240:printd0$tab(14)"[159] "m$(3)": [146]"
  550. 9283 printtab(14);:fora=1to12-(gw=.5):print"-";:nexta:print:forb=1to3
  551. 9285 printd4$"[153]"b"[157].)termin:[159]":a1%=17:a2=at%(b):gosub1200:printtab(17)"[145]."mo$(am%(b))aj%(b)
  552. 9290 printtab(10)"[158]ort:[159] "sd$(ao%(b)):printtab(4);:ifi%=bthenprint"";
  553. 9295 b4%=oa%(b):gosub1800:print
  554. 9300 nextb:goto9260
  555. 9350 in=int(rnd(0)*35)-10:in=in+in%:in%=.
  556. 9360 gosub1235:print"":a1%=36:a2%=1:gosub1240
  557. 9363 print""d4$"[158]  preise im "mo$(mo)ja%"[157]  [146]"
  558. 9365 fora=1to4:b=in/100:fl%(a)=fl%(a)+fl%(a)*b+(10-fl%(a))*abs(fl%(a)<10)
  559. 9370 nexta:qp%=qp%+qp%*b+(10-qp%)*abs(qp%<10)
  560. 9371 zp%=zp%+zp%*b+(10-zp%)*abs(zp%<10):us=us*100:us=us+int(us*b):us=us/100
  561. 9372 zs%=zs%+zs%*b+(5-zs%)*abs(zs%<5)
  562. 9373 ifqp%>50thenqp%=50
  563. 9375 ifzp%>75thenzp%=75
  564. 9378 ifzs%>9thenzs%=9
  565. 9380 ifus<.5thenus=.5
  566. 9387 a3%=8:gosub4005:print:a1%=23:a2%=5:a3%=8:gosub1240
  567. 9390 printd1$"[145][145]"tab(11)"[153]zinssatz"spc(4)":"spc(7)"%[158]":a1%=30:a2=zs%:gosub1200
  568. 9395 printtab(11)"[153]inflation   :"spc(7)"%[158]":a2=in:gosub1200
  569. 9400 printtab(12)"[153]<>-zuschlag:"spc(7)"%[158]":a2=qp%:gosub1200
  570. 9410 printtab(11)"[153]zi.-zuschlag:"spc(7)"%[158]":a2=zp%:gosub1200:print
  571. 9415 wr%=.:fora=1to4:iffl%(a)>1000thenwr%=wr%+1
  572. 9417 nexta:ifus>3.1thenwr%=wr%+1
  573. 9420 gosub1993:return
  574. 9500 gosub1235:printd0$"":a1%=36:a2%=6:gosub1240:printd0$"";
  575. 9505 printtab(10)"[158]   geldentwertung   [146]":printtab(10);:fora=1to20:print"=";:nexta
  576. 9510 printr$tab(13)"[153]geldwert  2:5":in=-40:gosub1993
  577. 9520 gosub1235:print"":a1%=36:a2%=1:gosub1240:print""d4$"[158]    neue preise:   [146]"
  578. 9605 gosub9365:ka(sp)=int(ka(sp)/5):gosub1235:gosub1234:return
  579. 9700 gosub1235:printd0$"":a1%=36:a2%=10:gosub1240:ko=.:printd0$"[153]";
  580. 9705 a$=str$(ta%)+"."+mo$(mo)+str$(ja%):printtab((39-len(a$))/2)a$"[158]"
  581. 9710 e%=int(rnd(0)*20)+1:e1%=int(rnd(0)*15)+1:e2%=int(rnd(0)*ms)+1:sp=e2%
  582. 9715 onabs(e%>11)goto9730
  583. 9720 one%gosub9760,9890,9920,9950,9960,9980,9990,10110,10170,10180,10190:goto9740
  584. 9730 one%-11gosub10200,10213,10230,10240,10250,10280,10130,10130,10130
  585. 9737 onabs(ko=.)goto9740:sl$="kosten"+str$(abs(ko))+".-":gosub2500:ka(e2%)=ka(e2%)-ko
  586. 9740 gosub1993:gosub1235:gosub1234:return
  587. 9760 e3%=int(rnd(0)*5)+1
  588. 9770 sl$="unruhen in "+sd$(e1%)+".":gosub2500:ifar%(e3%,e1%,e2%)=.thenreturn
  589. 9800 print"[159]";:sl$="die "+ar$(e3%):gosub2500:gosub1470:sl$="von "+sl$+" streiken !"
  590. 9810 gosub2500:ar%(e3%,e1%,e2%)=.:return
  591. 9890 sl$="feuer in "+sd$(e1%)+".":gosub2500
  592. 9900 printtab(8)"[159]alle hotels brannten ab!":fora=1toms:fs%=1
  593. 9910 forc=.to1:zm%(c,e1%,a)=.:qm%(c,e1%,a)=.:nextc
  594. 9915 forc=1to4:lx%(c,e1%,a)=.:nextc
  595. 9917 iffs%=1thenfs%=.:nexta
  596. 9918 return
  597. 9920 printtab(14)"lottogewinn:[159]"
  598. 9930 gw=15000+1000*int(rnd(0)*10+1):sl$=na$(sp)+" erh[lt"+str$(gw)+".-":gosub2500
  599. 9940 ka(e2%)=ka(e2%)+gw:return
  600. 9950 sl$="rowdies in "+sd$(e1%)+".":gosub2500:e3%=int(rnd(0)*2+1)-1
  601. 9951 ifzm%(e3%,e1%,e2%)=.thenreturn
  602. 9952 printd4$"[159]sie zerst\rten alle "mi$(e3%)"zimmer":gosub1470:sl$="bei "+sl$+" !"
  603. 9955 gosub2500:qm%(1,e1%,e2%)=qm%(1,e1%,e2%)+zm%(e3%,e1%,e2%)*(5+15*e3%)
  604. 9956 zm%(e3%,e1%,e2%)=.:return
  605. 9960 ifwa%(e2%)=.goto9990
  606. 9962 r=r%(sd%(e2%),wa%(e2%)):a$="schiffsungl]ck:[159]":ifr<.thena$="  zugungl]ck:[159]"
  607. 9965 gw=int(abs(r)/2+1):printtab(12)a$:sl$=na$(sp)+" ist"+str$(gw)+" tage l[nger"
  608. 9970 gosub2500:printtab(15)"unterwegs.":da%(e2%)=da%(e2%)+gw:return
  609. 9980 printtab(11)"steuerr]ckzahlung:":goto9930
  610. 9990 sl$="katastrophe in "+sd$(e1%)+".":gosub2500
  611. 10010 e3%=int(rnd(0)*4)+1:iflx%(e3%,e1%,e2%)=.thenreturn
  612. 10015 gosub1470:sl$="bei "+sl$+":":gosub2500:print"[159]":one3%gosub10020,10040,10060,10080
  613. 10017 ife3%<>3thenlx%(e3%,e1%,e2%)=.:return
  614. 10020 printd4$"es gab einen grossbrand in ihrem":printtab(14)lx$(1)" !":return
  615. 10040 printtab(5)"ein aufzug wurde zerst\rt, als":printtab(8)"die  stahlseile  rissen.":return
  616. 10060 return
  617. 10080 printtab(5)"eine explosion  zerst\rte ihre":printtab(15)"reinigung.":return
  618. 10100 gosub1470:sl$="schenkung f]r "+sl$+":":gosub2500:goto9930
  619. 10110 sl$="zechpreller in "+sd$(e1%)+".":gosub2500:ifhn%(e1%,e2%)=.thenreturn
  620. 10120 gosub1470:sl$="er w]tete bei "+sl$+" !":gosub2500:ko=10000+1000*int(rnd(0)*10+1)
  621. 10125 return
  622. 10130 ifpeek(850)>.goto10110
  623. 10135 ko=10000+1000*int(rnd(0)*5+1):sl$=na$(sp)+" kaufte ein klavier":gosub2500
  624. 10140 poke850,1:return
  625. 10150 printtab(14)"b\rsenkrach:":printtab(7)"[159]alles f[llt um die h[lfte."
  626. 10160 gosub1993:gosub1235:printd0$"[145]";:in=-50:gosub9365:return
  627. 10170 onabs(ar%(1,e1%,e2%)<2)goto10190:gosub1470:sl$="an "+sl$+":":gosub2500
  628. 10173 sl$="zwei "+ar$(1)+" wurden in "+sd$(e1%):gosub2500
  629. 10175 ko=2*50:e1%:printtab(14)"pensiooiert.":ar%(1,e1%,e2%)=ar%(1,e1%,e2%)-2:return
  630. 10180 ifhn%(e1%,e2%)=.goto10200
  631. 10183 ko=5000*e1%:sl$="reparaturen in "+sd$(e1%)+".":gosub2500:return
  632. 10190 printtab(8)"inflationsberuhigung....":in%=in%-1:return
  633. 10200 printd4$"steigerung der inflation erwartet":in%=in%+1:return
  634. 10210 printtab(6)"fehler ihres b\rsenmaklers:":printtab(11)"[159]sie verlieren alle":return
  635. 10213 e3%=int(rnd(0)*4)+1:onabs(f%(e3%,e2%)=.)goto10240:gosub1470:sl$="an "+sl$+":"
  636. 10214 gosub2500:gosub10210:sl$=f$(e3%)+"-aktien.":gosub2500:f%(e3%,e2%)=.:return
  637. 10230 ko=15000+1000*int(rnd(0)*5+1):gosub1470:printtab(8)"steuernachforderung f]r"
  638. 10235 gosub2500:return
  639. 10240 printtab(11)"aktienspekulationen:":goto9930
  640. 10250 onabs(hn%(e1%,e2%)=.)goto10213:sl$="brand in "+sd$(e1%)+".":gosub2500
  641. 10260 gosub1470:sl$="das hotel von "+sl$:gosub2500
  642. 10270 printtab(14)"brannte aus.":fora=e2%toe2%:fs%=1:gosub9910:return
  643. 10280 gosub1470:sl$="meldung f]r "+sl$+":":gosub2500:printtab(8)"ihr b\rsenmakler kaufte:[159]"
  644. 10285 e3%=int(rnd(0)*4+1):f%(e3%,e2%)=f%(e3%,e2%)+10
  645. 10290 sl$="10 "+f$(e3%)+"-aktien":gosub2500:ko=10*fl%(e3%):return
  646.