Listing of file='CIVIL.BAS;01' on disk='vmedia/chip_16-sector.ccvf'
7 CLEAR 250 8 PLOT 12 10 PRINT ,,"* * C I V I L W A R * *" 15 PRINT :PRINT :PRINT 50 DIM S(4),C$(14),M1(14),M2(14),C1(14),C2(14),M(14) 70 S(1)= 25:S(2)= 25:S(3)= 25:S(4)= 25 80 RESTORE 84 FOR D= 1TO 14 86 READ C$(D),M1(D),M2(D),C1(D),C2(D),M(D) 88 NEXT D 89 D= RND (- 1* (PEEK (33209)+ 10* PEEK (33210)+ 100* PEEK (33211))) 160 PRINT :PRINT ,"THIS IS A CIVIL WAR SIMULATION." 255 GOSUB 260:GOTO 370 260 PRINT ,,"CHOICES FOR STRATEGY ARE:" 265 PRINT 270 PRINT ,"OFFENSIVE";TAB( 40);"DEFENSIVE" 275 PRINT 276 PRINT " "; 280 PRINT " ARTILLERY ATTACK";TAB( 31);"(1) ARTILLERY ATTACK" 285 PRINT " "; 290 PRINT " FRONTAL ATTACK";TAB( 31);"(2) FORTIFY FRONTAL" 300 PRINT " FLANKING MANEUVER";TAB( 31);"(3) FORTIFY FLANKS" 310 PRINT " ENCIRCLE";TAB( 31);"(4) FALL BACK" 320 PRINT ,,"YOU MAY SURRENDER BY ENTERING 5." 365 RETURN 370 PRINT :PRINT ,:INPUT "ARE THERE 2 GENERALS PRESENT (Y/N) ? ";B$ 400 IF B$= "Y"THEN 430 410 IF B$< > "N"THEN 370 415 PRINT 416 PRINT 420 PRINT ,,"YOU ARE THE CONFEDERACY; GOOD LUCK!" 425 PRINT 430 D= 1:IF B$< > "Y"THEN 460 450 D= 2 460 PRINT ,"SELECT A BATTLE BY ENTERING A NUMBER FROM 1 TO 14" 470 PRINT ,"WHEN REQUESTED. ANY OTHER NUMBER ENDS THE SIMULATION" 480 PRINT :PRINT ,"BUT ENTERING 0 REPLAYS THE LAST BATTLE." 500 PRINT :PRINT ,"A NEGATIVE FOOD ENTRY USES ENTRIES FROM LAST BATTLE" 540 PRINT ,,:INPUT "DO YOU WANT BATTLE DESCRIPTIONS (Y/N) ?";X$ 580 IF X$= "Y"THEN 600 590 IF X$< > "N"THEN 540 600 L= 0:W= 0:R1= 0:Q1= 0:M3= 0:M4= 0:P1= 0:P2= 0:T1= 0:T2= 0 610 F(2)= 0:H(2)= 0:B(2)= 0:R2= 0:Q2= 0:C6= 0:F= 0:W0= 0:Y= 0:Y2= 0:U= 0:U2= 0 620 PRINT " " 621 PRINT ,,"PRESS <RETURN> TO ENTER";:INPUT "";Y9$ 625 PLOT 12 630 PRINT ,,"WHICH BATTLE DO YOU WANT (1-14) ? ";:INPUT A 650 IF A< > 0THEN 660 651 R= 1 655 IF R< > 0THEN 1140 660 IF A< = 0THEN 2860 665 IF A> = 15THEN 2860 670 C$= C$(A):M1= M1(A):M2= M2(A):C1= C1(A):C2= C2(A):M= M(A):U= 0 980 I1= 10+ (L- W)* 2:I2= 10+ (W- L)* 2 1010 D(1)= 100* INT ((M1* (100- I1)/ 2000)* (1+ (R1- Q1)/ (R1+ 1))+ .5) 1020 D(2)= 100* INT (M2* (100- I2)/ 2000+ .5) 1030 IF B$< > "Y"THEN 1050 1040 D(2)= 100* INT ((M2* (100- I2)/ 2000)* (1+ (R2- Q2)/ (R2+ 1))+ .5) 1050 REM 1060 M5= INT (M1* (1+ (P1- T1)/ (M3+ 1))) 1070 M6= INT (M2* (1+ (P2- T2)/ (M4+ 1))) 1080 F1= 5* M1/ 6 1090 PRINT 1100 PRINT :PRINT ,"THIS IS THE BATTLE OF ";C$;"" 1105 PRINT 1110 IF X$= "N"THEN 1150 1120 IF A> 11THEN 1130 1125 ON AGOTO 3580,3620,3650,3690,3720,3750,3780,3800,3830,3860,3890 1130 ON A- 11GOTO 3920,3950,3980, 1140 PRINT ,"";C$;" INSTANT REPLAY" 1150 PRINT 1155 PRINT , 1160 PRINT " ","CONFEDERACY","UNION" 1170 PRINT " MEN";TAB( 17);M5;TAB( 33);M6 1180 PRINT " MONEY";TAB( 16);"$";D(1);TAB( 32);"$";D(2) 1190 PRINT " INFLATION";TAB( 17);I1+ 15;" %";TAB( 33);I2;" %" 1195 PRINT 1220 FOR I= 1TO D:IF B$< > "Y"THEN 1260 1240 IF I= 2THEN 1260 1250 PRINT :PRINT ,,"CONFEDERATE GENERAL....."; 1255 PRINT "" 1260 PRINT ,"HOW MUCH DO YOU WISH TO SPEND FOR" 1270 PRINT ,,"- FOOD .......";:INPUT "$ ";F 1290 IF F> = 0THEN 1360 1300 IF R1< > 0THEN 1330 1310 PRINT ,,,"NO PREVIOUS ENTRIES" 1320 GOTO 1270 1330 PRINT ,,," KEEP SAME ALLOCATIONS" 1340 PRINT :GOTO 1510 1360 F(I)= F 1370 PRINT ,,"- SALARIES ...";:INPUT "$ ";H(I) 1390 N= 1 1400 IF H(I)< 0THEN 1490 1410 PRINT ,,"- AMMUNITION..";:INPUT "$ ";B(I):N= 2:IF B(I)< 0THEN 1490 1450 PRINT :IF F(I)+ H(I)+ B(I)< = D(I)THEN 1510 1470 PRINT ,,,"*** YOU ONLY HAVE $";D(I);" ***":GOTO 1270 1490 PRINT ,,,"+++ NEGATIVE VALUES NOT ALLOWED +++":ON NGOTO 1370,1410 1510 IF B$< > "Y"THEN 1550 1520 IF I= 2THEN 1550 1530 PRINT :PRINT ,,"UNION GENERAL....."; 1535 PRINT "" 1540 NEXT I 1550 FOR Z= 1TO D:IF B$< > "Y"THEN 1620 1570 ON ZGOTO 1580,1600 1580 PRINT ,"CONFEDERATE ";:GOTO 1620 1600 PRINT ,"UNION "; 1620 O= ((2* F(Z)^ 2+ H(Z)^ 2)/ F1^ 2+ 1) 1630 IF O< 10THEN 1660 1640 PRINT "MORALE IS HIGH" 1650 GOTO 1700 1660 IF O< 5THEN 1690 1670 PRINT "MORALE IS FAIR":GOTO 1700 1690 PRINT "MORALE IS POOR" 1700 IF B$< > "Y"THEN 1760 1710 O(Z)= O:NEXT Z 1730 O2= O(2):O= O(1) 1750 PRINT :PRINT ,,"CONFEDERATE GENERAL..." 1760 REM 1770 IF M< > 3THEN 1800 1780 PRINT ,"YOU ARE ON THE OFFENSIVE" 1790 GOTO 1840 1800 IF M< > 1THEN 1830 1810 PRINT ,"YOU ARE ON THE DEFENSIVE":GOTO 1840 1830 PRINT ,"BOTH SIDES ARE ON THE OFFENSIVE" 1840 PRINT 1845 GOSUB 260 1860 IF B$< > "Y"THEN 1910 1870 FOR I= 1TO 2:ON IGOTO 1890,1920 1890 PRINT ,"CONFEDERATE STRATEGY ";:GOTO 1920 1910 PRINT ,"YOUR STRATEGY "; 1920 INPUT Y 1930 IF ABS (Y- 3)< 3THEN 1960 1935 IF Y= 0THEN GOSUB 260:GOTO 1910 1940 PRINT ,,"STRATEGY NOT ALLOWED":GOTO 1910 1960 IF B$= "Y"THEN 2000 1970 IF Y= 5THEN 2830 1980 GOSUB 3110:GOTO 2170 2000 IF I= 2THEN 2040 2010 Y1= Y 2020 PRINT ,"UNION STRATEGY ";:NEXT I 2040 Y2= Y:Y= Y1:IF Y2= 5THEN 2020 2080 C6= (2* C2/ 5)* (1+ 1/ (2* (ABS (Y2- Y)+ 1))) 2090 C6= C6* (1.28+ (5* M2/ 6)/ (B(2)+ 1)) 2100 C6= INT (C6* (1+ 1/ O2)+ .5) 2120 E2= 100/ O2:IF INT (C6+ E2)< M6THEN 2190 2140 C6= INT (13* M6/ 20):E2= 7* C6/ 13:U2= 1 2170 REM 2180 PRINT 2190 PRINT " " 2195 PRINT ,,"CONFEDERACY";TAB( 30);"UNION" 2196 PRINT "" 2200 C5= (2* C1/ 5)* (1+ 1/ (2* (ABS (Y2- Y)+ 1))) 2210 C5= INT (C5* (1+ 1/ O)* (1.28+ F1/ (B(1)+ 1))+ .5) 2220 E= 100/ O 2230 IF C5+ 100/ O< M1* (1+ (P1- T1)/ (M3+ 1))THEN 2270 2240 C5= INT (13* M1/ 20* (1+ (P1- T1)/ (M3+ 1))) 2250 E= 7* C5/ 13:U= 1 2270 IF D= 1THEN 2500 2280 PRINT " CASUALTIES:";TAB( 20);C5;TAB( 31);C6 2290 PRINT " DESERTIONS:";TAB( 20);INT (E);TAB( 31);INT (E2) 2300 PRINT 2310 IF B$< > "Y"THEN 2530 2320 PRINT ,"COMPARED TO ACTUAL CASUALTIES AT ";C$ 2330 PRINT ,,"CONFEDERATE:";INT (100* (C5/ C1)+ .5);"% OF THE ORIGINAL" 2340 PRINT ,," UNION:";INT (100* (C6/ C2)+ .5);"% OF THE ORIGINAL" 2350 PRINT 2370 IF U< > 1THEN 2380 2375 IF U2= 1THEN 2460 2380 IF U= 1THEN 2420 2390 IF U2= 1THEN 2440 2400 IF C5+ E= C6+ E2THEN 2460 2410 IF C5+ E< C6+ E2THEN 2440 2420 PRINT ,,"*** THE UNION WINS ***";C$ 2430 GOTO 2600 2440 PRINT ,,"*** THE CONFEDERACY WINS *** ";C$ 2450 GOTO 2660 2460 PRINT ,,"- - - BATTLE OUTCOME UNRESOLVED - - -" 2470 W0= W0+ 1:IF A= 0THEN 2790 2490 GOTO 2680 2500 C6= INT (17* C2* C1/ (C5* 20)) 2510 E2= 5* O:GOTO 2280 2530 PRINT ,"YOUR CASUALTIES WERE:";INT (100* (C5/ C1)+ .5);"% THE ACTUAL 2540 PRINT ,,"AT ";C$ 2550 PRINT 2570 IF U= 1THEN 2590 2580 IF C5+ E< 17* C2* C1/ (C5* 20)+ 5* OTHEN 2630 2590 PRINT ,,"YOU LOSE AT ";C$ 2600 IF A= 0THEN 2790 2610 L= L+ 1:GOTO 2680 2630 PRINT ,,"* * * YOU WIN * * * ";C$ 2660 IF A= 0THEN 2790 2670 W= W+ 1 2680 T1= T1+ C5+ E:T2= T2+ C6+ E2:P1= P1+ C1:P2= P2+ C2 2720 Q1= Q1+ (F(1)+ H(1)+ B(1)) 2730 Q2= Q2+ F(2)+ H(2)+ B(2) 2740 R1= R1+ M1* (100- I1)/ 20 2750 R2= R2+ M2* (100- I2)/ 20 2760 M3= M3+ M1:M4= M4+ M2:GOSUB 3300 2790 U= 0:U2= 0:PRINT ,,"------------------------------":GOTO 620 2830 PRINT ,,,"THE CONFEDERACY HAS SURRENDERED":GOTO 2860 2850 PRINT ,,,"THE UNION HAS SURRENDERED" 2860 PRINT " " 2870 PRINT ,"THE CONFEDERACY "; 2880 PRINT "HAS WON";W;" BATTLES AND LOST";L;"" 2890 IF Y= 5THEN 2940 2900 IF Y2= 5THEN 2920 2910 IF W< = LTHEN 2940 2915 IF Y= 5THEN 2940 2920 PRINT ,,"* * * THE SOUTH HAS WON THE WAR * * *" 2930 GOTO 2950 2940 PRINT ,,"* * * THE NORTH HAS WON THE WAR * * *" 2950 PRINT :IF R1= 0THEN 3100 2970 PRINT ,"FOR THE ";W+ L+ WO;" BATTLES FOUGHT (EXCEPT RERUNS)" 2980 PRINT TAB( 32); 2990 PRINT "CONFEDERACY","UNION" 3000 PRINT ,"HISTORICAL LOSSES:";TAB( 36);INT (P1+ .5); 3005 PRINT TAB( 48); 3008 PRINT INT (P2+ .5) 3010 PRINT ,"SIMULATED LOSSES:";"";"";TAB( 36);INT (T1+ .5); 3015 PRINT TAB( 48); 3018 PRINT INT (T2+ .5):PRINT 3030 PRINT ,,"% OF ORIGINAL:";TAB( 36);INT (100* (T1/ P1)+ .5);TAB( 48);INT (100* (T2/ P2)+ .5) 3040 IF B$= "Y"THEN 3100 3050 PRINT :PRINT ,,"UNION INTELLIGENCE SUGGESTS THAT THE SOUTH" 3070 PRINT ,,"USED STRATEGIES 1, 2, 3, 4 IN THE FOLLOWING %" 3075 PRINT , 3080 PRINT ,S(1),S(2),S(3),S(4) 3100 GOTO 4010 3110 REM 3120 PRINT ,,"UNION STRATEGY IS: ";""; 3130 IF A< > 0THEN 3180 3140 INPUT "? ";Y2:IF Y2< = 0THEN 3160 3155 IF Y2< 5THEN 3290 3160 PRINT ,"ENTER 1, 2, 3, OR 4":GOTO 3140 3180 S0= 0:R= 100* RND (1) 3200 FOR I= 1TO 4:S0= S0+ S(I) 3240 IF R< S0THEN 3270 3250 NEXT I 3270 Y2= I:PRINT Y2;"" 3290 RETURN 3300 REM 3330 S= 3:S0= 0:FOR I= 1TO 4 3360 IF S(I)< = 5THEN 3390 3370 S(I)= S(I)- S:S0= S0+ S 3390 NEXT I 3400 S(Y)= S(Y)+ S0 3410 RETURN 3440 DATA "BULL RUN ",18000,18500,1967,2708,1 3450 DATA "SHILOH",40000,44894,10699,13047,3 3460 DATA "SEVEN DAYS ",95000,115000,20614,15849,3 3470 DATA "SECOND BULL RUN ",54000,63000,10000,14000,2 3480 DATA "ANTIETAM ",40000,50000,10000,12000,3 3490 DATA "FREDERICKSBURG ",75000,120000,5377,12653,1 3500 DATA "MURFREESBORO ",38000,45000,11000,12000,1 3510 DATA "CHANCELLORSVILLE ",32000,90000,13000,17197,2 3520 DATA "VICKSBURG ",50000,70000,12000,19000,1 3530 DATA "GETTYSBURG",72500,85000,20000,23000,3 3540 DATA "CHICKAMAUGA ",66000,60000,18000,16000,2 3550 DATA "CHATTANOOGA ",37000,60000,36700,5800,2 3560 DATA "SPOTSYLVANIA ",62000,110000,17723,18000,2 3570 DATA "ATLANTA ",65000,100000,8500,3700,1 3580 PRINT ,"JUL 21,1861. GEN BEAUREGARD, COM SOUTH, MET " 3590 PRINT ,"UNION FORCES UNDER GEN MCDOWELL IN A PREMATURE BATTLE" 3595 PRINT ,"AT BULL RUN. GEN JACKSON HELPED PUSH BACK UNION ATTACK." 3610 GOTO 1150 3620 PRINT ,"4/5 - 4/7, 1862. CSA SURPRISE ATTACK AT SHILOH" 3630 PRINT ,"FAILED DUE TO POOR ORGANIZATION." 3640 GOTO 1150 3650 PRINT ,"6/25 - 7/1 ,1862. GEN LEE (CSA) HELD OFFENSIVE THRU" 3660 PRINT ,"THE BATTLE AND FORCED GEN MCCLELLAN AND UNION AWAY" 3670 PRINT ,"FROM RICHMOND." 3680 GOTO 1150 3690 PRINT ,"8/29 - 8/30, 1862. COMBINED CSA FORCES UNDER LEE &" 3700 PRINT ,"JACKSON DROVE UNION FORCES BACK TO WASHINGTON." 3710 GOTO 1150 3720 PRINT ,"9/17, 1862. SOUTH FAILED TO INCORPORATE MARYLAND" 3730 PRINT ,"INTO THE CSA." 3740 GOTO 1150 3750 PRINT ,"12/13, 1862. CSA UNDER LEE REPULSED AN ATTACK BY" 3760 PRINT ,"THE UNION UNDER GEN BURNSIDE." 3770 GOTO 1150 3780 PRINT ,"12/31, 1862. CSA UNDER GEN BRAGG WON A CLOSE BATTLE." 3790 GOTO 1150 3800 PRINT ,"5/1 - 5/6, 1863. CSA HAD A COSTLY VICTORY AND LOST" 3810 PRINT ,"ONE OF THEIR FINEST GENERALS, 'STONEWALL' JACKSON." 3820 GOTO 1150 3830 PRINT ,"7/4, 1863. A COSTLY DEFEAT FOR THE SOUTH BECAUSE" 3840 PRINT ,"IT GAVE THE NORTH ACCESS TO THE MISSISSIPPI." 3850 GOTO 1150 3860 PRINT ,"7/1 - 7/3, 1863. A SOUTHERN MISTAKE BY LEE COST" 3870 PRINT ,"THEM ONE OF THE MOST CRUCIAL BATTLES OF THE WAR." 3880 GOTO 1150 3890 PRINT ,"9/15, 1863. CONFUSION IN A FOREST LED TO A COSTLY" 3900 PRINT ,"SOUTHERN VICTORY." 3910 GOTO 1150 3920 PRINT ,"11/25, 1863. AFTER THE CSA SIEGED GEN ROSENCRANS'" 3930 PRINT ,"ARMY FOR 3 MONTHS, GEN GRANT BROKE THE SIEGE." 3940 GOTO 1150 3950 PRINT ,"5/5, 1864. GRANT'S PLAN TO ISOLATE LEE BEGAN TO FAIL" 3960 PRINT ,"HERE, AND CONTINUED AT COLD HARBOR & PETERSBURG." 3970 GOTO 1150 3980 PRINT ,"AUG 1864. SHERMAN & 3 VETERAN ARMIES CONVERGED ON" 3990 PRINT ,"ATLANTA & DEALT THE DEATH BLOW TO THE CONFEDERACY." 4000 GOTO 1150 4010 END