In this simulation of Amelia Earhart's around-the-world flight attempt, you take the place of the most famous aviatrix of all time. Flying in the cockpit of a twin-engine Lockheed Electra, you face the same decisions and hazards Amelia Earhart faced in 1937.

Prior to each flight, you are given information about your physical condition, the distance to the next destination, and the current weather. Once aloft, you may encounter a variety of problems: headwinds, heavy rain, engine malfunctions, excessive fuel consumption, and navigation difficulties.

Of course, your skill as an aviator is unquestioned, but to increase your chances of survival, remember the following:

As she left New Guinea for Howland Island, Amelia Earhart flew under some of the worst conditions of the trip—as you will discover—and she had to turn back for the Gilbert Islands, a decision that ultimately led to her death. Can you learn from her mistakes and make it to Howland, Hawaii, and finally back to Oakland?

sample output


In the summer of 1920, on vacation from her pre-med studies at Columbia University, Amelia Earhart took a trip to California. She found the West exhilarating, but what she enjoyed most of all were the air meets, carnival-like affairs with stunt flying and barnstorming. She attended every air meet she could find and was finally rewarded with a chance to ride with the not-yet-famous barnstormer, Frank Hawks. She later recalled the flight: "By the time I had got two or three hundred feet off the ground I knew I had to fly." With some financial help from her understanding mother and against the wishes of her father, she bought her first plane, a secondhand, bright yellow Kinner Canary on her 25th birthday, July 24, 1922. She recalled: "The motor was so rough that my feet went to sleep after more than a few minutes on the rudder bar."

She did what flying she could afford for the next few years. She had dropped out of the pre-med program and taken jobs teaching English to foreign students in Boston and then doing social work at Denison House, one of America's oldest social settlements. Her salary of $60 a month didn't permit much flying, and, in fact, she was so short of cash that she arranged to lend her plane out for demonstrations so as not to be charged hangar storage, which she said, "would have annihilated my salary."

At Denison House in May 1928, she received a phone call from publishing heir and public-relations promoter George Putnam asking if she was interested in doing something dangerous in the air. She recalled, "At first I thought the conversation was a joke and said so. Several times before I had been approached by bootleggers who promised rich reward and no danger. But the frank admission of risk stirred my curiosity. References were demanded and supplied—good references." And then Putnam dropped the bombshell that would change her life forever: "Would you like to be the first woman to fly the Atlantic?"

Amelia's reply was a prompt yes—provided the equipment was adequate and the crew capable. She went to New York that same night and met Putnam. It turned out that he was looking for a female passenger—someone with social grace, education, charm, a pleasant appearance, and not necessarily a pilot. Still, Amelia showed Putnam her pilot's license, the first granted to a woman in the U.S. However, she came away from the meeting feeling that Putnam was not impressed with her credentials.

As it turned out, her impression was dead wrong, and three days later she was formally asked to make the flight. Indeed, Putnam was far more impressed with Amelia than he initally let on, and over the next two years he repeatedly proposed marriage, which she, just as consistently, turned down. Late in the fall of 1930, at the Lockheed factory in Burbank, California, Putnam asked Amelia to marry him. Her resistance worn down, she casually accepted, and they were married on February 7, 1931. In a departure for the 1930s, Amelia continued to use her maiden name, preferring to be called "AE." Similarly, she always called Putnam "GP."

Amerlia Earhart's route closely traced the equator

Although AE did not pilot the Atlantic flight, she was appointed honorary captain. As it turned out, this demanded far more courage than anyone anticipated. The plane—called "Friendship"—was a Fokker trimotor seaplane that had been purchased from Commander Richard E. Byrd by Mrs. Frederick (Amy) Guest. Byrd agreed to act as technical consultant for the flight, while pilot Wilmer L. "Bill" Stultz and mechanic Louis "Slim" Gordon prepared the plane itself.

All went according to plan, and on June 3, 1928, the Friendship, carrying Stultz, Gordon, and Earhart, left Boston Harbor on the initial flight leg to Halifax, Nova Scotia. On June 5, the trimotor reached Trepassey, Newfoundland, and was readied for the transoceanic flight leg.

Unfortunately, a long spell of bad weather set in, and the trio was stranded in Trepassey for 13 frustrating days. Faced with absolutely nothing to do, Stultz gave in to his one weakness, alcohol. For the next 12 days Amelia spent as much time with him as possible playing cards, talking, taking him for long walks on the beach, and otherwise trying to distract him from the bottle.

This was not the first time she had had to deal with alcoholism. Years earlier she had helped her mother hold their family together when her father became an alcoholic. When her parents were finally divorced, it was Amelia who paid all his bills and continued to think of him as an upright and virtuous man.

When, over the North Atlantic, a weather "window" finally opened on June 17, Stultz was totally inebriated and unable to rise from his bed under his own power. Putnam later recalled that "AE did what I suppose either was the bravest or silliest act of her whole career …. She simply got hold of her pilot and all but dragged him to the plane. It was a fine-drawn choice. He wasn't in good shape, but perhaps—once he took off—his flying instinct, which was so sure, so complete, would come uppermost."

Stultz tried to take off three times and aborted each time when the plane failed to reach the required 50 mph for liftoff. Finally, on the fourth try, Stultz managed to reach 50 mph, in spite of the two outboard engines "coughing salt water." However, from the moment of takeoff, Stultz drew from a deep reserve of skill and resolve, keeping the Friendship on course for 20 hours and 40 minutes and making an excellent landing at Burry Port, Wales, on the morning of June 18.

As she was not the pilot, Amelia expected the trip to be nothing more than an interesting adventure, after which she would slip back into a life of social work and anonymity. However, it was she who received most of the attention at receptions in Southampton and London. There was to be no return to her old way of life.

From then on, her life became a whirlwind of publicity tours, article writing, and, occasionally, flying. Putnam frequently arranged lecture tours consisting of as many as 27 or 28 engagements in a single month, with barely enough time to get from one to another.

Although she consoled herself that she was doing the causes of both aviation and women some good, she was sorely disappointed that because of her "success," she actually had less time to fly than before. Indeed, in 1932 she confided to some of her friends in the Ninety-Nines, a women's flying group, that she felt a fraud at times because of her lack of experience. As author Vincent Loomis observed in his book, Amelia Earhart: The Final Story, "There was little doubt that she was sincere in wanting to promote the cause of women in aviation, but there was not much regard for her ability as a pilot and she knew it. It was time to make a true record flight."

And make it, she did. Not just one, but many. On May 20, 1932, Earhart piloted a Lockheed Vega across the Atlantic, becoming the first woman to do so. Although her goal had been to land in Paris, she flew through five wicked hours of stormy North Atlantic weather and was forced to land in a meadow near Londonderry, Ireland. Nevertheless, five years to the day after Lindberg made the first solo flight across the Atlantic, she duplicated his feat. A few months later, on August 24, 1932, she set the women's transcontinental speed record, flying nonstop from Los Angeles to Newark in 19 hours and 5 minutes.

A year later, in July 1933, she entered the Bendix east-to-west transcontinental race. She was the third competitor to finish and the first woman. Six days later, flying back to Newark, she broke her own record, making the cross-country flight in 17 hours and 7 minutes.

In January 1934, six Navy aircraft made the first Pacific crossing from the mainland to Hawaii. Amelia resolved to do the same flight—solo—as soon as possible, but a heavy lecture schedule prevented her from attempting it until a year later. On Christmas Day 1934, Amelia's faithful Vega was lashed to the aft tennis deck of a Matson cruise ship bound for Hawaii. Shortly after the first of the year, she and the plane were ready for the flight to the mainland. Unfortunately, the weather was not ready; torrential rains doused everyone's spirits for nearly a week. Finally, on the afternoon of January 11, 1935, the weather cleared enough for Amelia to slip out on what she announced was a test flight. Of course, it was no test flight and, after flying through the night and landing at Oakland, California, 2400 miles later, Amelia Earhart became the first person, male or female, to fly solo across any part of the Pacific Ocean. Now she was a legend in truth as well as in Putnam's public-relations campaigns.

Earhart made one more record flight, a 2185-mile trip from Mexico City to Newark nonstop in 14 hours and 19 minutes on May 8, 1935, before turning her attention to preparing for and financing a round-the-world flight attempt.

