This is too funny! Loved the Challenge and learn a lot! Specially learn to THINK method

cu2_s02_your_first_solo

#1

Hi There,

So I paused the video and went full steam for about 2 hrs. And I did it! I made the game work, BUT possibly the hardest way possible.

Once I pressed play on the video and saw how the instructor did it, it clicked! Think Methods! I have to think Method and it will only come naturally with more and more practice.

Check my Code! Its my take on it, I got there the hard way lol 2_Terminal_Hacker.zip (5.5 MB)

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Hacker : MonoBehaviour {
    //This is our Game State
    int level;
    String yourname;
    enum Screen { YourName, MainMenu, NesPassword, SnesPassword, Win };
    Screen currentScreen; 

    // Use this for initialization
    void Start ()
    {
         EnterYourName();
    }

    void EnterYourName()//this handle YourName state
    {
        currentScreen = Screen.YourName;
        Terminal.ClearScreen();
        Terminal.WriteLine("What's your name?");
    }

    void ShowMainMenu(string greeting)
    {
        currentScreen = Screen.MainMenu;
        Terminal.ClearScreen();
        Terminal.WriteLine(greeting);
        Terminal.WriteLine("Hack a console to get the gaming power?");
        Terminal.WriteLine("Press 1 for power of NES");
        Terminal.WriteLine("Press 2 for super power of SNES");
        //Terminal.WriteLine("Press 3 for mega power of Sega Genesis");
        Terminal.WriteLine("Select your console:");
    }//this handle MainMenu state

    void OnUserInput(string input) //This should decide how to handle user input not actually do it
    {
        if (currentScreen == Screen.YourName)
        {
            RunYourName(input);
        }
        else if (currentScreen == Screen.MainMenu)
        {
            RunMainMenu(input);
        }
        else if (currentScreen == Screen.NesPassword)
        {
            RunNesPassword(input);
        }
        else if (currentScreen == Screen.SnesPassword)
        {
            RunSnesPassword(input);
        }
        else if (currentScreen == Screen.Win)
        {
            RunWinScreen(input);
        }
    }

    void RunMainMenu(string input)
    {
        // TODO handling differently depending on screen
        if (input == "1")
        {
            level = (1);
            StartLevel1Game("hack the NES");
        }
        else if (input == "2")
        {
            level = (2);
            StartLevel2Game("hack the SNES");
        }
        else if (input == "3")
        {
            print("Player select level 3");
        }
        else if (input == "mario")
        {
            print("Play Mario lose song and display Lose page");
        }
        else if (input == "menu")
        {
            ShowMainMenu("Hello " + yourname);
            currentScreen = Screen.MainMenu;
        }
        else
        {
            print("incorrect input");
            Terminal.WriteLine("incorrect input");
        }
    } //This handle user input on MainMenu

    void RunYourName(string input)
    {
        yourname = (input);
        if (yourname == (yourname))
        {
            ShowMainMenu("Hello " + yourname);
        }
    } //This handle user input on YourName

    void RunNesPassword(string input)
    {
        // TODO handling differently depending on screen
        if (input == "menu")
        {
            ShowMainMenu("Hello Damien");
            currentScreen = Screen.MainMenu;
        }
        else if (input == "Zelda")
        {
            ShowWinScreen("NES");
            currentScreen = Screen.Win;
        }
        else
        {
            Terminal.WriteLine("Wrong Password");
        }
    }//This handle user input on Password on Level 1

    void RunSnesPassword(string input)
    {
        if (input == "menu")
        {
            ShowMainMenu("Hello Damien");
            currentScreen = Screen.MainMenu;
        }
        else if (input == "Pilotwings")
        {
            ShowWinScreen("SNES");
            currentScreen = Screen.Win;
        }
        else
        {
            Terminal.WriteLine("Wrong Password");
        }
    }//This handle user input on Password on Level 2

    void RunWinScreen(string input)
    {
        if (input == "menu")
        {
            ShowMainMenu("Hello " + yourname);
            currentScreen = Screen.MainMenu;
        }
        else
        {
            Terminal.WriteLine("incorrect input");
        }
    }//This handle user input on WinScreen

    void StartLevel1Game(string console)//this handle StartLevel1Game state
    {
        currentScreen = Screen.NesPassword;
        Terminal.WriteLine("You have chosen to " + console);
        Terminal.WriteLine("Please entre your password");
    }

    void StartLevel2Game(string console)//this handle StartLevel2Game state
    {
        currentScreen = Screen.SnesPassword;
        Terminal.WriteLine("You have chosen to " + console);
        Terminal.WriteLine("Please entre your password");
    }

    void ShowWinScreen(string console)
    {
        currentScreen = Screen.Win;
        Terminal.WriteLine("Congratulations!");
        Terminal.WriteLine("You now possess the Power of " + console + "!!!");
        Terminal.WriteLine("");
        Terminal.WriteLine("Type [menu] to start again...");
    }//this handle Win state