TextWindow.CursorLeft = 26 TextWindow.WriteLine("CIVIL WAR") TextWindow.CursorLeft = 15 TextWindow.WriteLine("BIBLEBYTE BOOKS, MAPLE VALLEY, WASHINGTON") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") ' ORIGINAL GAME DESIGN 'CRAM, GOODIE, HIBBARD LEXINGTON H.S. ' MODIFICATIONS 'G. PAUL, R. HESS (TIES), 1973 ' UNION INFO ON LIKELY CONFEDERATE STRATEGY SArray[1]=25 SArray[2]=25 SArray[3]=25 SArray[4]=25 ' HISTORICAL DATA. CDArray[1] = "BULL RUN" M1Array[1] = 18000 M2Array[1] = 18500 C1Array[1] = 1967 C2Array[1] = 2708 MArray[1] = 1 CDArray[2] = "SHILOH" M1Array[2] = 40000 M2Array[2] = 44894 C1Array[2] = 10699 C2Array[2] = 13047 MArray[2] = 3 CDArray[3] = "SEVEN DAYS" M1Array[3] = 95000 M2Array[3] = 115000 C1Array[3] = 20614 C2Array[3] = 15849 MArray[3] = 3 CDArray[4] = "SECOND BULL RUN" M1Array[4] = 54000 M2Array[4] = 63000 C1Array[4] = 10000 C2Array[4] = 14000 MArray[4] = 2 CDArray[5] = "ANTIETAM" M1Array[5] = 40000 M2Array[5] = 50000 C1Array[5] = 10000 C2Array[5] = 12000 MArray[5] = 3 CDArray[6] = "FREDERICKSBURG" M1Array[6] = 75000 M2Array[6] = 120000 C1Array[6] = 5377 C2Array[6] = 12653 MArray[6] = 1 CDArray[7] = "MURFREESBORO" M1Array[7] = 38000 M2Array[7] = 45000 C1Array[7] = 11000 C2Array[7] = 12000 MArray[7] = 1 CDArray[8] = "CHANCELLORSVILLE" M1Array[8] = 32000 M2Array[8] = 90000 C1Array[8] = 13000 C2Array[8] = 17197 MArray[8] = 2 CDArray[9] = "VICKSBURG" M1Array[9] = 50000 M2Array[9] = 70000 C1Array[9] = 12000 C2Array[9] = 19000 MArray[9] = 1 CDArray[10] = "GETTYSBURG" M1Array[10] = 72500 M2Array[10] = 85000 C1Array[10] = 20000 C2Array[10] = 23000 MArray[10] = 3 CDArray[11] = "CHICKAMAUGA" M1Array[11] = 66000 M2Array[11] = 60000 C1Array[11] = 18000 C2Array[11] = 16000 MArray[11] = 2 CDArray[12] = "CHATTANOOGA" M1Array[12] = 37000 M2Array[12] = 60000 C1Array[12] = 36700 C2Array[12] = 5800 MArray[12] = 2 CDArray[13] = "SPOTSYLVANIA" M1Array[13] = 62000 M2Array[13] = 110000 C1Array[13] = 17723 C2Array[13] = 18000 MArray[13] = 2 CDArray[14] = "ATLANTA" M1Array[14] = 65000 M2Array[14] = 100000 C1Array[14] = 8500 C2Array[14] = 3700 MArray[14] = 1 D=Math.GetRandomNumber(999)/1000 TextWindow.WriteLine("") TextWindow.Write("DO YOU WANT INSTRUCTIONS? ") LN110: XD = TextWindow.Read() If XD="YES" Then Goto LN160 EndIf If XD="NO" Then Goto LN370 EndIf TextWindow.Write("YES OR NO — ") Goto LN110 LN160: TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("THIS IS A CIVIL WAR SIMULATION.") TextWindow.WriteLine("TO PLAY TYPE A RESPONSE WHEN THE COMPUTER ASKS.") TextWindow.WriteLine("REMEMBER THAT ALL FACTORS ARE INTERRELATED AND THAT YOUR") TextWindow.WriteLine("RESPONSES COULD CHANGE HISTORY. FACTS AND FIGURES USED ARE") TextWindow.WriteLine("BASED ON THE ACTUAL OCCURRENCE. MOST BATTLES TEND TO RESULT") TextWindow.WriteLine("AS THEY DID IN THE CIVIL WAR, BUT IT ALL DEPENDS ON YOU!!") TextWindow.WriteLine("") TextWindow.Write("THE OBJECT OF THE GAME IS TO WIN AS MANY BATTLES AS ") TextWindow.WriteLine("POSSIBLE.") TextWindow.WriteLine("") TextWindow.WriteLine("YOUR CHOICES FOR DEFENSIVE STRATEGY ARE:") TextWindow.WriteLine(" [1] ARTILLERY ATTACK") TextWindow.WriteLine(" [2] FORTIFICATION AGAINST FRONTAL ATTACK") TextWindow.WriteLine(" [3] FORTIFICATION AGAINST FLANKING MANEUVERS") TextWindow.WriteLine(" [4] FALLING BACK") TextWindow.WriteLine(" YOUR CHOICES FOR OFFENSIVE STRATEGY ARE:") TextWindow.WriteLine(" [1] ARTILLERY ATTACK") TextWindow.WriteLine(" [2] FRONTAL ATTACK") TextWindow.WriteLine(" [3] FLANKING MANEUVERS") TextWindow.WriteLine(" [4] ENCIRCLEMENT") TextWindow.WriteLine("YOU MAY SURRENDER BY TYPING A '5’ FOR YOUR STRATEGY.") LN370: TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.Write("ARE THERE TWO GENERALS PRESENT ") LN380: TextWindow.Write("(ANSWER YES OR NO)? ") BD = TextWindow.Read() If BD="YES" Then Goto LN430 EndIf If BD <> "NO" Then Goto LN380 EndIf TextWindow.WriteLine("") TextWindow.WriteLine("YOU ARE THE CONFEDERACY. GOOD LUCK!") TextWindow.WriteLine("") LN430: D=1 If BD <> "YES" Then Goto LN460 EndIf D=2 LN460: TextWindow.WriteLine("SELECT A BATTLE BY TYPING A NUMBER FROM 1 TO 14 ON") TextWindow.WriteLine("REQUEST. TYPE ANY OTHER NUMBER TO END THE SIMULATION.") TextWindow.WriteLine("BUT '0’ BRINGS BACK EXACT PREVIOUS BATTLE SITUATION") TextWindow.WriteLine("ALLOWING YOU TO REPLAY IT") TextWindow.WriteLine("") TextWindow.WriteLine("NOTE: A NEGATIVE FOOD ENTRY CAUSES THE PROGRAM TO ") TextWindow.WriteLine("USE THE ENTRIES FROM THE PREVIOUS BATTLE") TextWindow.WriteLine("") TextWindow.Write("DO YOU WISH BATTLE DESCRIPTIONS? ") LN560: TextWindow.Write("(ANSWER YES OR NO)? ") XD = TextWindow.Read() If XD="YES" Then Goto LN600 EndIf If XD <> "NO" Then Goto LN560 EndIf LN600: L=0 W=0 R1=0 Q1=0 M3=0 M4=0 P1=0 P2=0 T1=0 T2=0 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 LN620: TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.Write("WHICH BATTLE DO YOU WISH TO SIMULATE? ") A = TextWindow.ReadNumber() If A <> 0 Then Goto LN660 EndIf If R <> 0 Then Goto LN1140 EndIf LN660: If A <=0 Then Goto LN2860 EndIf If A >= 15 Then Goto LN2860 EndIf CD=CDArray[A] M1=M1Array[A] M2=M2Array[A] C1=C1Array[A] C2=C2Array[A] M=MArray[A] U=0 ' INFLATION CALC I1=10+(L-W)*2 I2=10+(W-L)*2 ' – MONEY AVAILABLE DArray[1]=100*Math.Floor((M1*(100-I1)/2000)*(1+(R1-Q1)/(R1+1))+.5) DArray[2]=100*Math.Floor(M2*(100-I2)/2000+.5) If BD <> "YES" Then Goto LN1050 EndIf DArray[2]=100*Math.Floor((M2*(100-I2)/2000)*(1+(R2-Q2)/(R2+1))+.5) LN1050: ' – MEN AVAILABLE M5=Math.Floor(M1*(1+(P1-T1)/(M3+1))) M6=Math.Floor(M2*(1+(P2-T2)/(M4+1))) F1=5*M1/6 TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("THIS IS THE BATTLE OF "+CD) If XD="NO" Then Goto LN1150 EndIf If A>11 Then Goto LN1130 EndIf If (A = 1) Then Goto LN3580 ElseIf (A = 2) Then Goto LN3620 ElseIf (A = 3) Then Goto LN3650 ElseIf (A = 4) Then Goto LN3690 ElseIf (A = 5) Then Goto LN3720 ElseIf (A = 6) Then Goto LN3750 ElseIf (A = 7) Then Goto LN3780 ElseIf (A = 8) Then Goto LN3800 ElseIf (A = 9) Then Goto LN3830 ElseIf (A = 10) Then Goto LN3860 ElseIf (A = 11) Then Goto LN3890 EndIf LN1130: If (A-11 = 1) Then Goto LN3920 ElseIf (A-11 = 2) Then Goto LN3950 ElseIf (A-11 = 3) Then Goto LN3980 EndIf LN1140: TextWindow.WriteLine(CD+" INSTANT REPLAY") LN1150: TextWindow.WriteLine("") TextWindow.WriteLine(" CONFEDERACY UNION") TextWindow.WriteLine("MEN "+M5+" "+M6) TextWindow.WriteLine("MONEY "+"$"+DArray[1]+" $"+DArray[2]) TextWindow.WriteLine("INFLATION "+(I1+15)+"%"+" "+I2+"%") TextWindow.WriteLine("") 'ONLY IN PRINTOUT IS CONFED INFLATION = I1+15%) ' – IF TWO GENERALS, INPUT CONFED. FIRST For I=1 To D If BD <> "YES" Then Goto LN1260 EndIf If I=2 Then Goto LN1260 EndIf TextWindow.Write("CONFEDERATE GENERAL—") LN1260: TextWindow.WriteLine("HOW MUCH DO YOU WISH TO SPEND FOR") LN1270: TextWindow.Write(" – FOOD……? ") F = TextWindow.ReadNumber() If F >= 0 Then Goto LN1360 EndIf If R1 <> 0 Then Goto LN1330 EndIf TextWindow.WriteLine("NO PREVIOUS ENTRIES") Goto LN1270 LN1330: TextWindow.WriteLine("ASSUME YOU WANT TO KEEP SAME ALLOCATIONS") TextWindow.WriteLine("") Goto LN1510 LN1360: FArray[I]=F LN1370: TextWindow.Write(" – SALARIES..? ") HArray[I] = TextWindow.ReadNumber() N=1 If HArray[I]<0 Then Goto LN1490 EndIf LN1410: TextWindow.Write(" – AMMUNITION? ") BArray[I] = TextWindow.ReadNumber() N=2 If BArray[I]<0 Then Goto LN1490 EndIf TextWindow.WriteLine("") If FArray[I]+HArray[I]+BArray[I] <= DArray[I] Then Goto LN1510 EndIf TextWindow.WriteLine("THINK AGAIN! YOU HAVE ONLY $"+DArray[I]) Goto LN1270 LN1490: TextWindow.WriteLine("NEGATIVE VALUES NOT ALLOWED.") If (N = 1) Then Goto LN1370 ElseIf (N = 2) Then Goto LN1410 EndIf LN1510: If BD <> "YES" Then Goto LN1550 EndIf If I=2 Then Goto LN1550 EndIf TextWindow.Write("UNION GENERAL—") EndFor LN1550: For Z=1 To D If BD <> "YES" Then Goto LN1620 EndIf If (Z = 1) Then Goto LN1580 ElseIf (Z = 2) Then Goto LN1600 EndIf LN1580: TextWindow.Write("CONFEDERATE ") Goto LN1620 LN1600: TextWindow.Write(" UNION ") ' – FIND MORALE LN1620: O=((2*FArray[Z]*FArray[Z]+HArray[Z]*HArray[z])/(F1*F1)+1) If O<10 Then Goto LN1660 EndIf TextWindow.WriteLine("MORALE IS HIGH") Goto LN1700 LN1660: If O<5 Then Goto LN1690 EndIf TextWindow.WriteLine("MORALE IS FAIR") Goto LN1700 LN1690: TextWindow.WriteLine("MORALE IS POOR") LN1700: If BD <> "YES" Then Goto LN1760 EndIf OArray[Z]=O EndFor O2=OArray[2] O=OArray[1] TextWindow.Write("CONFEDERATE GENERAL—") LN1760: ' – ACTUAL OFF/DEF BATTLE SITUATION If M <> 3 Then Goto LN1800 EndIf TextWindow.WriteLine("YOU ARE ON THE OFFENSIVE") Goto LN1840 LN1800: If M <> 1 Then Goto LN1830 EndIf TextWindow.WriteLine("YOU ARE ON THE DEFENSIVE") Goto LN1840 LN1830: TextWindow.WriteLine("BOTH SIDES ARE ON THE OFFENSIVE ") LN1840: TextWindow.WriteLine("") ' – CHOOSE STRATEGIES If BD <> "YES" Then Goto LN1910 EndIf For I=1 To 2 If (I = 1) Then Goto LN1890 ElseIf (I = 2) Then Goto LN1920 EndIf LN1890: TextWindow.Write("CONFEDERATE STRATEGY? ") Goto LN1920 LN1910: TextWindow.Write("YOUR STRATEGY? ") LN1920: Y = TextWindow.ReadNumber() If Math.Abs(Y-3)<3 Then Goto LN1960 EndIf TextWindow.WriteLine("STRATEGY "+Y+" NOT ALLOWED.") Goto LN1910 LN1960: If BD="YES" Then Goto LN2000 EndIf If Y=5 Then Goto LN2830 EndIf Sub3110() Goto LN2170 LN2000: If I=2 Then Goto LN2040 EndIf Y1=Y LN2020: TextWindow.Write("UNION STRATEGY? ") EndFor LN2040: Y2=Y Y=Y1 If Y2=5 Then Goto LN2020 EndIf ' 'SIMULATED LOSSES-NORTH C6=(2*C2/5)*(1+1/(2*(Math.Abs(Y2-Y)+1))) C6=C6*(1.28+(5*M2/6)/(B[2]+1)) C6=Math.Floor(C6*(1+1/O2)+.5) ' – IF LOSS > MEN PRESENT, RESCALE LOSSES E2=100/O2 If Math.Floor(C6+E2)Then Goto LN2190 EndIf C6=Math.Floor(13*M6/20) E2=7*C6/13 U2=1 LN2170: ' – CALCULATE SIMULATED LOSSES TextWindow.WriteLine("") LN2190: TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine(" CONFEDERACY UNION") C5=(2*C1/5)*(1+1/(2*(Math.Abs(Y2-Y)+1))) C5=Math.Floor(C5*(1+1/O)*(1.28+F1/(BArray[1]+1))+.5) E=100/O If C5+100/OThen Goto LN2270 EndIf C5=Math.Floor(13*M1/20*(1+(P1-T1)/(M3+1))) E=7*C5/13 U=1 LN2270: If D=1 Then Goto LN2500 EndIf LN2280: TextWindow.WriteLine(Text.Append("CASUALTIES ",C5)+" "+C6) TextWindow.WriteLine(Text.Append("DESERTIONS ",Math.Floor(E))+" "+Math.floor(E2)) TextWindow.WriteLine("") If BD <> "YES" Then Goto LN2350 EndIf TextWindow.WriteLine("COMPARED TO THE ACTUAL CASUALTIES AT "+CD) TextWindow.WriteLine("CONFEDERATE: "+Math.Floor(100*(C5/C1)+.5)+"% OF THE ORIGINAL") TextWindow.WriteLine("UNION: "+Math.Floor(100*(C6/C2)+.5)+"% OF THE ORIGINAL") LN2350: TextWindow.WriteLine("") ' – 1 WHO ONE If U <> 1 Then Goto LN2380 EndIf If U2=1 Then Goto LN2460 EndIf LN2380: If U=1 Then Goto LN2420 EndIf If U2=1 Then Goto LN2440 EndIf If C5+E=C6+E2 Then Goto LN2460 EndIf If C5+EThen Goto LN2440 EndIf LN2420: TextWindow.WriteLine("THE UNION WINS "+CD) Goto LN2600 LN2440: TextWindow.WriteLine("THE CONFEDERACY WINS "+CD) Goto LN2660 LN2460: TextWindow.WriteLine("BATTLE OUTCOME UNRESOLVED") W0=W0+1 If A=0 Then Goto LN2790 EndIf Goto LN2680 LN2500: C6=Math.Floor(17*C2*C1/(C5*20)) E2=5*O Goto LN2280 TextWindow.WriteLine("YOUR CASUALTIES WERE "+math.floor(100*(C5/C1)+.5)+"% OF ") TextWindow.WriteLine("THE ACTUAL CASUALTIES AT "+CD) TextWindow.WriteLine("") ' – FIND WHO WON If U=1 Then Goto LN2590 EndIf If C5+E<17*C2*C1/(C5*20)+5*O Then Goto LN2630 EndIf LN2590: TextWindow.WriteLine("YOU LOSE "+CD) LN2600: If A=0 Then Goto LN2790 EndIf L=L+1 Goto LN2680 LN2630: TextWindow.WriteLine("YOU WIN "+CD) ' – CUMULATIVE BATTLE FACTORS WHICH ALTER HISTORICAL ' RESOURCES AVAILABLE.IF A REPLAY DON’T UPDATE. LN2660: If A=0 Then Goto LN2790 EndIf W=W+1 LN2680: T1=T1+C5+E T2=T2+C6+E2 P1=P1+C1 P2=P2+C2 Q1=Q1+(F[1]+H[1]+B[1]) Q2=Q2+(F[2]+H[2]+B[2]) R1=R1+M1*(100-I1)/20 R2=R2+M2*(100-I2)/20 M3=M3+M1 M4=M4+M2 Sub3300() LN2790: U=0 U2=0 TextWindow.WriteLine("—————") Goto LN620 ' ——FINISH OFF LN2830: TextWindow.WriteLine("THE CONFEDERACY HAS SURRENDERED") Goto LN2860 TextWindow.WriteLine("THE UNION HAS SURRENDERED.") LN2860: TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.WriteLine("") TextWindow.Write("THE CONFEDERACY ") TextWindow.WriteLine("HAS WON "+W+" BATTLES AND LOST "+L) If Y=5 Then Goto LN2940 EndIf If Y2=5 Then Goto LN2920 EndIf If W <= L Then Goto LN2940 EndIf If Y=5 Then Goto LN2940 EndIf LN2920: TextWindow.WriteLine("THE CONFEDERACY HAS WON THE WAR") Goto LN2950 LN2940: TextWindow.WriteLine("THE UNION HAS WON THE WAR") LN2950: TextWindow.WriteLine("") If R1=0 Then Goto LN3100 EndIf TextWindow.WriteLine("FOR THE "+(W+L+W0)+" BATTLES FOUGHT (EXCUDING RERUNS)") TextWindow.Write(" ") TextWindow.WriteLine(" CONFEDERACY UNION") TextWindow.WriteLine(Text.Append("HISTORICAL LOSSES ", Math.floor(P1+.5))+" "+Math.floor(P2+.5)) TextWindow.WriteLine(Text.Append("SIMULATED LOSSES ",Math.floor(T1+.5))+" "+Math.Floor(T2+.5)) TextWindow.WriteLine("") TextWindow.WriteLine(Text.Append("% OF ORIGINAL ",math.floor(100*(T1/P1)+.5))+" "+Math.floor(100*(T2/P2)+.5)) If BD="YES" Then Goto LN3100 EndIf TextWindow.WriteLine("") TextWindow.WriteLine("UNION INTELLIGENCE SUGGESTS THAT THE SOUTH USED ") TextWindow.WriteLine("STRATEGIES 1, 2, 3, 4 IN THE FOLLOWING PERCENTAGES") TextWindow.WriteLine(" 1 – " + SArray[1]) TextWindow.WriteLine(" 2 – " + SArray[2]) TextWindow.WriteLine(" 3 – " + SArray[3]) TextWindow.WriteLine(" 4 – " + SArray[4]) ' ——————————— LN3100: TextWindow.Write("Press ENTER to Stop") JJJ = TextWindow.Read() Program.End() Sub Sub3110 ' – UNION STRATEGY IS COMPUTER CHOSEN TextWindow.Write("UNION STRATEGY IS ") If A <> 0 Then Goto LN3180 EndIf LN3140: Y2 = TextWindow.ReadNumber() If Y2 <=0 Then Goto LN3160 EndIf If Y2<5 Then Goto LN3290 EndIf LN3160: TextWindow.WriteLine("ENTER 1 , 2 ,3 , OR 4 (USUALLY PREVIOUS UNION STRATEGY)") Goto LN3140 LN3180: S0=0 R=100*Math.GetRandomNumber(999)/1000 For I=1 To 4 S0=S0+SArray[I] ' – IF ACTUAL STRATEGY INFO IS IN PROGRAM DATA STATEMENTS ' THEN R-100 IS EXTRA WEIGHT GIVEN TO THAT STATEGY. If RThen Goto LN3270 EndIf EndFor ' – IF ACTUAL STRAT. IN,THEN HERE IS Y2= HIST. STRAT. LN3270: Y2=I TextWindow.WriteLine(Y2) LN3290: EndSub Sub Sub3300 ' LEARN PRESENT STRATEGY, START FORGETTING OLD ONES ' – PRESENT STRATEGY OF SOUTH GAINS 3*S, OTHERS LOSE S ' PROBABILITY POINTS, UNLESS A STRATEGY FALLS BELOW 5%. S = 3 S0=0 For I=1 To 4 If SArray[I] <= 5 Then Goto LN3390 EndIf SArray[I]=SArray[I]-S S0=S0+S LN3390: EndFor SArray[Y]=SArray[Y]+S0 EndSub LN3580: TextWindow.WriteLine("JULY 21, 1861. GEN. BEAUREGARD, COMMANDING THE SOUTH, MET") TextWindow.WriteLine("UNION FORCES WITH GEN. MCDOWELL IN A PREMATURE BATTLE AT") TextWindow.WriteLine("BULL RUN. GEN. JACKSON HELPED PUSH BACK THE UNION ATTACK.") Goto LN1150 LN3620: TextWindow.WriteLine("APRIL 6-7, 1862. THE CONFEDERATE SURPRISE ATTACK AT") TextWindow.WriteLine("SHILOH FAILED DUE TO POOR ORGANIZATION.") Goto LN1150 LN3650: TextWindow.WriteLine("JUNE 25-JULY 1, 1862. GENERAL LEE (CSA) UPHELD THE") TextWindow.WriteLine("OFFENSIVE THROUGHOUT THE BATTLE AND FORCED GEN. MCCLELLAN") TextWindow.WriteLine("AND THE UNION FORCES AWAY FROM RICHMOND.") Goto LN1150 LN3690: TextWindow.Write("AUG 29-30, 1862. THE COMBINED CONFEDERATE FORCES UNDER") TextWindow.WriteLine(" LEE") TextWindow.WriteLine("AND JACKSON DROVE THE UNION FORCES BACK INTO WASHINGTON.") Goto LN1150 LN3720: TextWindow.WriteLine("SEPT 17, 1862. THE SOUTH FAILED TO INCORPORATE MARYLAND") TextWindow.WriteLine("INTO THE CONFEDERACY.") Goto LN1150 LN3750: TextWindow.WriteLine("DEC 13, 1862. THE CONFEDERACY UNDER LEE SUCCESSFULLY") TextWindow.WriteLine("REPULSED AN ATTACK BY THE UNION UNDER GEN. BURNSIDE.") Goto LN1150 LN3780: TextWindow.Write("DEC 31, 1862. THE SOUTH UNDER GEN. BRAGG WON A CLOSE ") TextWindow.WriteLine("BATTLE.") Goto LN1150 LN3800: TextWindow.WriteLine("MAY 1-6, 1863. THE SOUTH HAD A COSTLY VICTORY AND LOST") TextWindow.WriteLine("ONE OF THEIR OUTSTANDING GENERALS, 'STONEWALL’ JACKSON.") Goto LN1150 LN3830: TextWindow.WriteLine("JULY 4, 1863. VICKSBURG WAS A COSTLY DEFEAT FOR THE SOUTH") TextWindow.WriteLine("BECAUSE IT GAVE THE UNION ACCESS TO THE MISSISSIPPI.") Goto LN1150 LN3860: TextWindow.Write("JULY 1-3, 1863. A SOUTHERN MISTAKE BY GEN. LEE AT ") TextWindow.WriteLine("GETTYSBURG") TextWindow.WriteLine("COST THEM ONE OF THE MOST CRUCIAL BATTLES OF THE WAR.") Goto LN1150 LN3890: TextWindow.WriteLine("SEPT. 15, 1863. CONFUSION IN A FOREST NEAR CHICKAMAUGA LED") TextWindow.WriteLine("TO A COSTLY SOUTHERN VICTORY.") Goto LN1150 LN3920: TextWindow.WriteLine("NOV. 25, 1863. AFTER THE SOUTH HAD SIEGED GEN. ROSENCRANS'") TextWindow.WriteLine("ARMY FOR THREE MONTHS, GEN. GRANT BROKE THE SIEGE.") Goto LN1150 LN3950: TextWindow.WriteLine("MAY 5, 1864. GRANT’S PLAN TO KEEP LEE ISOLATED BEGAN TO") TextWindow.WriteLine("FAIL HERE, AND CONTINUED AT COLD HARBOR AND PETERSBURG.") Goto LN1150 LN3980: TextWindow.WriteLine("AUGUST, 1864. SHERMAN AND THREE VETERAN ARMIES CONVERGED") TextWindow.WriteLine("ON ATLANTA AND DEALT THE DEATH BLOW TO THE CONFEDERACY.") Goto LN1150