Amelia was increasingly uncomfortable flying single-engine planes over large bodies of water, so she decided she must have a twin-engine plane for the round-the-world attempt. Moreover, special fuel tanks and a fuel-management system would have to be fitted for the long Pacific Ocean flight legs. Also, a Sperry autopilot was to be installed to give Amelia some relief on the longer flight legs.

While Putnam was busy trying to raise money and obtain political support, Paul Mantz, AE's technical advisor, began to prepare the plane, and Amelia began as tight a flight-training regimen as she could squeeze between her lecture tours. (She gave 150 lectures in 1936.) She also had to learn to fly the Lockheed Electra, a relatively large twin-engine, 10-passenger transport plane.

In August and September 1936, Amelia, along with Mantz and mechanic Bo McKneely, made several long-distance shakedown flights. It was a good thing that they did. On one flight the fuel system didn't work properly, and the recently-installed navigation hatch blew open.

As the planning progressed, it became quite apparent that Amelia would not be able to fly the Electra and navigate at the same time. Thus it was decided that she would take along a navigator, at least for the Pacific Ocean flight legs. Harry Manning, a ship's captain who had explained the rudiments of celestial navigation to AE on the way back from England in 1928, was selected as the navigator.

Amelia decided to give Manning a small practical test of his abilities, and in early January 1937 she took him far out over the Pacific and asked him to plot a course back to Los Angeles. On the return, they hit the California coast about 200 miles north of Los Angeles. AE claimed the navigation was in error, while Manning said Amelia flew off course and tended to drift consistently to the left when trying to follow a heading. In any event, both of them agreed that an assistant navigator would be a wise precaution on the Pacific flights.

The best choice for an assistant navigator seemed to be Fred Noonan, one of Pan Am's finest navigators—at least until just two months earlier when the airline had fired him for drinking on the job. Pan Am manager Harry Drake recalled of Noonan, "Many were the nights I carried him home and rolled him into bed dead drunk." When Noonan was sober he was one of the ablest navigators in the world, and he promised Amelia that he would stay sober for the trip.

Originally, the round-the-world flight was intended to proceed from Oakland, California in a westward direction, beginning with the three long Pacific flight legs. Preparation was finally completed in early 1937, and the takeoff planned for March 15. The crew was assembled in Oakland in early March, but as it had been so many times in the past, the weather was uncooperative.

Finally, at 4:00 P.M. on March 17, the Electra was pulled from the hangar, and at 4:37 it lifted off for Hawaii. Poor weather returned as night fell, but Amelia handled the plane well while Manning and Noonan took star sightings, manned the radio, and continually plotted and replotted the course.

As the Electra neared Hawaii, the radio operators at Makapuu asked for a radio transmission one minute long from the aircraft to provide a fix on its position. Noonan held down the telegraph key, but the generator could not deliver the power required for such a long transmission and burned out. Fortunately, a second generator powered most of the other electrical gear on the aircraft, so the loss was not too serious.

The Electra touched down at Wheeler Field 15 hours and 52 minutes and 2410 miles after leaving Oakland. Early the next morning, the Electra was flown to Luke Field, which had a longer runway. There 590 gallons of high-octane military fuel were added to her tanks, bringing to 900 gallons the total fuel on board for the 1800-mile flight to Howland Island.

At 7:35 A.M. on March 20, with Manning and Noonan aboard, AE started the long taxi down the runway. As the plane gained speed, suddenly it pulled to the right, and ten seconds later it lay in a crumpled heap on the side of the runway. Witnesses differ in their accounts of the accident. Some claim a tire blew out. Amelia believed the right shock absorber gave way. But Paul Mantz thought that AE was jockeying the throttles—something he had warned her not to do many times in practice flights.

The plane was taken by ship back to California where—$25,000 and five weeks later—it was repaired and readied for another flight attempt. Manning decided to quit the adventure, giving as his reason that his leave time from his company was up. Much later he admitted that he had felt that "Amelia was responsible for the crash in Hawaii. She overcorrected to the left, then to the right."

The repairs delayed departure until May. That meant that AE would be making the Atlantic crossing in late June and the Caribbean flights in early July. Normal weather conditions for that period were considered unfavorable, so the direction of the flight was reversed. It would be made from west to east—from Oakland across the U.S., down to South America, across the Atlantic, across Africa and the Arabian Gulf to India, across Southeast Asia down to Australia, then to New Guinea, Howland Island, Hawaii, and back to the U.S.

Early on May 21, Amelia, Putnam, Noonan, and McKneely climbed into the Electra for another shakedown flight. Without a word to the press or anyone else, the round-the-world flight attempt was underway. The flights from Oakland to Burbank to Tucson went off without a hitch. An engine fire on the ground at Tucson caused some minor damage to the rubber fittings but was cleaned up in a few hours.

The next morning a ferocious sandstorm temporarily blocked the way out of Tucson, but the Electra finally reached New Orleans on the night of May 22. On Sunday morning, May 23, AE took off for the 688-mile flight to Miami, where she settled in for a final week of preparation. The plane was fully serviced, checked, and rechecked; long-range weather forecasts were collected; and thousands of details were attended to.

On June 1, 1937, at 5:56 A.M., Earhart and Noonan lifted off from Miami bound for San Juan, Puerto Rico. Gorgeous weather was their welcome companion, and they set down in San Juan at 1:10 p.m., right on schedule. Getting up at 3:45 A.M. on June 2, Amelia hoped for a dawn departure, but she was not able to take off until nearly 7:00 A.M. on the flight to Caripito, Venezuela. The flight was short, 624 miles, but AE had to buck 30 mph headwinds the entire way.

Heavy black rain clouds hung thick about Caripito as the Electra lifted off early on the morning of June 3. Again, strong headwinds cut the average speed, and it took nearly 4 1/2 hours to cover the 610 miles to Paramaribo, Dutch Guiana.

A very early departure from Paramaribo the next day left AE and Noonan without a current weather report; nevertheless, after some ten hours of flying, the town of Fortaleza, Brazil, 1332 miles away, came into view. A fuel-gauge leak had to be fixed, and because Pan Am had excellent facilities there, AE decided to have an engine overhaul in Fortaleza in preparation for the Atlantic crossing, rather than at the jumping-off airport in Natal, Brazil.

The next day they took to the air at 4:50 A.M. and arrived, 270 miles later, in Natal at 6:55 A.M. The weather was unsettled all the way, and a tropical deluge caught the plane just as it landed. Amelia had hoped to leave that evening for Africa, but the rain squalls and muddy field prevented their departure. She finally got off at 3:15 A.M., using a secondary grass runway because a perverse wind was blowing directly across the longer, lighted runway. Noonan had been drinking heavily with his old Pan Am buddies, and observers at Natal sensed a growing tension between pilot and navigator that belied their outward cordiality.

Headwinds prevailed for most of the way. Then came a stretch of doldrums, some clear skies, and finally, in the words of AE, "the heaviest rain I ever saw. Tons of water descended, a buffeting weight bearing so heavily on the ship I could almost feel it." Although Dakar, French West Africa, was their objective, when they reached the coast a thick haze blanketed the landscape and there was no sign of civilization. Noonan thought that they should turn south, a correct judgment, because, as they later learned, they were 80 miles north of Dakar. However, AE decided to turn north, and half an hour later they found themselves at St. Louis, Senegal.

The following day, June 8, they flew the 163 miles to Dakar, where they were forced to lay over to repair a broken fuel gauge. AE also decided to have an overall engine check there. From June 9 to 14, they hopped across the African continent in six flights, varying in length from 340 to 1150 miles. A variety of problems were faced and overcome: weather, navigation, language, minor malfunctions, and fuel.

On June 15, the pair flew from Assab, Eritrea, to Karachi, India. A few hours out, the mixture control lever jammed, preventing AE from regulating the quantity of fuel consumed by the right engine. To economize, she reduced her speed dramatically. Nevertheless, they covered the 1920 miles in 13 hours and 10 minutes and became the first flyers ever to make a non-stop flight from the Red Sea to India.

In 1937, Karachi aerodrome, the main intermediate point for all air traffic from Europe to India, Australia, and the Far East, was one of the biggest in the world. AE and Noonan spent two days in Karachi having a major engine overhaul and replacing many small but important items for the first time on the trip.

On June 17, AE piloted the Electra 1390 miles to Calcutta, India. Despite a series of severe rain squalls, the Electra averaged 163 mph, making the trip to Calcutta in 8 1/2 hours.

