Type: Program
Platform(s): TS 2068
Work simulation game. Manufacture Zibbies against all odds.
Content
Image Gallery
Source Code
10 REM worksimul
40 GO SUB 9000: REM variables
50 LET week=week+1
100 GO SUB 5000: REM printout
110 GO SUB 6000: REM people
120 GO SUB 5000: REM printout
130 GO SUB 5130: REM make
140 GO SUB 5000: REM printout
150 GO SUB 4000: REM sales
160 GO SUB 3000: REM unpretictables
170 LET capital=capital-wage*workforce
180 GO TO 50
3000 REM unpredictables
3005 CLS
3010 IF RND<.45 THEN GO TO 3100
3020 LET a=INT (RND*7)+1
3025 BEEP .5,RND*50: BEEP .4,RND*50
3030 PRINT ''"Unions demand ";a;"% payraise"
3040 LET wage=INT (100*(wage+(a*wage/100)))/100
3050 PAUSE 100
3060 PRINT '''"Pay per employee is now $";wage
3070 PAUSE 100
3075 BEEP .5,RND*50: BEEP .4,RND*50
3080 CLS
3100 IF RND<.85 THEN GO TO 3190
3110 PRINT ''' INK 2; FLASH 1;"Flash flood ruins some of your"," stock",,,,"Stand by for damage repoty:",
3120 PAUSE 100
3130 LET a=INT (RND*stock/2)+1
3140 LET stock=stock-a
3150 PRINT '' INK 1; FLASH 1;"Total stock destroyed was",a;" Zibbies, worth $";a*sellprice;" retail"
3160 PAUSE 100
3170 PRINT ''"Stock on hand is now ";stock
3180 PAUSE 100
3190 IF RND>.3 THEN GO TO 3290
3195 CLS
3200 PRINT ''"Supplier announces dramatic","price rise!"
3220 LET a=INT ((RND*100*cost/7))/100
3225 IF a<.01 THEN GO TO 3220
3230 PRINT ''"Cost of making Zibbies","goes up by "; FLASH 1; INK 2;"$";a; FLASH 0; INK 0;" each"
3240 PAUSE 100
3250 LET cost=cost+a
3260 PRINT '' INK 7; PAPER 1;" It now costs "; FLASH 1; INK 7; PAPER 0;"$";cost;" "
3270 PRINT "to make each one"
3280 PAUSE 100
3290 IF RND<.65 AND make<sellprice THEN RETURN
3300 CLS
3305 BEEP .5,RND*50: BEEP .4,RND*50
3310 PRINT ''"You have a chance to raise","your price"
3320 PRINT "Zibbies now sell for $";sellprice
3330 PAUSE 100
3340 INPUT FLASH 1;"What percentage increase? ";a
3345 IF a>0 THEN LET z=z+a
3350 LET sellprice=INT (100*(sellprice+a*sellprice/100))/100
3360 PAUSE 50
3370 PRINT ' FLASH 1; INK 3;"Zibbies now sell for $";sellprice
3380 PAUSE 100
3390 RETURN
4000 REM sales
4005 BEEP .5,RND*50: BEEP .4,RND*50
4010 PRINT FLASH 1; PAPER 5;'"Total stock is ";stock
4015 PAUSE 100
4020 PRINT FLASH 1; PAPER 3;'"Stand by for sales report....."
4025 PAUSE 300
4030 CLS
4040 LET a=INT (RND*stock/(z/100))+1
4045 PAPER RND*6: CLS : BORDER RND*6
4050 IF a>stock THEN GO TO 4040
4055 BORDER 7: PAPER 7: CLS
4060 PRINT '' INK 1;"Total Zibbies sold: ";a
4070 LET stock=stock-a
4080 PRINT '"Income from sale: $";a*sellprice
4090 LET capital=capital+a*sellprice
4095 PAUSE 100
4100 RETURN
5000 REM printout
5020 FOR g=40 TO 50: BEEP .008,g: BEEP .008,60-2*g: NEXT g
5022 CLS
5025 IF capital+stock<1 THEN GO TO 8000: REM bankrupt
5027 IF capital+stock>999999 THEN PRINT FLASH 1; BRIGHT 1; INK 2;"You've made a million!!": PAUSE 500: GO TO 8050
5030 PRINT INK 2; FLASH 1;" FACTORY REPORT: WEEK ";WEEK;" "
5040 PRINT ' INK 2;"Capital on hand is $";capital
5050 PRINT ' INK 1;"Your stores hold ";stock;" Zibbies";TAB 10;"worth $";stock*sellprice
5060 PRINT INK 2;'"They sell for $";sellprice;" each"
5070 PRINT INK 2;"and cost $";cost;" each to make"
5080 PRINT INK 7; PAPER 1;'"Workforce is ";workforce;" people"
5090 PRINT PAPER 1; INK 7;"Their wages are $";wage;" each"," and the wage bill this week"," is $";wage*workforce
5100 PRINT INK 2;'"Each person can make ";produce;" Zibbies a week, a total output of ";produce*workforce
5120 RETURN
5130 INPUT "How many do you want to make? ";make
5135 IF make=0 THEN RETURN
5140 IF make*cost>capital THEN PRINT INK 2; FLASH 1;"Not enough money": GO TO 5130
5150 IF make>produce*workforce THEN PRINT INK 4; FLASH 1;"Not enough people": GO TO 5130
5160 PRINT AT 0,0; FLASH 1; INK 1;" Target week ";week;" is ";make;" "
5170 LET make=make-INT (RND*make/5*(z/100))
5180 PAUSE 100
5190 PRINT INK 3; FLASH 1;AT 0,0;"Total made in week ";week;" was ";make;" "
5200 LET stock=stock+make
5210 LET capital=capital-cost*make
5220 PAUSE 50
5300 RETURN
6000 REM people
6010 INPUT "How many people do you want","to hire? ";a
6020 LET workforce=workforce+a
6030 PRINT AT 0,0; FLASH 1; INK 1;" Total workforce is ";workforce
6035 PAUSE 100: GO SUB 5000
6037 IF a>0 THEN RETURN
6040 INPUT "How many people do you want","to "; FLASH 1; INK 4;"fire? ";a
6042 IF a=0 THEN GO TO 6090
6045 IF a>workforce THEN GO TO 6040
6050 LET a=INT (RND*a+1)
6060 PAUSE 100
6070 PRINT FLASH 1; BRIGHT 1; INK 6; PAPER 2;'''"Unions allow you to fire ";a
6080 LET workforce=workforce-a
6090 PAUSE 100
6100 RETURN
8000 REM bankruptcy
8010 PRINT '''TAB 8; FLASH 1; INK 2;"BANKRUPT!!!!"
8020 PRINT '''"Oh the shame of it!"
8030 PRINT '''"Still, you kept the business"
8040 PRINT "going for "; FLASH 1; INK 1;week; FLASH 0; INK 0;" weeks"
8050 PRINT '''"Enter 'Y' for another try, or","'N' to give up"
8055 LET a$=INKEY$
8060 IF a$="" THEN GO TO 8055
8070 IF a$="Y" OR a$="y" THEN RUN
8080 STOP
9000 REM variables
9030 LET capital=500+INT (RND*500)
9040 LET stock=100+INT (RND*50)
9050 LET sellprice=10+INT (RND*5)
9060 LET cost=2+INT (RND*5)
9070 IF cost>sellprice THEN GO TO 9050
9080 LET workforce=7+INT (RND*10)
9090 LET wage=12+INT (RND*sellprice*5)
9100 LET produce=5+INT (RND*6)
9110 LET week=0
9120 REM RUN Z is sales resistance factor
9130 LET z=1
9140 PAPER 7: CLS : BORDER 7: INK 0
9500 RETURN
9999 SAVE "worksimul" LINE 1: BEEP 1,32