1  REM ****  HP BASIC PROGRAM LIBRARY  ******************************
2  REM
3  REM       GMCRO6: ECONOMIC POLICY GAME
4  REM
5  REM       36521 REV A, PART 2 OF 2
6  REM
7  REM ****  CONTRIBUTED PROGRAM  ***********************************
10  REM         * * * MACROECONOMIC POLICY GAME #6 * * *
20  REM          (KEITH LUMSDEN, STANFORD G.S.B.,AUG 1971)
100  PRINT "MCRO6 MAY REQUIRE AN HOUR OR MORE TO PLAY CAREFULLY."
105  PRINT "IF YOU THINK THAT YOU MAY POSSIBLY WISH TO PLAY IT"
110  PRINT "IN MORE THAN ONE SITTING, OR MAY WISH TO STOP TO THINK"
115  PRINT "BEFORE CONTINUING, YOU SHOULD CREATE A FILE TO STORE"
120  PRINT "THE DATA GENERATED BY YOUR ECONOMY."
125  PRINT 
130  PRINT "DO YOU WANT THE FLEXIBILITY TO STOP THE GAME AND RETURN"
135  PRINT "LATER   ";
140  INPUT M$
145  IF M$="NO" THEN 255
150  PRINT 
155  PRINT "WHEN THE PROGRAM STOPS, TYPE"
156  PRINT 
160  PRINT "200 FILES DATA6"
165  PRINT "OPEN-DATA6,1"
170  PRINT "RUN-200"
171  PRINT 
175  PRINT "THE PROGRAM WILL NOW STOP TO ALLOW YOU TO TYPE IN THESE LINES."
180  PRINT "TYPE IN THE LINES AFTER THE COMPUTER PRINTS 'DONE'."
185  PRINT 
190  STOP 
205  PRINT "IF YOU DESIRE TO STOP THIS PROGRAM DURING EXECUTION,"
210  PRINT "YOU MAY DO SO BY TYPING '9999' WHEN THE CHANGE IN M IS"
215  PRINT "REQUESTED.  YOU MAY THEN LOGOFF AND RESUME MCRO6 IN THE"
220  PRINT "YEAR THAT YOU STOP.  INSTRUCTIONS FOR RESUMING WILL BE"
225  PRINT "GIVEN WHEN YOU STOP."
226  PRINT 
255  PRINT "MCRO6 DEALS WITH DESIGNING POLICY STRATEGIES TO MEET"
260  PRINT "YOUR ECONOMIC GOALS.  YOU WILL BE GIVEN INFORMATION"
265  PRINT "ON MAJOR ECONOMIC VARIABLES INCLUDING CURRENT EXPORTS (EX),"
270  PRINT "IMPORTS (IM), AND SHORT TERM CAPITAL INFLOWS (K). THE"
275  PRINT "BALANCE OF PAYMENTS IN THE CURRENT YEAR (BOP) AND THE"
280  PRINT "TOTAL DOLLAR CLAIMS ON OTHER NATIONS FROM YEAR -7 (BOP+)"
285  PRINT "ARE ALSO REPORTED."
286  PRINT 
290  PRINT "YOU MAY SET YOUR OWN OBJECTIVES IN MCRO6. NOTE THAT YOU"
295  PRINT "MUST BE CONCERNED WITH THE BALANCE OF PAYMENTS AND FOREIGN"
300  PRINT "TRADE IN ADDITION TO UNEMPLOYMENT AND INFLATION.  BE CAREFUL"
305  PRINT "TO MAKE YOUR OBJECTIVES REALISTIC, FOR SHOULD THE BALANCE"
310  PRINT "OF PAYMENTS FALL BELOW -20 IN ANY YEAR, ALL MEMBERS OF THE"
312  PRINT "IMF WILL REVALUE THEIR CURRENCIES UPWARDS."
313  PRINT 
314  PRINT "YOU SHOULD HAVE STUDIED THE PAST PERFORMANCE OF THE ECONOMY"
315  PRINT "PRIOR TO THE BEGINNING OF THE GAME.  YOU WILL CONTROL THE"
316  PRINT "MONEY SUPPLY (M), GOVERNMENT EXPENDITURES (G), AND THE"
320  PRINT "MARGINAL TAX RATE (T1).  WHEN YOU ARE REQUESTED TO DO SO,"
325  PRINT "TYPE IN THE CHANGES IN M,G, AND T1. IF THERE IS NO CHANGE"
330  PRINT "A ZERO MUST BE TYPED. "
345  PRINT 
370  DIM M$[5]
375  DATA .012,.008,.025,.15,20,.9,.666667,60,.025,.05,2250,12.5
380  DATA 50,.33,.9984,.1,.89,4.06,7,4,0,2.97033,69.278,2938.52,170.6
385  DATA 4.69452,651.611,106.063,167,0,-40,.3,0,717.645,378.547
390  DATA 155.483,398.386,97.7416,1.21653,.185108,1.21428,5.67608
395  DATA 5.53652,-5.94523,0,1
400  PRINT 
405  LET B=3
410  LET B1=.09
420  DIM V[20]
425  LET W5=0
430  X5=25.932
435  I5=35.856
440  K5=.009
445  E5=-10.014
450  E6=4.45499
455  DIM N$[26]
460  PRINT "TYPE YOUR NAME   -";
465  INPUT N$
470  LET W1=0
475  FOR E9=1 TO 20
480  READ V[E9]
485  NEXT E9
490  READ N,J,L,K,M,R,Y,I,G,A,T0,T1,W1,Q,C,T,D,E,P,P2,P3,P4,U,Y2,W,W2
495  LET N1=N
500  GOTO 870
505  PRINT 
510  T5=0
515  PRINT "ENTER CHANGE IN M -  ";
520  INPUT M2
525  IF M2=9999 THEN 2000
530  PRINT "ENTER CHANGE IN G -  ";
535  INPUT G2
540  PRINT "ENTER CHANGE IN T1 - ";
545  INPUT T2
550  PRINT "CHECK YOUR WORK. ANY CHANGES ? (1=YES,0=NO).";
555  INPUT X
560  IF X=1 THEN 505
565  IF T2>1-T1 THEN 590
570  IF T2<-T1 THEN 590
575  IF G2<-G THEN 590
580  IF M2<-M THEN 590
585  GOTO 610
590  PRINT 
595  PRINT "THE CHANGES YOU HAVE MADE ARE NOT PERMISSIBLE. CHECK YOUR WORK ";
600  PRINT "AND RE-ENTER."
605  GOTO 505
610  LET M=M+M2
615  LET M1=M/P
620  LET G=G+G2
625  LET T1=T1+T2
630  LET N=N+1
635  LET Y3=Y
640  LET P3=P
645  LET P4=P2
650  REM POTENTIAL OUTPUT
655  LET J=(1+V[1])*J
660  LET L=(1+V[2])*L
665  LET K=K+I
670  LET Q=J*L^V[7]*K^(1-V[7])
675  REM DETERMINE GNP
680  LET Y=V[5]-V[6]*T0+V[8]-V[9]*(V[11]-M1*V[13])+G+A
685  LET Y1=1+V[9]*V[12]-V[4]-V[10]-V[6]*(1-T1-V[4])
690  LET Y=Y/Y1
695  LET R5=R
700  LET D1=D
705  LET R=(V[11]-V[13]*M1+V[12]*Y)/Q
710  IF R>0 THEN 740
715  LET R=0
720  LET Y=V[5]-V[6]*T0+V[8]+G+A
725  LET Y1=1-V[4]-V[10]-V[6]*(1-T1-V[4])
730  LET Y=Y/Y1
735  REM COMPUTE PRICE CHANGE
740  LET N3=Y/Q
745  IF N3 >= V[17] THEN 760
750  LET P2=100*(-1+V[15]+V[16]*(N3-V[17]))
755  GOTO 765
760  LET P2=100*(-1+V[18]-V[19]*N3+V[20]*N3^2)
765  LET P=(1+.01*P2)*P
770  REM UNEMPLOYMENT LEVEL
775  LET U=100*(V[3]+V[14]*(1-N3))
780  REM SET INVENTORY ADJUSTMENT FACTOR
785  IF Y >= Q THEN 800
790  LET A=0
795  GOTO 820
800  LET A=(Y-Q)*Y1
805  LET Y=Q
810  LET U=100*V[3]
815  REM COMPUTE C,I ETC.
820  LET E=V[4]*Y
825  LET T=T0+T1*Y
830  LET D=Y-T-E
835  LET C=V[5]+V[6]*D
840  LET Y2=100*(Y-Y3)/Y3
845  LET I=Y-C-G
850  IF I >= 0 THEN 865
855  LET C=C+I
860  LET I=0
865  GOSUB 3000
870  PRINT 
875  PRINT N$,"GNP ACCOUNTS      YEAR"N
880  PRINT "Q ="Q,"Y ="Y,"C ="C,"I ="I,"G ="G
1010  PRINT "T1="T1,"T ="T,"D ="D,"E ="E,"M ="M
1020  PRINT "P ="P3,"R ="R,"PC="P4,"U ="U,"IN="A
1021  PRINT "EX="X5,"IM="I5,"K ="K5,"BOP="E5,"BOP+="E6
1030  PRINT 
1035  IF W5=1 THEN 3795
1040  IF N <> 8 THEN 1200
1090  PRINT "IMPROVED RELATIONS WITH THE PEOPLES REPUBLIC OF CHINA"
1100  PRINT "RESULT IN BOTH EXPORTS AND IMPORTS RISING MORE RAPIDLY."
1110  IF T5=1 THEN 505
1120  B1=1.1*B1
1130  B=.8*B
1190  GOTO 505
1200  IF N <> 12 THEN 1400
1210  PRINT "BRITAIN ATTEMPTS TO SOLVE THEIR BALANCE OF PAYMENTS"
1220  PRINT "PROBLEM BY DEVALUATION. EXPORTS DROP TO BRITAIN WHILE"
1230  PRINT "IMPORTS RISE."
1231  IF T5=1 THEN 505
1235  B1=1.1*B1
1236  B=1.1*B
1240  GOTO 505
1400  IF N <> 16 THEN 1600
1500  PRINT "GOLDFINGER FINALLY SUCCEEDS IN CAPTURING ALL OF THE GOLD"
1510  PRINT "IN FORT KNOX.  RATHER THAN PAY THE RANSOM, THE U.S. CHOOSES"
1520  PRINT "TO DEVALUE.  OF COURSE, EXPORTS RISE WHILE IMPORTS FALL."
1521  IF T5=1 THEN 505
1525  LET B1=.9*B1
1526  B=.8*B
1530  GOTO 505
1600  IF N=20 THEN 9998
1610  GOTO 505
2000  REM THIS STORES THE DATA FOR USE AT AT LATER TIME WHEN RESTARTING
2001  REM THE PROGRAM
2005  T5=1
2011  READ #1,1
2020  PRINT #1;N$
2021  FOR E9=1 TO 20
2022  PRINT #1;V[E9]
2023  NEXT E9
2030  PRINT #1;N,J,L,K,M,R,Y,I,G,A,T0,T1,W1,Q,C,T,D,E,P,P2,P3,P4,U,Y2,W,W2
2031  PRINT #1;X5,I5,K5,E5,E6,B,B1,W5,T5
2040  PRINT "YOUR DATA HAS BEEN STORED IN A FILE DESIGNATED DATA6."
2041  PRINT "TO RESTART CALL MCRO6 AND TYPE"
2042  PRINT "2510 FILES DATA6"
2043  PRINT "RUN-2500"
2050  STOP 
2499  STOP 
2500  REM THIS RESTARTS THE PROGRAM WHERE IT WAS PREVIOUSLY TERMINATED"
2520  READ #1,1
2525  READ #1;N$
2526  FOR E9=1 TO 20
2527  READ #1;V[E9]
2528  NEXT E9
2530  READ #1;N,J,L,K,M,R,Y,I,G,A,T0,T1,W1,Q,C,T,D,E,P,P2,P3,P4,U,Y2,W,W2
2531  READ #1;X5,I5,K5,E5,E6,B,B1,W5,T5
2550  GOTO 870
2999  STOP 
3000  REM DETERMINE EXPORTS (EX=X5) , IMPORTS (IM=I5), AND
3010  REM CAPITAL FLOWS(K=K5) + IS AN INFLOW,- IS AN OUTFLOW
3020  REM BALANCE OF PAYMENTS IS EX-IM-K
3030  REM DETERMINE EXPORTS:
3031  IF N>8 THEN 3490
3040  X5=30+.02*Y-B*P4
3100  REM DETERMINE IMPORTS
3110  LET I5=B1*D
3200  REM DETERMINE CAPITAL FLOWS
3210  K5=(SGN(R-5))*(R-5)^2
3300  REM DETERMINE BALANCE OF PAYMENTS
3310  LET E5=X5-I5+K5
3320  LET E6=E6+E5
3330  IF E5<-20 THEN 3790
3400  RETURN 
3490  IF N>12 THEN 3590
3500  X5=30+.02*Y-B*P4
3510  LET I5=B1*D
3520  GOTO 3200
3590  IF N>16 THEN 3690
3600  X5=30+.02*Y-B*P4
3620  LET I5=B1*D
3630  GOTO 3200
3690  REM
3700  X5=30+.02*Y-B*P4
3720  LET I5=B1*D
3730  GOTO 3200
3790  LET W5=1
3791  GOTO 3400
3795  PRINT "     **********  NEWS FLASH !!!  **********"
3800  PRINT "A LONG ANTICIPATED MOVE HAS BEEN TAKEN BY THE MEMBERS"
3810  PRINT "OF THE IMF IN REVALUING THE CURRENCIES OF ALL OF THE"
3820  PRINT "MEMBER NATIONS UPWARDS WITH RESPECT TO THE DOLLAR, IT WAS"
3825  PRINT "ANNOUNCED IN BRUSSELS TODAY.  THE MOVE WAS ATTRIBUTED"
3826  PRINT "TO THE SEVERE BALANCE OF PAYMENTS PROBLEMS IN THE U.S."
3827  LET B=B*.8
3830  LET B1=B1*.9
3835  LET W5=0
3840  GOTO 1030
9998  PRINT "THIS ENDS MCRO6. LOGOFF."
9999  END 