Now, in the middle of the monsoon season, AE faced a number of risky situations. On June 18, the field at Calcutta was thoroughly soaked, making a takeoff very dangerous. However, there was a momentary break in the weather, and she knew that she might not get another chance to get out for several days or even weeks. She described the takeoff: "The plane clung for what seemed like ages to the heavy sticky soil before the wheels finally lifted, and we cleared with nothing at all to spare the fringe of trees at the airdrome's edge." A bit over two hours later she put down at Akyab, Burma, refueled, and took off for Rangoon. However, the weather grew increasingly hostile, until the pair found themselves in monsoon rains so savage that they beat patches of paint off the wings. After trying to get through for two hours, AE gave up and retreated to Akyab.

On June 19, the pair set out from Akyab bound for Bangkok, Siam, but again moonsoon rains forced a landing at Rangoon. Horrible weather continued to plague them as they barely managed to get through the following day to Bangkok for refueling, and then on to Singapore.

Early on June 21, they flew to Bandoeng, Java, where AE decided to lay over two days to let the local KLM mechanics give the Electra a good going over. At 3:45 A.M. on June 24, as AE was warming up the plane, she found that an instrument refused to function. Repairs took a good part of the day, and they did not get off until 2:00 P.M. AE reached Saurabaya, Java, late in the day but, because of continued problems with the instruments, she was forced to return to the much better facilities at Bandoeng for more repairs the next day.

The instrument problems seemed finally cured, and on June 27, Earhart and Noonan left Bandoeng for Australia. Bucking strong headwinds most of the way, AE was forced to put down at a tiny airstrip at Koepang on the island of Timor. Early the next morning they set out across the Timor Sea, again bucking strong headwinds, and landed at Port Darwin, Australia, four hours later. There they were pounced upon by a medical inspector and quarantined on the plane for ten hours.

At 6:29 A.M. on June 29, the pair took off for Lae, New Guinea. They covered the 1200 miles over a portion of the Indian ocean dotted with small islands in 7 hours and 43 minutes. Adverse wind conditions and threatening clouds held the flyers at Lae for two days. In addition, Noonan was unable because of radio difficulties to set the chronometers, which were vital to accurate navigation.

Discouraged by these problems and steadily losing faith in Noonan because of his drinking, AE worked out a revised flight plan with the assistance of Harry Balfour, the Guinea Airways radio operator at Lae. Amelia tried unsuccessfully to persuade Balfour to go with her in addition to or instead of Noonan. The new routing was slightly north of the original course but passed over Nauru Island, which, because of its giant phosphate mining lights, was one of the few islands visible at night.

AE took off from Lae at 10:00 A.M. on July 2 and reached Nauru 11 hours later, right on schedule. From there she turned slightly south to Howland. However, her old bugaboo, consistently drifting left when following a bearing, raised its ugly head again. Thus, eight hours later when she thought she was about 100 miles out of Howland, she was indeed 100 miles short but also 170 miles north. After briefly searching and finding no sign of Howland, she made a desperate about-face in an attempt to reach the Gilbert Islands four hours to the west.

However, she was again north of her intended course, so instead of hitting the Gilberts she reached Mili Atoll, one of the southernmost atolls of the Marshall Islands chain. As she tried to put down on a long stretch of coral at Barre Island, the landing gear caught on the coral, the plane was wrenched to a stop, a wing was torn off, and Noonan was thrown forward, injuring his forehead and knee.

Earhart and Noonan were aided by the Marshallese, but word of their landing spread, and several days later they were picked up by the Japanese military, who occupied the Marshalls. On July 14, the flyers and the wrecked Electra were put aboard the Koshu, a small Japanese survey ship. On July 19 the Koshu reached Truk Island, where Earhart and Noonan were transferred to a Japanese Navy seaplane and flown to Saipan, Japanese headquarters in the Pacific.

There they were accused by the Japanese of spying, and were mercilessly questioned. Between interrogations, they were held in small damp cells in Garapan prison where, on a diet of weak soup, both became ill with dysentery. Resenting the treatment, Noonan eventually lost his temper and threw his bowl of soup at a guard. He was immediately taken out and beheaded. Amelia's strong willpower kept her going for 14 months until finally, in August 1938, she died of dysentery.

In 1935, Charles Lindberg had given up flying and moved to England after the kidnapping and death of his son. That same year Wiley Post was killed in a crash on a flight with Will Rogers in Alaska. A few years earlier Eddie Rickenbacker had given up flying to become an airline executive, and Blanche Stuart Scott had given up her role as "Tomboy of the Air" for a career in radio and the movies. Thus, with the death of Amelia Earhart in 1938, the golden age of aviation came to a close.


Earhart, Amelia. Last Flight. New York: Harcourt, Brace and Company, 1937.

Loomis, Vincent V. Amelia Earhart: The Final Story: New York: Random House, 1985.


The Around-the-World Flight main program is only 29 lines long (Lines 230–510); most of the calculations and dialogue are contained in eight major subroutines, 19 sub-subroutines, an initialization section, and an end-of-game summary section.

In the initialization section (Lines 160–200), variables are dimensioned and initial values are entered by means of two subroutines. I have, of course, used city and country names as they were in 1937; most of the African names are different today.

Three lines (130, 140, 200) are used to get a seed for the Randomize statement without the user having to enter a number between -32768 and 32767. The variable RN is set to -32500 and then, in Line 140 and 200, RN is incremented by 1 until any key is pressed. The length of the input buffer, LEN(INKEY$) will be zero until a key is pressed. After a key is pressed, LEN(INKEY$) will be greater than zero, and RN will have some value greater than -32500. Line 200 checks the value of RN to see that it is not out of range (above 32767) and, if it is, subtracts 65535 as often as necessary to bring RN into the range -32768 to 32767. It is then used as the seed for RANDOMIZE.

For the most part, the main program simply calls one subroutine after another. Very short operations are done in the main program. These include printing the current location, airplane condition, and weather; determining if there is a delay in takeoff; resetting the day and date; and fueling the plane.

The date subroutine (Lines 530–620) determines and prints the month and date based on the number of days into the flight (DY) from the starting date of May 20, 1937.

The aircraft-repairs subroutine (Lines 640–710) looks to see if there has been a malfunction in a previous flight leg (M > 0). If so, you are asked if you want to make repairs. (Hint: You are well-advised to do so. Amelia Earhart always made necessary repairs, even to the smallest items, as soon as possible. Not making repairs substantially increases the probability of major problems on future flight legs.) If a repair is to be made, the time (in hours) to fix it is a direct function of the facilities of the airport; a minor repair will take three hours at a well-equipped airport and nine hours at a poorly-equipped one (Line 690). If the repair time is five hours or more and the next destination is more than 600 miles away (more than four flying hours) or if the repair time is nine hours or more, you will not be able to take off the same day (Line 700).

The major-overhaul subroutine (Lines 730–830) is similar to the repairs subroutine. The program advises you to have a major overhaul "sometime soon" if flying time is between 39 and 60 hours and "as soon as possible" if flying time is more than 60 hours. You are also permitted to have a major overhaul at any of four very well-equipped airports: Miami, Fortaleza, Karachi, and Bandoeng. A major overhaul is not possible at airports with fair or poor facilities.

What is the probability of mechanical trouble? This is a function that took some thought and finally turned out to be quite simple. The mechanical condition of the plane is determined by the total number of flying hours and the speed flown. Although it is possible to push the plane to its limit, the engines and other mechanical components will last longer if they are used with, as Amelia put it, TLC. On the other hand, you can't fly too slowly, or fatigue becomes an overwhelming factor. Hence, the mechanical condition can be represented by cumulative distance times average speed. This is a better measure of wear and tear on the plane than just hours flown. Condition (PC) is normalized to 1.0 for 6000 miles at 150 mph (Line 1500), or 40 flying hours. On her round-the-world flight attempt, Amela tried to have a preventative overhaul approximately every 40 flight hours.

However, you may be tempted to fly longer intervals between overhauls or may find yourself at an airport that does not have the facilities for a major overhaul. What then? Until the recommended overhaul interval is reached, the plane can be considered very reliable. (See major engine-problem routine at Lines 1490 to 1610). At one-half the overhaul interval there is a slim 3% chance of malfunction, and even at 80% of the interval, the chance of a problem has risen to only a little over 5%. However, beyond the overhaul interval, the probability of a malfunction rises dramatically; fly 1.3 times the recommended interval and the chance of a problem is nearly 78%, while flying 1.5 times the interval increases the chance of failure to 92%. Obviously, the probability can never exceed 100%.

