i share you my code:
using UnityEngine;
public class Hacker : MonoBehaviour
{
//Game initial data
const string menuHint = “Type Menu for going back”;
stringlevel1passwords = { “bebe”, “auto” , “rojo” , “azul” };
string level2passwords = { “botella”, “garrafa”, “conejo”, “particula” };
string level3passwords = { “atomo”, “esternoclestomastoide”, “micromolecular”, “astronautico” };
//level state
int level;
enum Screen { Menu, Password, Win };
string password;
Screen currentScreen;
// Start is called before the first frame update
void Start()
{
ShowMainMenu();
}
void ShowMainMenu()
{
currentScreen = Screen.Menu;
Terminal.ClearScreen();
Terminal.WriteLine("Bienvenido al test de IQ");
Terminal.WriteLine("1 IQ es de 50 a 100?");
Terminal.WriteLine("2 IQ es de 100 a 200?");
Terminal.WriteLine("3 IQ es de mayor a 200?");
Terminal.WriteLine("Elije tu opcion");
}
void OnUserInput(string input)
{
if (input == "menu")
{
ShowMainMenu();
}
else if (currentScreen == Screen.Menu)
{
RunMainMenu(input);
}
else if (currentScreen == Screen.Password)
{
CheckPassword(input);
}
}
void RunMainMenu(string input)
{
bool IsValidLevelNumber = (input == "1" || input == "2" || input == "3");
if (IsValidLevelNumber)
{
level = int.Parse(input);
PedirPass();
}
else
{
Terminal.WriteLine("Elije un nivel valido");
Terminal.WriteLine(menuHint);
}
}
void Update()
{
int index = Random.Range(0, level1passwords.Length);
print(index);
}
void PedirPass()
{
Terminal.ClearScreen();
currentScreen = Screen.Password;
Terminal.WriteLine("Elejiste el nivel " + level);
Terminal.WriteLine("Type Pass, Hint: " ); // THIS LINE MAKE THE ERROR if I set: password.Anagram()
SetRandomPass();
}
void SetRandomPass()
{
switch (level)
{
case 1:
password = level1passwords[Random.Range(0, level1passwords.Length)];
break;
case 2:
password = level2passwords[Random.Range(0, level2passwords.Length)];
break;
case 3:
password = level3passwords[Random.Range(0, level3passwords.Length)];
break;
default:
Debug.LogError("no valid level");
break;
}
}
void CheckPassword(string input)
{
if (input == password)
{
DisplayWinScreen();
}
else
{
PedirPass();
}
}
void DisplayWinScreen()
{
currentScreen = Screen.Win;
Terminal.ClearScreen();
ShowLevelReward();
Terminal.WriteLine(menuHint);
}
void ShowLevelReward()
{
switch (level)
{
case 1:
Terminal.WriteLine(“Bien hecho niño!”);
Terminal.WriteLine(@"
< >
o…o
m “);
break;
case 2:
Terminal.WriteLine(“Bien hecho hombrecito!”);
Terminal.WriteLine(@”
HHHHH
HHH
HHH
HHH
HHHHHHHHHHH “);
break;
case 3:
Terminal.WriteLine(“Bien hecho Einstein!”);
Terminal.WriteLine(@”
%%%%%%%
%% O O %%
%% Y %%
%% _/ %%
___/
<>
/
/ ");
break;
default:
Debug.LogError(“no valid answer”);
break;
}
}
}