home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Rockford Magazine
/
Rockford_Magazine_022_19xx_-_de_Disk_2_of_4_Side_B.d64
/
hausbau-simu
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
16KB
|
325 lines
2 poke53280,6:poke53281,1:print"[147][144]";tab(6);"############################"
4 printtab(6);"#### ####"
6 printtab(6);"#### construction co. ####"
8 printtab(6);"#### ####"
10 printtab(6);"#### by b.w.behling ####"
12 printtab(6);"#### ####"
14 printtab(6);"#### public domain 1984 ####"
16 printtab(6);"#### ####"
18 printtab(6);"############################"
20 printtab(9);" hit any key to start [144]"
22 getk$:ifk$=""then22
24 print"[145] how many houses will you build? (1-5)"
26 getk$:ifk$=""then26
28 ifasc(k$)<49orasc(k$)>53then26
30 hn=val(k$):print"[147]"
32 dimma(11,3),ma$(11,2):fori=1to11:ma(i,3)=0:nexti
34 sc=1024:cl=55296:wp=70:da=0:ho=1:ca=35000:la=35000+(35000*.12):ld=30
36 fori=1to11:readma(i,1):readma(i,2):nexti
38 fora=1to11:forb=0to2:readma$(a,b):nextb:nexta
40 print"[147]":poke53280,4:poke53281,0:gosub100:gosub510:goto800
100 print"";tab(27);"day hours":print"";tab(27);da;tab(33);hc
102 printtab(27);"$";ca:printtab(27);"workers";wo:printtab(27);"materials"
104 print:fori=1to11:printtab(27);ma$(i,0);ma(i,3):nexti:return
150 tr=tr-249:ontrgoto160
152 ifda=1thenreturn
154 msg$=" your materials were stolen overnight!!":gosub510
156 gosub500:print"":fors=1to11:printtab(33);" "
158 ma(s,3)=0:nexts:gosub100:gosub190:goto604
160 msg$="[145] you were arrested for bribing a ":gosub510:gosub500
164 msg$=" building inspector. no work today!":gosub500:gosub190:goto600
190 ford=1to2000:nextd:return
200 deffnrn(va)=(.01)*int(rnd(0)*va)
202 fori=1to11:ma(i,0)=ma(i,1)+fnrn(ma(i,2)):nexti:forp=1to11
204 print""
206 ifma(p,0)<ma(p,1)+((ma(p,2)*.01)/2)then210
208 print"i have ";ma$(p,1);" @ $";ma(p,0);"[157] ";ma$(p,2):goto212
210 print"[159]i have ";ma$(p,1);" on sale @ $";ma(p,0);"[157] ";ma$(p,2)
212 input"how many do you want";qu
214 ifqu<0thenp=11:goto228
216 ifqu+ma(p,3)<=99999then220
218 msg$=" you don't have room for that much!! ":gosub510:gosub500:goto224
220 ifqu*ma(p,0)<=cathen226
222 msg$=" you can't afford that! ":gosub510:gosub500
224 gosub190:gosub510:goto204
226 ma(p,3)=ma(p,3)+qu:pp=ma(p,0)*qu:ca=ca-pp:ca=.01*int(ca*100)
228 gosub350:gosub100:gosub510:nextp:return
250 print"":fore=1tom:print:nexte
252 printtab(33);" ":gosub100:ifm=1thenm=2:goto250
254 hd=int(hr/wo):ifhd>hcthenhc=hd:gosub100
256 ifhr<qtthenreturn
258 hr=0:ca=ca-(70*wo):msg$=" work finished for today. crew paid.":gosub500
260 gosub350:gosub190:hc=0:gosub600:return
300 msg$=" how much? 1=$15000 2=$30000 3=$45000 ":gosub500:ld=da+30
302 getk$:ifk$=""then302
304 ifasc(k$)<49orasc(k$)>51then302
306 la=15000*val(k$):ca=ca+la:la=la+(la*.12):gosub510
350 ca=.01*int(ca*100)
352 printchr$(19);"";tab(27);" ";"[157][157][157][157][157][157][157][157][157][157][157][157]$";ca:return
400 msg$=" you are bankrupt!!!! ":gosub500:gosub190
402 print"[147][144]":poke53281,1:goto936
500 print"";msg$:return
510 fori=840to1000:pokesc+i,160:pokecl+i,5:nexti:return
600 da=da+1:print"";tab(27);da;tab(33);hc
602 tr=int(rnd(0)*250)+1:iftr>248thengoto150
604 gosub510:ifda<>ldthen610
606 msg$=" your loan is due today.":gosub500:gosub190:gosub510
608 ca=ca-la:la=0:ld=0:gosub350
610 ifca<=0thengoto400
612 ifla<>0 or ca>4999then620
614 msg$=" do you want to take a loan? ":gosub510:gosub500
616 getk$:ifk$=""then616
618 ifk$="y"thengosub510:gosub300
620 gosub510:msg$=" how many workers do you need today? ":gosub500
622 msg$=" enter number. (1-9) ":gosub500
624 getk$:ifk$=""then624
626 ifasc(k$)<49orasc(k$)>57then624
628 wo=val(k$):qt=wo*8:print"";tab(34);wo:gosub510
630 msg$=" do you need materials? ":gosub500
632 getk$:ifk$=""then632
634 ifk$="y"thengosub510:gosub200
636 gosub510:msg$=" work in progress. ":gosub500:return
700 gosub250:print" you ran out of materials!!"
702 print" crew was paid and sent home after";hc;"[157] hrs":ca=ca-(70*wo):hc=0
704 gosub350:hr=0:gosub190:gosub600:return
800 gosub600:bu=0:hr=0
802 bu=bu+10:ma(1,3)=ma(1,3)-10:ma(2,3)=ma(2,3)-8:hr=hr+.1:m=1
804 ifma(1,3)<0 or ma(2,3)<0thengosub700
806 ifbu<100thengosub250:goto802
808 bu=0:readx:readz:ifx=-1thenbu=0:hr=qt:goto812
810 pokesc+x,z+200:pokecl+x,9:gosub250:goto802
812 msg$=" brick finished!":gosub510:gosub500:gosub190:m=3:goto816
814 lu=lu+3:ma(3,3)=ma(3,3)-3:ifma(3,3)<0thengosub700
816 gosub250:iflu=6thenlu=0:hr=hr+1.5
818 readx:readz:ifx=-1thenlu=0:hr=qt:goto822
820 pokesc+x,z:pokecl+x,7:goto814
822 msg$=" frame finished!":gosub510:gosub500:gosub190:m=4:goto826
824 sh=sh+2:ma(4,3)=ma(4,3)-2:ifma(4,3)<0thengosub700
826 gosub250:ifsh<10then824
828 sh=0:hr=hr+1:readx:readz:ifx=-1thensh=0:hr=qt:goto832
830 pokesc+x,z:pokecl+x,11:goto824
832 msg$=" roof finished!":gosub510:gosub500:gosub190:m=5:goto836
834 m=5:pi=pi+3:ma(5,3)=ma(5,3)-3:ifma(5,3)<0thengosub700
836 gosub250
838 m=6:ma(6,3)=ma(6,3)-7:ifma(6,3)<0thengosub700
840 gosub250:hr=hr+1:ifpi<499then834
842 pi=0:hr=qt:msg$=" plumbing & wiring finished!":gosub510:gosub500
844 gosub190:m=3:goto848
846 lu=lu+3:ma(3,3)=ma(3,3)-3:ifma(3,3)<0thengosub700
848 gosub250:iflu=6thenlu=0:hr=hr+1
850 readx:ifx=-1then858
852 pokesc+x,160:pokecl+x,7:goto846
854 lu=lu+3:ma(3,3)=ma(3,3)-3:ifma(3,3)<0thengosub700
856 gosub250:iflu=6thenlu=0:hr=hr+1
858 readx:readz:ifx=-1thenlu=0:hr=qt:goto862
860 pokesc+x,z:pokecl+x,7:goto854
862 msg$=" sides finished!":gosub510:gosub500:gosub190:m=7:goto866
864 pl=pl+3:ma(7,3)=ma(7,3)-3:ifma(7,3)<0thengosub700
866 gosub250:hr=hr+.5:ifpl<799then864
868 msg$=" plastering finished!":gosub510:gosub500:pl=0:hr=qt
870 gosub190:m=8:goto874
872 hr=hr+1.5:ma(8,3)=ma(8,3)-1:ifma(8,3)<0thengosub700
874 gosub250
876 fort=1to3:readx:readz:ifx=-1thent=0:hr=qt:goto880
878 pokesc+x,z:pokecl+x,1:nextt:goto872
880 msg$=" windows finished!":gosub510:gosub500:gosub190:m=3:goto884
882 hr=hr+.5:ma(3,3)=ma(3,3)-4:ifma(3,3)<0thengosub700
884 gosub250:readx:ifx=-1then888
886 pokesc+x,35:pokecl+x,1:goto882
888 msg$=" fence finished!":gosub510:gosub500:gosub190:m=9:gosub636
890 hr=hr+2:ma(9,3)=ma(9,3)-1:ifma(9,3)<0thengosub700
892 gosub250:readx:readz:ifx=-1then896
894 pokesc+x,z:pokecl+x,8:goto890
896 m=10:gosub636
898 ifma(10,3)<=0thengosub700
900 hr=hr+.25:gosub250:readx:readz:ifx=-1then904
902 pokesc+x,z:pokecl+x,8:goto900
904 ma(10,3)=ma(10,3)-1:gosub250:msg$=" doors finished!":gosub510
906 gosub500:gosub190:m=2:hr=qt:goto910
908 hr=hr+1.5:ma(2,3)=ma(2,3)-10:ifma(2,3)<0thengosub700
910 gosub250:readx:ifx=-1thenhr=qt:goto914
912 x=x+810:pokesc+x,160:pokecl+x,12:goto908
914 msg$=" sidewalk finished!":gosub510:gosub500:gosub190:gosub250:m=11:co=13
916 pa=pa+1:ifma(11,3)<0thengosub700
918 readx:ifx=-1thenco=co+1:ifco=15then924
920 pokecl+x,co:ifpa<5then916
922 hr=hr+4:ma(11,3)=ma(11,3)-1:gosub250:pa=0:goto916
924 ho=ho+1:ca=ca+50000:gosub350:ifho>hnthen934
926 msg$="[145] house finished!!":gosub510:gosub500
928 msg$=" hit any key to start next house.":gosub500
930 getk$:ifk$=""then930
932 restore:goto36
934 print"[147]":poke53281,1:print"";tab(6);"[144]you finished the contract!!"
936 ca=ca-la:ca$=str$(ca):ifval(ca$)<0then944
938 printtab(4);"after paying your debts you made:"
940 printtab(19-int(len(ca$)/2));"$";ca$
942 printtab(11);"congratulations!!!":goto950
944 printtab(7);"too bad you owe the bank:"
946 printtab(19-int(len(ca$)/2));"$";ca$
948 printtab(5);"and had to retire in disgrace."
950 print"";tab(8);"[144]press [f1] to play again"
952 getk$:ifk$=""then952
954 ifk$="[133]"thenrun2
956 end
1000 rem ***** data starts *****
1002 data.15,60,.10,25,1.5,200,1.5,200,2,300,.2,30,.09,15,60,4500
1004 data75,5000,300,20000,10,1000,"brick","bricks","each","cemnt"
1006 data"cement","per lb.","wood ","boards","ea.","shing"
1008 data"shingles","ea.","pipes","pipe","each","wire ","wire"
1010 data"per ft.","plstr","plaster","per lb.","windw","windows"
1012 data"each","doors","doors","each","g.dr.","ga. doors","ea."
1014 data"paint","paint","gallon",801,42,802,41,803,42,804,41,805
1016 data42,806,41,807,42,808,41,809,42,810,41,814,41,815,42,823
1018 data42,824,41,825,42,826,41,761,41,762,42,763,41,764,42,765
1020 data41,766,42,767,41,768,42,769,41,770,42,774,42,775,41,783
1022 data41,784,42,785,41,786,42,721,42,722,41,723,42,724,41,725
1024 data42,726,41,727,42,728,41,729,42,730,41,734,41,735,42,743
1026 data42,744,41,745,42,746,41,681,41,682,42,683,41,684,42,641
1028 data42,642,41,643,42,644,41,601,41,602,42,603,41,604,42,561
1030 data42,562,41,563,42,564,41,521,41,522,42,523,41,524,42,481
1032 data42,482,41,483,42,484,41,441,41,442,42,443,41,444,42,401
1034 data33,402,41,403,42,404,23,362,42,363,41,322,41,323,42,282
1036 data42,283,41,242,41,243,42,202,42,203,41,162,41,163,42,122
1038 data42,123,41,82,41,83,42,42,42,43,41,2,41,3,42,-1,-1,771
1040 data101,773,103,731,101,691,101,651,101,611,101,733,103,693
1042 data103,653,103,613,103,571,79,572,119,573,80,776,101,736,101
1044 data696,101,656,101,616,101,782,103,742,103,702,103,662,103
1046 data622,103,576,79,577,119,578,119,579,119,580,119,581,119
1048 data582,80,681,76,641,101,601,101,561,101,521,101,481,101,682
1050 data111,683,111,684,111,685,111,686,111,687,111,688,111,689
1052 data111,690,111,531,101,491,101,694,111,695,76,655,76,615,76
1054 data575,76,535,101,495,101,481,79,482,119,483,119,484,119,485
1056 data119,486,119,487,119,488,119,489,119,490,119,491,79,492
1058 data119,493,119,494,119,682,76,642,101,602,101,562,101,522
1060 data101,482,79,690,76,650,79,610,79,570,79,530,101,490,79,602
1062 data76,603,111,604,111,605,111,606,111,607,111,608,111,609
1064 data122,569,103,529,80,522,79,523,119,524,119,525,119,526,119
1065 data527,119,528,119,683,76,643,101,684,76,644,101,685,76,645
1066 data101,686,76,646,101,687,76,647,101,688,76,648,101,689,76
1068 data649,101,641,79,601,79,561,79,521,79,481,79,482,79,483,79
1070 data484,79,485,79,486,79,487,79,488,79,489,79,532,101,492,79
1072 data533,101,493,79,534,76,494,79,654,111,614,111,574,111,703
1074 data122,704,122,705,122,706,122,663,103,623,103,583,103,664
1075 data103,624,103,584,103,665,103,625,103,585,103,666,103,626
1076 data103,586,103,546,80,545,80,544,80,543,80,542,80,541,80,540
1078 data80,539,80,538,80,537,80,536,80,535,79,441,101,401,101,361
1080 data101,321,101,281,101,241,101,454,101,414,101,374,101,334
1082 data101,294,101,254,101,240,119,241,79,242,119,243,119,244
1083 data119,245,119,246,119,247,119,248,119,249,119,250,119,251
1084 data119,252,119,253,119,455,101,415,101,375,101,335,101,295
1086 data101,255,101,215,101,502,103,462,103,422,103,382,103,342
1088 data103,302,103,262,103,222,103,215,79,216,119,217,119,218
1090 data119,219,119,220,119,221,119,222,80,498,101,458,101,418
1091 data101,378,101,338,101,298,101,258,101,218,79,499,103,459
1092 data103,419,103,379,103,339,103,299,103,259,103,219,80,496
1094 data101,501,103,456,101,461,103,416,76,417,122,420,76,421,122
1096 data376,101,377,103,380,101,381,103,336,101,337,103,340,101
1098 data341,103,296,79,297,80,300,79,301,80,256,101,261,103,216
1099 data79,221,80,454,79,414,79,374,79,334,79,294,79,254,79,442
1100 data101,402,101,362,101,322,101,282,101,242,79,441,79,401,79
1102 data361,79,321,79,281,79,282,79,283,119,284,119,285,119,286
1104 data119,287,119,288,119,289,119,290,119,291,119,292,119,293
1106 data80,333,103,373,103,413,122,412,111,411,111,410,111,409
1107 data111,408,111,407,111,406,111,405,111,404,111,403,111,402
1108 data76,445,101,405,76,365,101,325,101,285,79,245,79,446,101
1110 data406,76,366,101,326,101,286,79,246,79,447,101,407,76,367
1112 data101,327,101,287,79,247,79,448,101,408,76,368,101,328,101
1114 data288,79,248,79,449,101,409,76,369,101,329,101,289,79,249
1115 data79,450,101,410,76,370,101,330,101,290,79,250,79,451,101
1116 data411,76,371,101,331,101,291,79,251,79,325,76,326,76,327,76
1118 data328,76,329,76,330,76,495,79,496,79,497,119,498,79,499,80
1120 data500,119,501,80,502,80,458,79,459,80,418,79,419,80,378,79
1122 data379,80,338,79,339,80,298,79,299,80,255,79,256,79,257,119
1123 data258,79,259,80,260,119,261,80,262,80,178,76,179,122,138,79
1124 data139,80,177,79,180,80,137,79,140,80,98,79,99,80,176,79,181
1126 data80,59,77,100,77,141,77,182,77,223,77,58,78,97,78,136,78
1128 data175,78,214,78,45,77,86,77,127,77,168,77,209,77,44,78,83
1130 data78,122,78,161,78,200,78,5,100,6,100,7,100,8,100,9,100,10
1132 data100,11,100,12,100,13,100,14,100,15,100,16,100,17,100,18
1134 data100,51,77,92,77,133,77,174,77,50,78,89,78,128,78,167,78
1136 data206,78,55,77,96,77,54,78,93,78,132,78,171,78,210,78,48,77
1138 data89,86,130,77,171,86,212,77,47,78,86,86,125,78,164,78,203
1140 data78,200,233,201,160,202,160,203,160,204,160,205,160,206
1142 data160,207,160,208,160,209,160,210,160,211,160,212,160,213
1144 data160,214,105,161,233,162,160,163,160,164,160,165,160,166
1146 data160,167,160,168,160,169,160,170,160,171,160,172,160,173
1148 data160,174,160,175,105,122,233,123,160,124,160,125,160,126
1150 data160,127,160,128,160,129,160,130,160,131,160,132,160,133
1151 data160,134,160,135,160,136,105,83,233,84,160,85,160,86,160
1152 data87,160,88,160,89,160,90,160,91,160,92,160,93,160,94,160
1154 data95,160,96,160,97,105,44,233,5,32,45,160,6,32,46,160,7,32
1156 data47,160,8,32,48,160,9,32,49,160,10,32,50,160,11,32,51,160
1158 data12,32,52,160,13,32,53,160,14,32,54,160,15,32,55,160,16,32
1160 data56,160,17,32,57,160,18,32,58,105,323,32,363,32,443,32,444
1162 data32,563,32,564,32,-1,-1,200,233,201,250,202,250,203,250
1164 data204,250,205,250,206,250,207,250,208,250,209,250,210,250
1166 data211,250,212,250,213,250,214,105,161,233,162,204,163,204
1168 data164,204,165,204,166,204,167,204,168,204,169,204,170,204
1170 data171,204,172,204,173,204,174,204,175,105,122,233,123,250
1172 data124,250,125,250,126,250,127,250,128,250,129,250,130,250
1174 data131,250,132,250,133,250,134,250,135,250,136,105,83,233,84
1176 data204,85,204,86,204,87,204,88,204,89,204,90,204,91,204,92
1178 data204,93,204,94,204,95,204,96,204,97,105,44,233,45,250,46
1180 data250,47,250,48,250,49,250,50,250,51,250,52,250,53,250,54
1182 data250,55,250,56,250,57,250,58,105,223,77,182,77,141,77,100
1184 data77,59,77,-1,-1,681,682,683,684,685,686,687,688,689,690,641
1186 data650,601,561,521,610,570,530,531,532,533,534,694,695,654
1188 data655,614,615,574,575,704,705,706,664,665,666,624,625,626
1190 data584,585,586,544,545,546,481,482,483,484,485,486,487,488
1192 data489,490,491,492,493,441,442,443,444,445,446,447,448,449
1194 data450,451,452,453,405,406,407,408,409,410,365,366,367,368
1196 data369,370,325,326,327,328,329,330,285,286,287,288,289,290
1198 data401,361,321,281,241,242,243,244,245,246,247,248,249,250
1200 data251,252,253,495,496,497,498,499,500,501,502,455,456,457
1202 data458,459,460,461,462,255,256,257,258,259,260,261,262,215
1203 data216,217,218,219,220,221,222,415,375,335,295,422,382,342
1204 data302,418,419,378,379,338,339,298,299,176,180,181,140,98,99
1206 data-1,535,247,536,247,537,247,538,247,539,247,540,247,541
1208 data247,542,247,543,247,544,247,545,247,546,247,703,231,663
1210 data231,623,231,583,231,543,208,494,231,454,231,414,231,374
1212 data231,334,231,294,231,254,231,602,32,603,32,604,32,605,32
1214 data606,32,607,32,608,32,609,32,642,247,643,247,644,247,645
1215 data247,646,247,647,247,648,247,649,247,562,32,569,32,522,32
1216 data523,32,524,32,525,32,526,32,527,32,528,32,529,32,138,32
1218 data139,32,178,32,179,32,137,231,177,231,240,32,-1,-1,602,207
1220 data603,208,562,207,563,208,522,207,523,208,608,207,609,208
1222 data568,207,569,208,528,207,529,208,604,160,605,160,606,160
1224 data607,160,564,207,569,208,528,207,529,208,604,160,605,160
1226 data606,160,607,160,564,160,565,160,566,160,567,160,524,247
1228 data525,247,526,247,527,247,402,204,403,239,404,250,362,207
1230 data363,247,364,208,322,229,323,160,324,231,282,207,283,247
1232 data284,208,411,204,412,239,413,250,371,207,372,247,373,208
1233 data331,229,332,160,333,231,291,207,292,247,293,208,416,204
1234 data417,250,376,207,377,208,336,229,337,231,296,207,297,208
1236 data420,204,421,250,380,207,381,208,340,229,341,231,300,207
1238 data301,208,178,250,179,250,138,208,139,208,-1,-1,495,496,497
1242 data498,499,500,501,502,503,504,505,506,801,802,803,804,805
1244 data806,807,808,809,810,814,815,823,824,825,826,-1,571,207
1246 data611,229,651,229,691,229,731,229,771,229,572,247,612,111
1248 data652,32,692,160,732,160,772,160,573,208,613,231,653,231
1250 data693,215,733,231,773,231,-1,-1,576,207,577,247,578,247,579
1252 data247,580,247,581,247,582,208,616,207,617,247,618,247,619
1254 data247,620,247,621,247,622,208,656,207,657,247,658,247,659
1256 data247,660,247,661,247,662,208,696,207,697,247,698,247,699
1258 data247,700,247,701,247,702,208,736,207,737,247,738,247,739
1260 data247,740,247,741,247,742,208,776,207,777,247,778,247,779
1262 data247,780,247,781,247,782,208,-1,-1,1,2,3,6,7,8,9,10,11,12
1264 data-1,641,642,643,644,645,646,647,648,649,650,690,610,570,530
1266 data601,561,521,681,682,683,684,685,686,687,688,689,531,532
1268 data533,534,574,575,614,615,654,655,694,695,535,536,537,538
1270 data539,540,541,542,543,583,623,663,703,704,705,706,664,665
1272 data665,666,624,625,626,584,585,586,544,545,546,481,482,483
1274 data484,485,486,487,488,489,490,491,492,493,494,441,442,443
1276 data444,445,401,361,321,281,241,242,243,244,245,285,325,365
1278 data405,450,451,452,453,454,410,370,330,290,250,251,252,253
1280 data254,294,334,374,414,446,447,448,449,406,407,408,409,366
1282 data367,368,369,326,327,328,329,286,287,288,289,246,247,248
1284 data249,455,456,457,458,459,460,461,462,415,375,335,295,422
1286 data382,342,302,255,215,176,137,177,98,99,140,180,181,222,262
1288 data256,257,258,259,260,261,216,217,218,219,220,221,418,419
1290 data378,379,338,339,298,299,-1,571,611,651,691,731,771,572
1292 data612,652,692,732,772,573,613,653,693,733,773,576,577,578
1294 data579,580,581,582,616,617,618,619,620,621,622,656,657,658
1296 data659,660,661,662,696,697,698,699,700,701,702,736,737,738
1298 data739,740,741,742,776,777,778,779,780,781,782,-1