If we plot these probabilities (see graph on next page), we see a very familiar curve. Although it can be expressed several ways, the tangent function is one of the simplest. The upper and lower limits of the tangent function are π/2 and -π/2, but we want the probability to range between 0 and 1. Okay, that's easy to fix by dividing the answer by pi and adding 0.5. However, we want the input variable to range between 0 (no flight hours) and 2 (a risk-taker flying twice the recommended interval before servicing). There are several pairs of constants that make the probability of a problem equal to 10% at the scheduled maintenance point (my estimated figure for Amelia's Lockheed Electra). I finally settled on the following equation (Line 1510) in which PC represents the plane condition (ranges between 0 to 2 or more, depending upon speed and hours flown) and MP represents the probability of a mechanical problem (varies between 0 and 1):

MP = ATN(14 * PC - 17) / 3.14159 + .5

This probability is compared to a random number between 0 and 1 (Line 1520) to determine if there is an actual failure. If there is a failure in one engine, you have a 33.3% probability of being able to nurse the plane along to the next airport on one engine, a 33.3% chance of having to go back to the airport from which you just took off, and a 33.3% chance of a forced landing (Line 1570).


The forced landing routine (Lines 1630–1720) first checks to see if you are over water; if so, you don't have a prayer. If you are over land, you have an 80% chance of surviving a crash, although the crash ends the round-the-world flight.

Minor malfunctions, of which Amelia Earhart saw many, are annoying but seldom fatal (Lines 1740–1880). On the other hand, if a previous malfunction was never fixed, the combination of two or more minor malfunctions is equivalent to losing one engine. If you have just one minor malfunction, you are given an opportunity to push on or to return to the airport from which you took off. The longer you fly with a minor malfunction, the greater the probability that it will cause major problems—up to 5% if you cover the entire flight distance. Hence, if you are less than one-third of the way to the next location, you probably should turn back. Amelia usually lived with her minor malfunctions and turned back only once on her round-the-world flight attempt, when she had serious instrument problems between Bandoeng and Saurabaya, Java. This situation is re-created in the program (Lines 2270–2320).

Another serious problem facing the flyer is that of fuel consumption and weight (Lines 1900–2020), which, of course, are interrelated. More fuel means longer flying time, but it also means more weight and higher fuel-consumption. The Electra had dramatically different fuel consumption rates depending upon its speed; this is a key calculation (Line 1910). The Electra could cruise at between 120 and 170 mph. Amelia preferred a speed of just over 150 mph whenever possible to balance fuel consumption with flight time (and pilot fatigue). It would reduce the fun of playing the game to print the exact relationships here; but at 150 mph, the Electra gets approximately two miles per gallon. Amelia also reported several serious problems with the fuel/air mixture control system. A problem in this system requires you to throttle way back because fuel consumption increases enormously.

At Lae, New Guinea, Amelia stripped nearly everything nonessential out of the Electra in order to save precious weight and increase fuel range. This is simulated in Line 1970.

Another problem related to the fuel load is that the takeoff distance is lengthened when the plane is heavier (Lines 1080–1250). This is a major factor at airports with short runways made of grass and dirt. When these fields are wet, which is frequently the case in Brazil and Southeast Asia, the plane may not be able to get off with a heavy fuel load. Indeed, in monsoon conditions or after days of heavy rain, the plane may be unable to break out of the mud at all—regardless of fuel load.

Another problem on takeoff is that of synchronizing the two engines. Amelia had serious problems with this and smashed the Electra on the takeoff from Honolulu on her first east-to-west round-the-world attempt (Lines 1200–1240).

Weather conditions affect the round-the-world flight attempt in many ways. Bad weather may prevent you from taking off at all (Lines 410–450). In the case of bad weather, you can elect to delay your takeoff for a day or more—often a wise option if a monsoon is raging outside. The weather aloft (Lines 1320–1420) can also be a headache. In the event of a monsoon, you have a 60% chance of getting through (or around) it and a 40% chance of having to turn back. In the Caribbean you will always face strong headwinds which lengthen flying times and increase fuel consumption; across the South Atlantic you face mixed weather conditions.

Weather also affects landings (Lines 2980–3200). If it has been raining and the field is soggy, you run a risk of getting a wheel stuck in the mud on a grass and dirt field. You should try to contact the tower by radio to learn the condition of the field before you land. If it is soggy, you are given the option of going back. On short flight legs this is feasible, but on longer flights you probably won't have enough fuel.

One unusual problem that Amelia faced on her round-the-world flight attempt was a navigator with a serious alcohol problem. Although Fred Noonan had supposedly gone on the wagon before the flight, he soon reverted to his old ways, particularly as the flight went on; tensions increased, and delays grew longer (Lines 920–1010 and 2040–2110). In the program, if your navigator is drunk when you are ready to take off, you have the option of waiting a day on the chance that he will be sober tomorrow. If you take off with him not fully functional, you have to rely upon dead reckoning and landmarks—feasible over land, much more difficult over water.

Seven special situations, some of which Amelia Earhart faced, are simulated in the program. The navigation was incorrect on the Atlantic crossing (Lines 2130–2200); this you must face, even if your navigator is stone sober. But it is not a serious problem; you simply hit the coast of Africa at the wrong place 95% of the time.

Out of Akyab, Burma, you will fly through a monsoon (Lines 2220–2250). Because you are following the coast, this again is not a terribly serious problem, except that you may have to land at an intermediate destination.

Already mentioned are the instrument problems on the Bandoeng to Saurabaya flight leg. Also in this part of the world, the Australian authorities refused to recognize the signature of a doctor on Amelia's vaccination records and quarantined her, Noonan, and the Electra for ten hours at Port Darwin (Lines 3220–3240).

