My Solution

cu2_s02_your_first_solo

#1

Full disclosure: I have some knowledge of Python and bits and pieces of other programming languages.

I’m not sure this is the most efficient solution, but here is mine. I haven’t looked at the teacher’s solution yet to see what the “real” answer is.

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

public class Hacker : MonoBehaviour {
    int level;
    string passWord;

    enum Screen { MainMenu, Password, Win};
    Screen currentScreen;

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

    void ShowMainMenu() {
        currentScreen = Screen.MainMenu;
        Terminal.ClearScreen();
        Terminal.WriteLine("BROOTFORCE2K: CHOOZ A SITE 2 HAXXXOR");
        Terminal.WriteLine("");
        Terminal.WriteLine("1. Sunshine Valley Elementary School");
        Terminal.WriteLine("2. Springfield Agricultural College");
        Terminal.WriteLine("3. Gryzzl");
        Terminal.WriteLine("");
        Terminal.WriteLine("Choose wisely: ");
    }

    void OnUserInput(string input)
    {
        if (input == "menu")
        {
            ShowMainMenu();          
        }
        else if (currentScreen == Screen.MainMenu)
        {
            RunMainMenu(input);
        }
        else if (currentScreen == Screen.Password)
        {
            CheckPassWord(input);
        }
    }

    void CheckPassWord(string input)
    {
       if(input == passWord)
        {
            Terminal.WriteLine("Root Access Granted!");
        }
       else
        {
            Terminal.WriteLine("Access Denied.");
            Terminal.WriteLine("Password: ");
        }
    }

    void RunMainMenu(string input)
    {
        if (input == "1")
        {
            level = 1;
            StartGame();
        }
        else if (input == "2")
        {
            level = 2;
            StartGame();

        }
        else if (input == "3")
        {
            level = 3;
            StartGame();

        }
        else if (input == "1337")
        {
            Terminal.WriteLine("All ur base r belong 2 us");
        }
        else
        {
            Terminal.WriteLine("Unrecognized command");
        }
    }

    void StartGame()
    {
        currentScreen = Screen.Password;
        Terminal.ClearScreen();

        if(level == 1)
        {
            passWord = "chair";
            Terminal.WriteLine("Welcome to Sunshine Elementary!");
            Terminal.WriteLine("username: admin");
            Terminal.WriteLine("password: ");
        }
        else if (level == 2)
        {
            passWord = "medicine";
            Terminal.WriteLine("Springfield College Mainframe");
            Terminal.WriteLine("username: admin");
            Terminal.WriteLine("password: ");
        }

    }
}