Search Unity

Error: Assets\Scripts\TerminalControl.cs(93, 10): CS1513: } expected.

Discussion in 'Scripting' started by cekorinka, Jul 8, 2019.

  1. cekorinka

    cekorinka

    Joined:
    Jun 12, 2019
    Posts:
    13
    Code (CSharp):
    1. void GameStart ()
    2.     {
    3.         switch(level)
    4.         {  ← ←(in here i have a problem)
    5.             case1:
    6.  
    7.             password = Level1Passwords[2];
    8.             break;
    9.  
    10.             case2:
    11.             password = Level2Passwords[2];
    12.             break;
    13.  
    14.             case3:
    15.             password = Level3Passwords[1];
    16.             break;
    17.  
    18.         }
    19.         currentScreen = Screen.Password;
    20.         Terminal.ClearScreen();
    21.         Terminal.WriteLine("Вы выбрали " +level+" уровень");
    22.         Terminal.WriteLine("Введите пароль:");
    23.     }



    All code:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class TerminalControl : MonoBehaviour
    6. {
    7.     // Start is called before the first frame update
    8.     enum Screen {MainMenu, Password, Win};
    9.     Screen currentScreen = Screen.MainMenu;
    10.     int level;
    11.     string password = "книга";
    12.     string[] Level1Passwords = { "книга", "ключ", "текст", "шкаф", "ручка" };
    13.     string[] Level2Passwords = { "ячейка", "деньги", "банк" };
    14.     string[] Level3Passwords = { "братишкин", "мсборов", "тендерли", "павер", "лера" };
    15.  
    16.  
    17.     void Start()
    18.     {
    19.        
    20.         ShowMainMenu(" Олег!");
    21.     }
    22.    
    23.     void ShowMainMenu(string playerName)
    24.     {
    25.         currentScreen = Screen.MainMenu;
    26.         level = 0;
    27.         Terminal.ClearScreen();
    28.         Terminal.WriteLine("Привет" +playerName +"!");
    29.         Terminal.WriteLine("Какой терминал хочешь взломать:?");
    30.         Terminal.WriteLine(" ");
    31.         Terminal.WriteLine("Введи 1, чтобы взломать библиотеку");
    32.         Terminal.WriteLine("Введи 2, чтобы взломать Банк");
    33.         Terminal.WriteLine("Введи 3, чтобы взломать братишкина");
    34.         Terminal.WriteLine("Ваш выбор:");
    35.     }
    36.    
    37.     void OnUserInput(string input)
    38.     {
    39.         if (input == "меню")
    40.         {
    41.             ShowMainMenu(", рад тебя видеть");
    42.         }
    43.         else if (currentScreen == Screen.MainMenu)
    44.         {
    45.             RunMainMenu(input);      
    46.         }
    47.         else if (currentScreen == Screen.Password)
    48.         {
    49.  
    50.             CheckPassword(input);
    51.         }
    52.     }
    53.     void RunMainMenu(string input)
    54.     {
    55.         bool isValidLevelNumber = (input == "1" || input == "2" || input == "3");
    56.         if (isValidLevelNumber)
    57.         {
    58.             level = int.Parse(input);
    59.             GameStart();
    60.         }
    61.  
    62.  
    63.         else if (input == "777")
    64.         {
    65.             Terminal.WriteLine("Вы выиграли ДЖЕКПОТ!!!");
    66.             Terminal.WriteLine("500 ТЫСЯЧ!!11!");
    67.         }
    68.         else if (input == "007")
    69.         {
    70.             Terminal.WriteLine("Hello, Mr.Bond!");
    71.         }
    72.         else
    73.         {
    74.             Terminal.WriteLine("Введите правильное значение");
    75.         }
    76.     }
    77.     void CheckPassword(string input)
    78.     {
    79.        
    80.         if (input == password)
    81.         {
    82.             Terminal.WriteLine("Победа)");
    83.         }
    84.         else
    85.         {
    86.             Terminal.WriteLine("Попробуй еще раз");
    87.         }
    88.     }
    89.    
    90.     void GameStart ()
    91.     {
    92.         switch(level)
    93.         {
    94.             case1:
    95.  
    96.             password = Level1Passwords[2];
    97.             break;
    98.  
    99.             case2:
    100.             password = Level2Passwords[2];
    101.             break;
    102.  
    103.             case3:
    104.             password = Level3Passwords[1];
    105.             break;
    106.  
    107.         }
    108.         currentScreen = Screen.Password;
    109.         Terminal.ClearScreen();
    110.         Terminal.WriteLine("Вы выбрали " +level+" уровень");
    111.         Terminal.WriteLine("Введите пароль:");
    112.     }
    113.    
    114. }
    115.  
     
  2. Brathnann

    Brathnann

    Joined:
    Aug 12, 2014
    Posts:
    7,188
    Your case statements have no spacing between the word case and the number.
     
    cekorinka likes this.
  3. Nanior

    Nanior

    Joined:
    May 4, 2019
    Posts:
    101
    What does Terminal.writeline mean?