Your most serious problem is on the flight leg from Lae, New Guinea, to Howland Island (Lines 2340–2680). Your only visible guidance comes from the arc lights at the mines at Nauru. If your navigator is functional (Noonan wasn't), you have a 30% chance of finding Howland; if not, your chance is only 2%. If you turn back for the British Gilbert Islands, you have a 1.5% chance of finding them and a 98.5% chance of winding up—as Amelia did—at the Marshall Islands.

Two situations which, unfortunately, Amelia did not face are the flight legs of Howland Island to Honolulu (Lines 2700–2770) and Honolulu to Oakland (Lines 2790–2960).

Five frequently used subroutines are found in Lines 3820 to 4010. They check for yes/no answers to questions, provide a pause, and make beeping noises to represent a radio signal, warning indicator, and alarm clock. Incidentally, if you want to speed up play of the game, you can lower the value of the FOR loop from 1500 to 1000 or 500 or even 0.

The end-of-flight summary (Lines 4030–4130) provides you with some overall statistics of your flight and that of Amelia Earhart, and gives you a chance to play the game again.


A Answer of user (0 = Yes, 1 = No)
A$ Answer of user (Y or N)
AB Abort flight for one day indicator
C(n) Runway construction (n = 1 - 32, index of C$)
C$(n) Runway construction description (n = 1 - 3)
D Distance over a flight leg
DA Day of month
DC Distance (cumulative) total
DF Distance, maximum based on speed and fuel
DJ Distance over a flight leg, temporary
DM Distance (cumulative) since last maintenance
DX(n) Distance over a flight leg (n = 1 - 32)
DY Day into flight
F Facilities (index of F$)
F$(n) Facilities description (n = 1 - 4)
FU Fuel for a flight leg, gallons (user input)
FX(n) Facilities by location (n = 1 - 32)
I Index variable, temporary
J Location (current) index
JA Location (destination) index
K Index variable, temporary
LA$(n) Location, city name (n = 1 - 32)
LB$(n) Location, state or country name (n = 1 - 32)
M$(n) Malfunction description (n = 1 - 11)
MO$ Month
M Malfunction indicator (index for M$)
MD Miles flown prior to a malfunction on flight leg
ME Miles yet to fly after a malfunction
MJ Malfunction of instruments over Java indicator
MP Malfunction of engine probability
MQ Malfunction not fixed indicator
NC Navigator condition (scale of 1 to 100)
ND Navigator condition (0 = functional, 1 = not)
PC Plane condition (needs servicing when PC = 1.0)
PD Plane condition based on distance and time (DM * DM / TM)
R(n) Runway length (n = 1 - 32, index of R$)
R$(n) Runway length description (n = 1 - 3)
RF Radio frequency change indicator
RN Random probability of finding Howland Island also Randomize seed at start of program
S Speed over a flight leg (user input)
SA Speed over a flight leg, actual
SQ Speed, reduced because of fuel (user input)
SW Speed of wind over a flight leg
TC Flight time (cumulative) total
TE Flight time over a flight leg, expected actual
TF Flight time, maximum based on fuel and speed
TG Ground time, total at one location
TM Flight time (cumulative) since last maintenance also time in minutes at end of program
TP Ground time for overhaul
TQ Ground time for repairs
TR Flight time, temporary
W Weather, probable, at airport
WA Weather, actual, at airport (index of W$)
W$(n) Weather conditions description (n = 1 - 6)
WX(n) Weather, probable, at each airport (n = 1 - 32)
X$ Temporary string variable
X Temporary variable for random number
Y Temporary variable
Z$(n) Type of crowd (n = 1 - 6)

Note: all variables use the following measurement units:

D	Distance	Miles
S	Speed		Miles/hour (mph)
T	Time (air)	Hours
T	Time (ground)	Days


Download EARHART.BAS (tokenized BASIC format)

110 LOCATE 10, 17 : PRINT "Around the World Flight of Amelia Earhart, 1937"
120 PRINT : PRINT : PRINT TAB(29) "(c) David H. Ahl, 1986" : LOCATE 23, 27
130 PRINT "Press any key to continue." : RN = -32500
140 WHILE LEN(INKEY$) = 0 : RN = RN + 1 : WEND : GOSUB 4150 : 'Print scenario
150 '
160 'Initialization
170 DIM LA$(35), LB$(34), FX(35), C(35), R(35), WX(35), DX(35), M$(12)
180 GOSUB 3260 : GOSUB 3450 : 'Initialize text variables and airport data
190 PRINT TAB(16) "Press any key when you're ready to go"; : WHILE LEN(INKEY$) = 0
200 RN = RN + 1 : WEND : WHILE RN > 32767 : RN = RN -65535! : WEND : RANDOMIZE RN : CLS
210 '
220 'Main program
230 J = J + 1 : DY = DY + 1 : TG = 0 : GOSUB 3950 : GOSUB 3980 : 'New day & destination
240 F = FX(J) : W = WX(J) : D = DX(J) : 'Set variables for new location
250 GOSUB 530 : 'Date subroutine
260 PRINT "You are at "LA$(J)", "LB$(J)". Repair facilities are ";F$(F)"."
270 PRINT "Runway is made of ";C$(C(J));" and is ";R$(R(J))" for your plane."
280 IF DC = 0 THEN 350 : 'Don't print mileage before you start
290 PRINT : PRINT "You have flown" DC "miles in total and you have flown"
300 PRINT INT(TM + .5) "hours since your last major overhaul."
310 GOSUB 640 : 'Aircraft-repairs subroutine
320 GOSUB 730 : 'Major-overhaul subroutine
330 IF TP + TQ = 0 THEN 350 : 'Any delay for repairs or overhaul?
340 TG = TG + TP + TQ : DY = DY + TP + TQ : TP = 0 : TQ = 0 : GOSUB 530
350 GOSUB 850 : 'Pilot-condition subroutine
360 GOSUB 920 : 'Navigator-condition subroutine
370 IF ND = 1 THEN 460 : 'Delay a day because navigator is drunk?
380 GOSUB 1030 : 'Next-destination subroutine
390 INPUT "How many gallons of fuel do you want in the plane"; FU
400 IF FU > 1150 THEN PRINT "Maximum capacity is 1150 gallons." : GOTO 390
410 'Actual weather may be slightly better or worse than expected
420 WA = INT(W + 1.6 * RND(1) - .3) : IF WA > 6 THEN WA = 6 ELSE IF WA < 1 THEN WA = 1
430 PRINT "Current weather : "; W$(WA) : IF WA < 3 THEN 480
440 INPUT "Do you want to wait a day for better weather (Y or N)";A$
450 GOSUB 3820 : IF A = 1 THEN 480 : 'Abort flight because of weather?
460 AB = 0 : TG = TG + 1 : DY = DY + 1 : GOSUB 530 : 'Increase day counters
470 GOTO 350
480 GOSUB 1080 : 'Take-off subroutine
490 IF AB = 1 THEN 460 : 'Was flight aborted on takeoff?
500 GOSUB 1270 : 'In-flight subroutine
510 GOSUB 3950 : GOTO 230
520 '
530 'Date subroutine
540 IF DY < 12 THEN 560 ELSE IF DY > 56 THEN 590 ELSE IF DY > 41 THEN 570
550 MO$ = "June" : DA = DY - 11 : GOTO 580
560 MO$ = "May" : DA = DY + 20 : GOTO 580
570 MO$ = "July" : DA = DY - 41
580 PRINT : PRINT "Date: " MO$;DA", 1937" : RETURN
590 PRINT : PRINT "It's July 16 and your money has completely run out."
600 PRINT "Sorry, you were unsuccessful. Perhaps you and George Putnam"
610 PRINT "can raise enough money for a try again next year."
620 GOTO 4030
630 '
640 'Aircraft-repairs routine
650 TQ = 0 : IF M = 0 THEN RETURN : 'If no malfunctions, return to main program
660 PRINT "Your ";M$(M);" has been giving you problems."
670 INPUT "Do you want to have it repaired here (Y or N)";A$ : GOSUB 3820
690 M = 0 : PRINT "That will take" 2 * F + 1 "hours";
700 IF (DX(J + 1) > 600 AND F > 1) OR F > 3 THEN 710 ELSE PRINT "." : RETURN
710 PRINT " and will prevent you from leaving today." : TQ = 1 : RETURN
720 '
730 'Major-overhaul routine
740 TP = 0 : IF TM < 28 THEN 780 ELSE IF TM < 39 THEN 790 : 'Check flying hours
750 PRINT "You should probably have a major overhaul"; : IF TM > 60 THEN 770
760 PRINT "sometime soon." : GOTO 790
770 PRINT "as soon as possible." : GOTO 790
780 IF (J = 5 OR J = 9 OR J = 19 OR J = 25) AND TM > 12 THEN 800 ELSE RETURN
790 IF F > 2 THEN RETURN : 'Major overhaul not possible at this airport
800 INPUT "Do you want a major overhaul here (Y or N)";A$ : GOSUB 3820
810 TP = 0 : IF A = 1 THEN RETURN
820 IF RND(1) > .7 THEN TP = F + 1 ELSE TP = F : '30% chance that overhaul takes
830 DM = 0 : TM = 0 : PRINT "That will take" TP "day(s)." : RETURN : 'extra day
840 '
850 'Pilot-condition routine
860 X = 10 * RND(1) : PRINT : PRINT "You are feeling";
870 IF X < 5 THEN 890 ELSE IF X < 8 THEN 900
880 PRINT "as if you could use some more sleep." : RETURN
890 PRINT "pretty good, all things considered." : RETURN
900 PRINT "fit as a fiddle and ready to go." : RETURN
910 '
920 'Navigator-condition routine
930 ND = 0 : NC = .002 * DC + 15 * TG : PRINT "Your navigator is ";
940 IF NC > 80 THEN 980 ELSE IF NC > 50 THEN 970 ELSE IF NC > 25 THEN 960
950 PRINT "well rested and ready to go." : RETURN
960 PRINT "a bit under the weather from drinking last night." : RETURN
970 PRINT "droopy and has a bad hangover." : GOTO 990
980 PRINT "drunk and barely able to walk."
990 PRINT "Do you want to wait until tomorrow and hope he will be in"
1000 INPUT " better shape (Y or N)";A$ : GOSUB 3820 : IF A = 1 THEN RETURN
1010 ND = 1 : RETURN
1020 '
1030 'Next-destination routine
1040 IF J = 10 OR J = 21 THEN JA = J + 2 ELSE JA = J + 1
1050 PRINT "Your next destination is "LA$(JA)", "LB$(JA)"," DX(JA) "miles away."
1070 '
1080 'Take-off routine
1090 PRINT "Revving up engines…everything seems okay…rolling…"
1100 PRINT "…picking up speed and…"; : GOSUB 3950
1110 X = RND(1) : IF X > .99 THEN 1190 ELSE IF X > .98 THEN 1200 : 'Problem 2% of time
1120 Y = C(J) + R(J) + WA : 'Runway condition and weather
1130 IF Y > 9 AND X > .85 THEN 1160 : 'Monsoons and muddy runway?
1140 IF Y > 8 AND FU > 900 AND X > .6 THEN 1160 : 'Bad weather and big fuel load?
1150 PRINT "you're finally off!" : PRINT : RETURN
1160 PRINT "the wheels just won't lift out of the mud!
1170 PRINT "Reluctantly you concede there is no chance of a takeoff today."
1180 AB = 1 : RETURN
1190 PRINT "the landing gear strut broke!" : GOTO 1220
1200 PRINT "engines aren't synchronized…plane is turning!"
1210 GOSUB 3950 : BEEP : BEEP : BEEP : PRINT
1220 PRINT "Disaster! The Electra is lying helpless on the runway with"
1230 PRINT "a broken wing, smashed engine, and structural damage just"
1240 PRINT "as in the ill-fated March 20 takeoff from Honolulu. So sorry."
1250 GOTO 4030 : 'Flight failed, exit program
1260 '
1270 'In-flight routines (weather, equipment, fuel consumption, navigation)
1280 INPUT "At what speed do you wish to fly";S
1290 IF S > 119 AND S < 171 THEN 1330
1300 PRINT "Minimum cruising speed is 120 mph; maximum is 170 mph." : GOTO 1280
1310 '
1320 'Weather-aloft routine
1330 WA = INT(WA + 1.6 * RND(1) - .3) : IF WA > 6 THEN WA = 6 ELSE IF WA < 1 THEN WA = 1
1340 PRINT "Current weather aloft is : "; W$(WA)
1350 IF J = 6 OR J = 7 THEN SW = 30 : PRINT "Strong 30+ mph headwind."
1360 IF J = 10 THEN SW = 15 : PRINT "Mixed weather…doldrums…headwinds."
1370 IF J < 20 OR J > 22 THEN 1440
1380 SW = 20 : PRINT "The plane is being buffetted about, ";
1390 IF RND(1) > .4 THEN 1420 : '60% chance of getting thru a monsoon
1400 PRINT "and you'll have to turn back."
1410 GOTO 1880 : 'Turning back
1420 PRINT "but you decide to push on."
1430 '
1440 'Compute flight data and update cumulative figures
1450 SA = S - SW : DJ = DX(JA) : TE = DJ / SA : 'Actual speed, expected time
1460 DC = DC + DJ : TC = TC + TE : 'Cumulative distance and time
1470 DM = DM + DJ : TM = TM + TE : 'Cumulative maintenance distance and time
1480 '
1490 'Major-engine-problem routine
1500 PC = DM * DM / (900000! * TM) : 'Plane condition; needs maint when pc = 1.0
1510 MP = ATN(14 * PC - 17) / 3.14159 + .5 : 'Probability of major engine problem
1520 IF RND(1) > MP THEN 1740 : 'Actual failure?
1530 M = 11 : GOSUB 3920
1540 PRINT "Right engine gauges are going crazy…major engine failure!"
1550 INPUT "Want to try to limp along on one engine (Y or N)"; A$ : GOSUB 3820
1560 IF A = 0 THEN 1630 : 'Trying to limp along on one engine
1570 X = RND(1) : IF X < .333 THEN 1600 ELSE IF X > .667 THEN 1650
1580 PRINT "No chance of making "LA$(JA)". You'll have to turn back."
1590 GOTO 1880 : 'Turning back
1600 GOSUB 3950 : PRINT "Whew! It looks as if you can nurse it along."
1610 GOTO 2040 : 'Skip minor problems and fuel-consumption routines
1620 '
1630 'Forced-landing routine
1640 IF J = 4 OR J = 10 OR J = 27 OR J > 28 THEN 1710 : 'Over water?
1650 PRINT "Going down…looking for a suitable place to land…nothing…"
1660 IF RND(1) > .2 THEN 1680 : '80% chance of surviving a forced landing
1670 GOSUB 3950 : PRINT " C R A S H ! No survivors." : GOTO 4030
1680 PRINT "maybe that small clearing…"; : GOSUB 3950 : PRINT "you made it!"
1690 PRINT "The plane is a wreck but at least you're alive."
1700 GOTO 4030 : 'It's all over
1710 PRINT "Going down…nothing but water..looking for a reef or anything…"
1720 GOTO 1670
1730 '
1740 'Minor malfunction
1750 IF RND(1) > .3 THEN 1900 : '30% chance of a minor malfunction
1760 IF N > 0 THEN MQ = M ELSE MQ = 0 : 'Previous malfunction not fixed?
1770 M = INT(1 + 10 * RND(1)) : GOSUB 3920 : PRINT : PRINT "Malfunction in the " M$(M)
1780 IF MQ = 0 THEN 1810
1790 PRINT "This combined with the previous malfuntion of the " M$(MQ) " will"
1800 PRINT "create very serious problems for you." : GOTO 1570
1810 MD = INT(DJ * RND(1)) : 'Miles flown in this flight leg
1820 PRINT "You have flown" MD "miles of this flight leg. Do you want to"
1830 INPUT "push on (Y or N)";A$ : GOSUB 3820 : IF A = 0 THEN ME = DJ - MD ELSE ME = MD
1840 IF RND(1) < .05 * ME / DJ THEN 1850 ELSE 1870 : 'Up to 5% chance of going down
1850 GOSUB 3920 : PRINT "Uh oh. Fuel-feed system has malfunctioned also."
1860 PRINT "Things look pretty bad." : PRINT : GOSUB 3950 : GOTO 1640
1870 IF A = 0 THEN 1900 : 'Going on
1880 AB = 1 : J = J - 1 : JA = J : FU = .7 * FU : 'Turning back
1890 '
1900 'Fuel consumption
1910 TF = FU * (5.6 / S - .02) : 'Flying time for amount of fuel
1920 IF TF * .8 > TE THEN 2040 : 'Enough fuel for flight leg
1930 IF S < 121 THEN PRINT "Fuel consumption seems very high…" : GOTO 1990
1940 PRINT "You're going to be tight on fuel. Perhaps you should throttle"
1950 INPUT "back. What speed would you like";SQ
1960 IF SQ < 120 THEN INPUT "Too slow. Now then, what speed";SQ : GOTO 1960
1970 IF J > 28 AND FU > 1100 THEN 2040 : 'Longer range on stripped plane
1980 IF S - SQ < 9 THEN 2000 : 'Cut back speed enough to make a difference?
1990 IF TF * .96 > TE THEN 2040 : 'Run out of fuel?
2000 PRINT "Uh oh…the right engine is sputtering…"
2010 GOSUB 3950 : PRINT "And now the left engine too. You're out of fuel."
2020 GOTO 1630 : 'Go to forced-Landing routine
2030 '
2040 'Navigation
2050 IF NC < 51 THEN 2090 : 'Is navigator functional?
2060 PRINT "Your navigator isn't going to be of much use to you today."
2070 PRINT "You'll have to rely upon dead reckoning and landmarks."
2080 IF M = 5 OR M = 7 THEN PRINT "Moreover, your " M$(M) " is on the fritz."
2090 TR = INT(TE) : IF TR < 2 THEN TR = 1.2
2100 PRINT : PRINT "You have been flying for over" TR "hours but there is"
2110 PRINT "no sign of "; : IF AB = 0 THEN 2130 ELSE AB = 0 : GOTO 2990
2120 '
2130 'Special situations
2140 IF J< >10 THEN 2220 : 'Atlantic crossing
2150 PRINT "land. Pushing onwards. "; : GOSUB 3950 : PRINT "Wow! Land! Look!"
2160 PRINT "Approaching coast of Africa; ahead of you is ";
2170 IF RND(1) > .95 THEN PRINT "Dakar! Nice flying!" : J = 11 : GOTO 3010
2180 PRINT "nothing but jungle. Turning north." : GOSUB 3950
2190 PRINT "A half hour later you sight St. Louis, Senegal, and decide to land."
2200 JA = 11 : DX(12) = 163 : GOTO 3010 : 'Distance between Dakar and St. Louis
2210 '
2220 IF J< >21 THEN 2270 : 'Moonsoons out of Akyab
2230 PRINT "anything except the deluge of water. You'll have to put down at"
2240 PRINT "Rangoon…if you can find it." : GOSUB 3950 : PRINT "Look! There!"
2250 JA = 22 : GOTO 3000 : 'Reset destination to Rangoon
2260 '
2270 IF J< >25 THEN 2340 : 'Serious instrument problems in Java
2280 IF MJ = 1 THEN 2990 : 'Have we been through this already?
2290 PRINT "civilization. Moreover, several of your instruments"
2300 PRINT "are behaving quite badly. Reluctantly, you turn back to"
2310 PRINT "Bandoeng because you know that facilities at Saurabaya are minimal."
2320 DC = DC - 300 : DM = DM - 300 : TC = TC - 2 : TM = TM - 2 : J = 24 : JA = 24 : MJ = 1 : GOTO 3040
2330 '
2340 IF J< >29 THEN 2700 : 'Lae to Howland Island
2350 PRINT "land. You spotted the arc lights at Nauru 8 hours ago."
2360 PRINT "Calling Coast Guard cutter Itasca…";: GOSUB 3880 : GOSUB 3950
2370 IF RF = 1 THEN 2390 ELSE PRINT "Nothing."
2380 PRINT "Switch radio frequency…try again…" : RF = 1 : GOTO 2360
2390 PRINT "Still nothing." : GOSUB 3950 : PRINT "You're very low on fuel!"
2400 PRINT "You can search for Howland or turn back to the Gilbert Islands."
2410 INPUT "Want to search (Y or N)";A$ : GOSUB 3820 : IF A = 1 THEN 2470
2420 FOR K = 1 TO 4 : PRINT "Searching…" : GOSUB 3950 : NEXT K : GOSUB 3950
2430 IF NC < 30 THEN RN = .3 ELSE RN = .02 : 'If navigator okay, 30% chance of
2440 ' finding Howland Island, otherwise only 2%
2450 IF RND(1) > RN THEN 1630 : 'Go to forced-landing routine
2460 PRINT "My gosh! There it is! A tiny speck of land. WOW!" : GOTO 3010
2470 PRINT "Tuvalu, the only island in the Gilberts with a landing strip,"
2480 PRINT "is almost 4 hours distant on a course almost due west."
2490 FOR K = 1 TO 4 : PRINT "Flying…" : GOSUB 3950 : NEXT K : GOSUB 3950
2500 PRINT : PRINT "Look! Coral reefs. A small island." : GOSUB 3950
2510 PRINT "Virtually no fuel left…both engines sputtering…try to put"
2520 PRINT "it down in that flat area along the beach." : GOSUB 3950
2530 PRINT "You made it down…a wing tore off the plane…navigator injured."
2540 GOSUB 3950 : PRINT "Men in uniform are coming over the sand dunes."
2550 GOSUB 3950 : GOSUB 3950 : PRINT : IF RND(1) > .985 THEN 2650
2560 PRINT "They're Japanese. An English-speaking native tells you that"
2570 PRINT "this is Mili Atoll in the Marshall Islands. You are put on a"
2580 PRINT "warship bound for Majuro. Days later you are put on another"
2590 PRINT "Japanese warship bound for Saipan. The Japanese accuse you"
2600 PRINT "of being a spy, torture you, and put you in a tiny prison cell."
2610 GOSUB 3950 : PRINT : GOSUB 3950
2620 PRINT "After months in a tiny, damp prison cell you contract dysentery."
2630 PRINT "Your navigator is executed and in August 1938 you die of disease"
2640 PRINT "and thus become the first U.S. casualities of World War II."
2650 GOTO 4030
2660 PRINT "They're British. You're safe. In three days the USS Itasca"
2670 PRINT "picks you up and deposits you in Honolulu a week later."
2680 GOTO 4030
2690 '
2700 IF J< >30 THEN 2790 : 'Howland to Honolulu
2710 PRINT "the Hawaiian Islands. But you're buoyed by the thought"
2720 PRINT "that you found Howland Island in the middle of the Pacific."
2730 FOR K = 1 TO 4 : PRINT "Flying…"; : GOSUB 3950 : NEXT K : GOSUB 3950
2740 PRINT : PRINT "Calling Honolulu…come in please" : GOSUB 3880 : GOSUB 3950
2750 PRINT "Honolulu to Electra: You're right on course. Weather is"
2760 PRINT "excellent. You should sight Diamond Head very soon." : GOSUB 3950
2770 PRINT : PRINT "Yes…there it is. What a welcome sight!" : GOTO 3040
2780 '
2790 IF J< >31 THEN 2990 : 'Honolulu to Oakland
2800 PRINT "the mainland. But you're confident you'll make it."
2810 GOSUB 3950 : PRINT : PRINT "You've been flying nearly 20 hours and you're"
2820 PRINT "bone tired. You wish your navigator could relieve you." : GOSUB 3950
2830 GOSUB 3880 : PRINT "Oakland calling Electra…Oakland calling Electra…"
2840 INPUT "Are you okay…please respond…are you okay";A$ : GOSUB 3820
2850 IF A = 0 THEN PRINT "Oakland : Glad to hear it."; : GOTO 2870
2860 PRINT "Oakland: Sorry to hear that. Keep going. Just a short way now."
2870 GOSUB 3950 : PRINT " Oh yes, G.P. sends greetings." : GOSUB 3950 : PRINT
2880 PRINT "And there it is; the Pacific coast and the Golden Gate Bridge."
2890 PRINT "What a beautiful sight! Coming into Oakland…steady…steady."
2900 PRINT "Touchdown…slowing down…HUGE crowds all around…stopping."
2910 FOR K = 1 TO 4 : GOSUB 3950 : NEXT K : CLS : X = 0
2920 FOR I = 1 TO 30 : FOR K = 1 TO 100 : NEXT K : LOCATE 10, 30 : PRINT X$ : BEEP
2930 IF X = 0 THEN X$ = "CONGRATULATIONS !" : X = 1 : GOTO 2950
2940 X$ = " " : X = 0
2950 NEXT I
2970 '
2980 'Landing routine
2990 PRINT LA$(JA) ". Flying on…" : GOSUB 3950 : PRINT "Look to the right!"
3000 PRINT "It looks like…yes it is…an aerodrome. What a welcome sight."
3010 PRINT "Field looks " R$(R(JA)) " for the plane."
3020 IF M< >7 THEN 3040 ELSE PRINT "Radio broken. You'll have to try to land"
3030 PRINT "without establishing contact." : PRINT : GOTO 3090
3040 PRINT "Electra calling control tower…" : GOSUB 3880 : IF RND(1) < .1 THEN 3110
3050 PRINT "Tower to Electra…tower to Electra…" : IF WX(JA) > 3 THEN 3080
3060 INPUT "Condition of field is fine. Do you want clearance to land";A$
3070 GOSUB 3820 : IF A = 0 THEN 3130 ELSE PRINT "Repeat: "; : GOTO 3050
3080 INPUT "Field is a bit soggy. Do you want clearance to land";A$
3090 GOSUB 3820 : IF A = 0 THEN 3130 ELSE INPUT "Do you want to turn back";A$
3100 GOSUB 3820 : IF A = 0 THEN 1880 ELSE PRINT "Repeat : "; : GOTO 3050
3110 INPUT "Can't establish contact. Do you want to land"; A$ : GOSUB 3820
3120 IF A = 1 THEN PRINT "Circling…circling…trying radio again." : GOTO 3040
3130 PRINT "Coming in…steady…steady…"; : GOSUB 3950 : PRINT "touchdown."
3140 IF C(JA) + R(JA) + WX(JA) > 9 AND RND(1) < .15 THEN 3150 ELSE 3170
3150 PRINT "Field is soggy…one wheel caught in mud…plane is tipping."
3160 GOTO 1220
3170 PRINT "Slowing down…turning…bring it to a stop…shut down engines."
3180 IF JA = 11 OR JA = 2 THEN K = 6 ELSE K = INT(1 + 4.9 * RND(1)) : 'Type of crowd
3190 PRINT "A " Z$(K) " crowd is waiting for you. Nice job."
3200 IF J< >28 THEN RETURN : 'Are you in Darwin?
3210 '
3220 PRINT "Australian authorities claim that your medical papers are"
3230 PRINT "not in order and hold you on the plane for 10 hours. That"
3240 PRINT "costs you an extra day." : DY = DY + 1 : TG = TG + 1 : RETURN
3250 '
3260 'Subroutine to put verbal data into constants
3270 FOR I = 1 TO 4 : READ F$(I) : NEXT I
3280 FOR I = 1 TO 3 : READ C$(I) : NEXT I
3290 FOR I = 1 TO 3 : READ R$(I) : NEXT I
3300 FOR I = 1 TO 6 : READ W$(I) : NEXT I
3310 FOR I = 1 TO 11 : READ M$(I) : NEXT I
3320 FOR I = 1 TO 6 : READ Z$(I) : NEXT I
3330 DATA "excellent", "good", "fair", "poor"
3340 DATA "concrete", "packed gravel", "grass and dirt"
3350 DATA "plenty long", "of adequate length", "barely long enough"
3360 DATA "clear", "scattered clouds", "overcast", "light rain"
3370 DATA "wind and heavy rain", "high wind and monsoon rains"
3380 DATA "thermocouple", "turn & bank indicator", "fuel gauge", "altimeter"
3390 DATA "Bendix radio direction finder", "Sperry Gyro Pilot", "radio"
3400 DATA "mixture control lever", "hydraulic system", "electrical system"
3410 DATA "engine"
3420 DATA "small", "large", "noisy", "clamorous", "restless", "tiny"
3440 '
3450 'Airport location, repair facilities, runway construction,
3460 ' runway length, likely weather, miles from last airport
3470 FOR I = 1 TO 32 : READ X, LA$(I), LB$(I), FX(I), C(I), R(I), WX(I), DX(I) : NEXT I
3490 DATA 1, "Oakland", "California", 1, 1, 1, 1, 0
3500 DATA 2, "Burbank", "California", 2, 1, 1, 1, 332
3510 DATA 3, "Tucson", "Arizona", 2, 1, 1, 1, 456
3520 DATA 4, "New Orleans", "Louisiana", 1, 1, 1, 1, 1287
3530 DATA 5, "Miami", "Florida", 1, 1, 1, 1, 688
3540 DATA 6, "San Juan", "Puerto Rico", 2, 2, 2, 1, 1053
3550 DATA 7, "Caripito", "Colombia", 1, 1, 1, 3, 624
3560 DATA 8, "Paramaribo", "Dutch Guiana", 3, 3, 1, 2, 610
3570 DATA 9, "Fortaleza", "Brazil", 1, 3, 2, 5, 1332
3580 DATA 10, "Natal", "Brazil", 3, 3, 2, 4, 270
3590 DATA 11, "St. Louis", "Senegal", 4, 3, 2, 2, 1992
3600 DATA 12, "Dakar", "French West Africa", 2, 2, 2, 1, 1974
3610 DATA 13, "Gao", "French Sudan", 3, 3, 2, 2, 1150
3620 DATA 14, "Fort Lamy", "Chad", 4, 3, 3, 1, 1027
3630 DATA 15, "El Fasher", "Fr. Equatorial Africa", 4, 3, 3, 1, 679
3640 DATA 16, "Khartoum", "Anglo Egyptian Sudan", 4, 2, 3, 1, 494
3650 DATA 17, "Massawa", "Abyssinia", 3, 3, 2, 1, 442
3660 DATA 18, "Assab", "Eritrea", 3, 2, 2, 1, 340
3670 DATA 19, "Karachi", "India", 1, 1, 1, 3, 1920
3680 DATA 20, "Calcutta", "India", 2, 2, 2, 6, 1390
3690 DATA 21, "Akyab", "Burma", 3, 2, 2, 6, 338
3700 DATA 22, "Rangoon", "Burma", 3, 2, 2, 6, 330
3710 DATA 23, "Bangkok", "Siam", 2, 2, 2, 5, 365
3720 DATA 24, "Singapore", "Asia", 2, 2, 2, 2, 895
3730 DATA 25, "Bandoeng", "Java", 1, 3, 1, 2, 635
3740 DATA 26, "Saurabaya", "Java", 4, 3, 3, 2, 365
3750 DATA 27, "Koepang", "Timor", 4, 3, 3, 2, 1148
3760 DATA 28, "Port Darwin", "Australia", 2, 1, 1, 1, 517
3770 DATA 29, "Lae", "New Guinea", 3, 3, 2, 2, 1196
3780 DATA 30, "Howland Island", "Pacific", 4, 2, 2, 2, 2556
3790 DATA 31, "Honolulu", "Hawaii", 1, 1, 1, 1, 1818
3800 DATA 32, "Oakland", "California", 1, 1, 1, 1, 2420
3810 '
3820 'Check for yes or no answer
3830 IF A$ = "Y" OR A$ = "y" THEN A = 0 : RETURN
3840 IF A$ = "N" OR A$ = "n" THEN A = 1 : RETURN
3850 PRINT "Don't understand your answer of ";A$; "."
3860 INPUT "Please enter Y for 'yes' or N for 'no.'";A$ : GOTO 3820
3870 '
3880 'Radio-signal routine
3890 FOR I = 1 TO 4 : X = 1 + 3 * RND(1) : FOR K = 1 TO X : BEEP : NEXT K
3900 FOR K = 1 TO 500 : NEXT K : NEXT I : RETURN
3910 '
3920 'Warning-beeper routine
3930 PRINT : FOR I = 1 TO 3 : BEEP : BEEP : FOR K = 1 TO 500 : NEXT K : NEXT I : RETURN
3940 '
3950 'Pause routine
3960 FOR I = 1 TO 1500 : NEXT I : RETURN
3970 '
3980 'Alarm-clock routine
3990 PRINT : FOR I = 1 TO 7 : BEEP : NEXT I
4000 PRINT "There goes the alarm. It's" INT(3 + 3.7 * RND(1)) "a.m. Y - A - W - N"
4010 FOR I = 1 TO 250 : NEXT I : FOR I = 1 TO 7 : BEEP : NEXT I : RETURN
4020 '
4030 'End-of-flight summary routine
4040 GOSUB 3950 : PRINT : PRINT : PRINT "Sorry your flight was unsuccessful."
4050 PRINT : PRINT "You flew" DC "miles and were aloft for";
4060 T = INT(TC) : TM = INT(60 * (TC - T)) : PRINT T "hours and" TM "minutes."
4070 PRINT "Your flight started on May 20 and ended on" MO$; DA ", 1937."
4080 PRINT : PRINT "Amelia Earhart flew approximately 27,000 miles between"
4090 PRINT "May 20 and July 2, 1937 before going down at Mili Atoll"
4100 PRINT "in the Japanese-held Marshall Islands." : GOSUB 3950 : PRINT
4110 PRINT : INPUT "Would you like to try again (Y or N)";A$ : GOSUB 3820
4120 IF A = 0 THEN PRINT "Okay. Good luck!" : GOSUB 3960 : CLS : RUN
4130 PRINT "Okay. So long for now." : GOSUB 3960 : KEY ON : CLS : END
4140 '
4150 'Subroutine to print the scenario
4160 CLS : PRINT TAB(20) "Around the World Flight Attempt" : PRINT
4170 PRINT " In this simulation, you take the role of Amelia Earhart in her"
4180 PRINT "attempt to fly around the world in a twin-engine Lockheed Electra."
4190 PRINT " Prior to each flight leg, you are given information about your"
4200 PRINT " physical condition and that of your navigator, the distance to your"
4210 PRINT "next destination, and the current weather. As pilot, you must make"
4220 PRINT "many decisions before taking off, while aloft, and prior to landing.
4230 PRINT " Under ideal conditions, at 150 mph, your plane can fly 2.3"
4240 PRINT "miles on one gallon of fuel, but conditions are seldom ideal."
4250 PRINT "The Electra can hold up to 1150 gallons of fuel."
4260 PRINT " Your engine and mechanical components will last longer if they"
4270 PRINT "are maintained regularly; on the Electra, the recommended interval"
4280 PRINT "for a major overhaul is 40 hours. But remember, not all airports"
4290 PRINT "are equipped to service your aircraft."
4300 PRINT " If you have malfunctions along the way, you may want to have"
4310 PRINT "them fixed at a secondary aerodrome. Of course, this costs time."
4320 PRINT " You navigator has a serious alcohol problem. As long as your"
4330 PRINT "ground time is minimal, he won't have much chance to get lost in"
4340 PRINT "the bottle, but if you get trapped on the ground by a series of"
4350 PRINT "tropical storms and he gets drunk, you may find you have to rely"
4360 PRINT "on dead reckoning and landmarks when you get back in the air."

Return to Table of Contents | Previous Section | Next Section