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?