Example #1
0
        static void Main(string[] args)                      //All methods are called here, as well as some of the logic that only needs to happen once
        {
            SoundPlayer backgroundMusic = new SoundPlayer(); //plays background music

            backgroundMusic.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "\\theme.wav";
            backgroundMusic.PlayLooping();

            Console.ForegroundColor = ConsoleColor.Green;

beginning:

            scene scene = new scene();            //object to call scene methods
            method method         = new method(); //object to call logic methods
            bool   weaponObtained = false;        //string to keep track of whether the use found a weapon

            scene.one();                          //displays the welcome screen
            method.input();                       //checks for user input (this is used a ton)

            switch (method.selectedOption)        //this switch case checks what option the user selected
            {
            case "X":                             //displays info screen
            {
                Console.Clear();
                scene.two();
                method.input();
                if (method.selectedOption == "Z")
                {
                    Console.Clear();
                    goto beginning;
                }
                break;
            }

            case "Z":     //starts game
            {
                Console.Clear();
                goto startgame;
            }

            case "Escape":     //exits to windows
            {
                Environment.Exit(0);
                break;
            }
            }

startgame:

            Console.Clear();
            scene.four(); //launches the first part of the game
            method.input();

            switch (method.selectedOption)
            {
            case "Z":     //user decides to explore vault
            {
                Console.Clear();
                scene.five();
                method.input();
                if (method.selectedOption == "Z")         //user gets some info about the vault
                {
                    method.random();
                    if (method.randomOutput > 2)         //decides whether to give the user a weapon based on random number generation
                    {
                        Console.Clear();
                        scene.seven();
                        weaponObtained = true;
                        method.input();
                        if (method.selectedOption == "Z")
                        {
                            Console.Clear();
                            goto outside;
                        }
                    }
                    else         //forces the user to go outside of the vault regardless of whether they found a weapon
                    {
                        Console.Clear();
                        scene.eight();
                        method.input();
                        if (method.selectedOption == "Z")
                        {
                            goto outside;
                        }
                    }
                }
                break;
            }

            case "X":     //takes the user outside of the vault since they didn't explore
            {
                Console.Clear();
                goto outside;
            }

            case "Escape":     //takes the user back to the main menu
            {
                Console.Clear();
                goto beginning;
            }
            }

outside:

            Console.Clear();
            scene.nine(); //user exits the vault, and hears a noise coming from his old neighborhood. user has to decide whether to investigate
            method.input();

            switch (method.selectedOption)
            {
            case "Z":     //user decides not to investigate
            {
                Console.Clear();
                scene.ten();
                method.input();
                if (method.selectedOption == "X")         //user dies and has to start from beginning
                {
                    Console.Clear();
                    scene.eleven();
                    method.input();
                    if (method.selectedOption == "Escape")
                    {
                        Console.Clear();
                        goto beginning;
                    }
                }
                break;
            }

            case "X":
            {
                goto walktonoise;         //user decides to investigate
            }
            }

walktonoise:

            Console.Clear();
            scene.twelve();
            method.input();

            switch (method.selectedOption) //user discovers raiders
            {
            case "Z":                      //tries to befriend raiders
            {
                Console.Clear();
                scene.thirteen();
                method.input();
                if (method.selectedOption == "ESC")         //dies
                {
                    Console.Clear();
                    goto beginning;
                }
                break;
            }

            case "X":     //sneaks up on raiders
            {
                Console.Clear();
                goto killraiders;         //jumps to killing raiders
            }
            }

killraiders:

            if (weaponObtained == true) //checks if you got the weapon
            {
                method.random();
                if (method.randomOutput > 2) //random number generator for odds of killing raiders
                {
                    Console.Clear();
                    scene.fourteen();
                    method.input();
                    if (method.selectedOption == "Z") //gonna shoot the weapon
                    {
                        Console.Clear();
                        scene.sixteen();
                        method.input();
                        if (method.selectedOption == "Z") //kill the raiders
                        {
                            Console.Clear();
                            scene.eighteen();                      //read note
                            method.input();
                            if (method.selectedOption == "Escape") //go back to main screen
                            {
                                Console.Clear();
                                goto beginning;
                            }
                        }
                    }
                }
                else
                {
                    Console.Clear();
                    scene.fourteen(); //doesnt kill raiders
                    method.input();
                    if (method.selectedOption == "Z")
                    {
                        Console.Clear();
                        scene.seventeen();
                        method.input();
                        if (method.selectedOption == "Escape") //dies
                        {
                            Console.Clear();
                            scene.one();
                            goto beginning; //back to main screen
                        }
                    }
                }
            }
            else
            {
                method.random();
                if (method.randomOutput > 4) //user didn't find weapon, lowers odds of killing raiders
                {
                    Console.Clear();
                    scene.fifteen();
                    method.input();
                    if (method.selectedOption == "Z") //kill raiders
                    {
                        Console.Clear();
                        scene.sixteen();
                        method.input();
                        if (method.selectedOption == "Z") //throw rock
                        {
                            Console.Clear();
                            scene.eighteen();
                            method.input();
                            if (method.selectedOption == "Escape") //finish game
                            {
                                Console.Clear();
                                goto beginning;
                            }
                        }
                    }
                }
                else
                {
                    Console.Clear();
                    scene.fifteen();
                    method.input();
                    if (method.selectedOption == "Z")          //throw rock
                    {
                        if (method.selectedOption == "Escape") //die
                        {
                            Console.Clear();
                            goto beginning;
                        }
                    }
                }
            }
        }