I think I got it?

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

public class Hacker : MonoBehaviour {

    // Game State
    int level;
    enum Screen { MainMenu, Password, LevelOne, LevelTwo, Win }
    Screen currentScreen = Screen.MainMenu;
    
    // Use this for initialization
    void Start()
    {
        ShowMainMenu();
    }
        void ShowMainMenu ()
    {
        currentScreen = Screen.MainMenu;
        Terminal.ClearScreen();
        Terminal.WriteLine("Enter 1, 2 or 3.");
        Terminal.WriteLine("1. Easy - Library Records");
        Terminal.WriteLine("2. Medium - Police Database");
        Terminal.WriteLine("3. Hard - NASA Mainframe");
    }

    // User Input

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

        else if (currentScreen == Screen.LevelTwo)
        {
            RunLevelTwo(input);
        }
    }

    void RunLevelTwo(string input)
    {
        if (input == "Officer")
        {
            Winner();
        }
        else
        {
            Terminal.WriteLine("Incorrect Password.");
        }
    }

    void RunLevelOne(string input)
    {
        if (input == "Story")
        {
            Winner();
        }
        else
        {
            Terminal.WriteLine("Incorrect 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 == "hunter2")
        {
            Terminal.ClearScreen();
            Terminal.WriteLine(input);
            Terminal.WriteLine("I'm sorry, all I can see is *******");
        }
        else
        {
            Terminal.ClearScreen();
            Terminal.WriteLine(input);
            Terminal.WriteLine("I'm sorry, I can't let you do that.");
        }
    }

    // Start Game

    void StartGame()
        
    {
        currentScreen = Screen.Password;
        Terminal.ClearScreen();
        if (level == 1)
        {
            LevelOne();
        }
        else if (level == 2)
        {
            LevelTwo();
        }
    }
        
    void LevelOne()
    {
        Terminal.ClearScreen();
        currentScreen = Screen.LevelOne; 
        Terminal.WriteLine("Welcome to The Library Records");
        Terminal.WriteLine("Please enter the password:");
    }

    void LevelTwo()
    {
        currentScreen = Screen.LevelTwo;
        Terminal.WriteLine("Welcome to The Police Database");
        Terminal.WriteLine("Please enter the password:");
    }

    void Winner()
    {
        currentScreen = Screen.Win;
        Terminal.WriteLine("Access Granted.");
        Terminal.WriteLine("Enter 'menu' to return to Main Menu.");
    }



    // Update is called once per frame
    void Update () {
		
	}
}

It’s dirty and ugly, but it did what it was supposed to?

1 Like

Privacy & Terms