1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-03-01 09:21:15 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

182 lines
4.2 KiB
QBasic
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
10 REM POLSYS - SIMULATION OF CITY COUNCIL
20 REM COPYRIGHT 1971 STATE UNIVERSITY OF NEW YORK
30 REM M: STRATEGY MATRIX; S IS RESOURCE EXPENDITURE FOR CURRENT ROUND
40 REM K IS RELATIVE WEIGHTS OF RESOURCE UNITS
50 REM C IS RESOURCE EXPENDITURE BREAKDOWN BY GROUP AND TYPE X TYPE
60 REM T IS TOTAL REMAINING RESOURCES
70 REM W(I) IS NUMBER OF BOXES WON BY GROUP I
105 REM LATEST REVISION 8-27-72
110 DIM M(3,3),T(2,3),C(2,9),S(2,3),P(2),W(2),K(3,3)
115 PRINT "ENTER ISSUE NUMBER ";
117 RESTORE
120 INPUT Q
121 IF Q>3 THEN 115
122 IF Q<1 THEN 115
125 FOR I=1 TO 3
130 FOR J=1 TO 3
135 READ K(I,J)
140 IF Q=I THEN 145
141 IF Q<>J THEN 155
142 LET M(I,J)=1
143 GOTO 160
145 LET M(I,J)=1
146 GOTO 160
155 LET M(I,J)=0
156 LET M(J,I)=0
160 NEXT J
165 NEXT I
170 PRINT "ENTER ROUND";
175 INPUT R
176 IF R=4 THEN 182
177 IF R=1 THEN 182
178 PRINT "INPUT PREVIOUS STRATEGY QUALITY POINTS";
179 INPUT S7
180 GOTO 190
182 LET S7=0
190 PRINT
191 IF H2=1 THEN 235
192 PRINT
195 FOR I=1 TO 2
197 GOSUB 850
198 PRINT
200 PRINT "TOTAL RES.;PUBLICITY(PBU),SUPPORT(SU),";
201 PRINT "KNOWLEDGE(KU)";
210 INPUT T(I,1),T(I,2),T(I,3)
215 FOR J=1TO 10
220 PRINT
225 NEXT J
230 NEXT I
235 FOR I= 1 TO 2
240 GOSUB 850
241 PRINT
245 PRINT "REMAINING RESOURCES (PBU,SU,KU)"
250 PRINT T(I,1);T(I,2);T(I,3)
255 FOR B=1 TO 3
257 PRINT
265 GOSUB 370
270 PRINT"RES. TO BE USED";
275 INPUT S(I,B)
280 IF S(I,B)>T(I,B) THEN 265
283 LET T(I,B)=T(I,B)-S(I,B)
285 GOSUB 330
290 GOSUB 955
295 IF P=1 THEN 265
300 NEXT B
305 FOR A = 1 TO 10
310 PRINT
315 NEXT A
320 NEXT I
325 GOTO 455
330 PRINT
335 FOR J=1 TO 3
340 GOSUB 370
345 PRINT" X ";
350 GOSUB 415
355 INPUT C(I,B+3*(J-1))
360 NEXT J
365 RETURN
370 IF B=1 THEN 385
375 IF B=2 THEN 395
380 IF B=3 THEN 405
385 PRINT" PBU ";
390 GOTO 410
395 PRINT" SU ";
400 GOTO 410
405 PRINT" KU ";
410 RETURN
415 IF J=2 THEN 435
420 IF J=3 THEN 445
425 PRINT" PBU ";
430 GOTO 450
435 PRINT" SU ";
440 GOTO 450
445 PRINT" KU ";
450 RETURN
455 GOSUB 1075
460 IF R=1 THEN 500
465 IF R=2 THEN 600
470 IF R=3 THEN 700
475 IF R=4 THEN 800
500 IF W(1)>=1 THEN 530
510 PRINT "CITY COUNCIL CAN'T ACCEPT PROPOSAL. TRY ANOTHER STRATEGY."
515 PRINT "REMAIN IN ROUND 1"
520 GOTO 1017
530 PRINT "CITY COUNCIL WILL CONSIDER DEMAND."
535 PRINT "PROCEED TO ROUND 2"
540 GOTO 1017
600 IF W(1)>W(2) THEN 630
610 PRINT "THE CITY COUNCIL IS CONSIDERING THE PROPOSAL UNFAVORABLY."
620 GOTO 640
630 PRINT "THE CITY COUNCIL IS CONSIDERING THE PROPOSAL FAVORABLY."
640 PRINT "PROCEED TO ROUND 3"
650 GOTO 1017
700 IF W(1)>W(2) THEN 750
710 IF S7>0 THEN 770
720 PRINT "THE CITY COUNCIL HAS REJECTED THE PROPOSAL."
730 STOP
750 IF S7<0 THEN 770
755 PRINT "THE CITY COUNCIL HAS APPROVED THE PROPOSAL."
760 STOP
770 PRINT "THE CITY COUNCIL HAS POSTPONED ITS DECISION."
775 PRINT "PROCEED TO ROUND 4"
777 FOR I=1 TO 2
778 FOR J=1 TO 3
779 LET T(I,J)=T(I,J)+S(I,J)
780 NEXT J
781 NEXT I
782 GOTO 1017
800 IF W(1)>W(2) THEN 755
810 GOTO 720
850 IF I=2 THEN 865
855 PRINT "TEAM 1 (PRO) ";
860 RETURN
865 PRINT "TEAM 2 (CON) ";
870 RETURN
945 STOP
955 LET D=0
960 LET P=0
965 FOR J=1 TO 3
970 LET D=D+C(I,B+3*(J-1))*K(B,J)
975 NEXT J
980 IF ABS(S(I,B)-D)<.01 THEN 1000
985 PRINT "TOTAL DOES NOT MATCH SUM OF INPUTS"
990 LET T(I,B)=T(I,B)+S(I,B)
995 LET P=1
997 RETURN
1000 IF I=1 THEN 1014
1005 FOR J=1 TO 3
1010 LET C(I,B+3*(J-1))=C(I,B+3*(J-1))*K(B,J)
1013 NEXT J
1014 RETURN
1015 REM NEXT ROUND
1017 PRINT "STRATEGY QUALITY POINTS=";S7
1020 PRINT"ANOTHER RUN(YES=1,NO=0)";
1025 INPUT H2
1027 IF H2=1 THEN 1045
1030 PRINT"RES. GROUP 1";" ";"RES. GROUP 2"
1035 PRINTT(1,1);T(1,2);T(1,3);" ";
1037 PRINTT(2,1);T(2,2);T(2,3)
1038 PRINT "END OF ROUND ";R
1040 STOP
1045 FOR I=1 TO 10
1050 PRINT
1055 NEXT I
1065 GOTO 115
1070 REM NUMBER OF WINS
1075 FOR I=1 TO 2
1080 LET W(I)=0
1085 FOR J=1 TO 3
1090 FOR K=1 TO 3
1095 IF C(I,J+3*(K-1))*M(J,K)>C(3-I,K+3*(J-1)) THEN 1105
1100 GOTO 1106
1105 LET W(I)=W(I)+1
1106 IF I=2 THEN 1110
1107 LET S7=S7+(M(J,K)/K(K,1))*(C(1,J+3*(K-1))-C(2,K+3*(J-1)))
1110 NEXT K
1114 NEXT J
1120 NEXT I
1125 RETURN
1200 DATA 1,5,10,.2,1,2,.1,.5,1
1205 END
*U*6