Advertisement
thejaymer1998

Word Guess GameManager Script 02

Mar 16th, 2025
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 11.87 KB | Gaming | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. using TMPro;
  7.  
  8. public class GameManager : MonoBehaviour
  9. {
  10.     public GameObject letter;
  11.     public GameObject center;
  12.     public GameObject hintButton;
  13.     public GameObject pausedButton;
  14.     public GameObject startGamePanel;
  15.     public GameObject nextWordButton;
  16.     public GameObject gamePanel;
  17.     public GameObject hintPanel;
  18.     public GameObject successPanel;
  19.     public GameObject failPanel;
  20.     public GameObject pausedPanel;
  21.  
  22.  
  23.     public TMP_Text letterGuessed01;
  24.     public TMP_Text letterGuessed02;
  25.     public TMP_Text letterGuessed03;
  26.     public TMP_Text guessesLeftText;
  27.     public TMP_Text hintText;
  28.  
  29.  
  30.     private string wordToGuess = "";
  31.     private int lengthOfWordToGuess;
  32.  
  33.     public char [] lettersToGuess;
  34.     public bool [] lettersGuessed;
  35.  
  36.     private string [] wordsToGuess = new string [] {"resume", "handshake","linkedin", "internship", "job shadowing", "business attire", "networking", "technical skills", "soft skills", "cover letter" };
  37.  
  38.     int randomNumber;
  39.     int guessesLeft;
  40.     int wordCounter = 0;
  41.  
  42.  
  43.     bool word0Completed = false;
  44.     bool word1Completed = false;
  45.     bool word2Completed = false;
  46.     bool word3Completed = false;
  47.     bool word4Completed = false;
  48.     bool word5Completed = false;
  49.     bool word6Completed = false;
  50.     bool word7Completed = false;
  51.     bool word8Completed = false;
  52.     bool word9Completed = false;
  53.  
  54.     bool wrongLetterGuessed = false;
  55.  
  56.     //Timer
  57.     private float timer = 0.0f;
  58.     private int seconds;
  59.     public int timeLeft = 60;
  60.     public TMP_Text timeLeftText;
  61.     float currCountdownValue;
  62.  
  63.     public bool wordGuessed;
  64.  
  65.  
  66.     // Start is called before the first frame update
  67.     public void Start()
  68.     {
  69.         center = GameObject.Find ("CenterOfScreen");
  70.         startGamePanel.SetActive(true);
  71.  
  72.         //guessesLeft = 3;
  73.  
  74.         letterGuessed01.text = "";
  75.         //letterGuessed02.text = "";
  76.         //letterGuessed03.text = "";
  77.  
  78.         //ChooseWord01();
  79.        
  80.         //InitGame();
  81.         //InitLetters();
  82.     }
  83.  
  84.     // Update is called once per frame
  85.     public void Update()
  86.     {
  87.         timeLeftText.text = "Time Left: " + timeLeft;
  88.        
  89.         // Time Left
  90.         if (timeLeft > 30)
  91.         {
  92.             hintButton.SetActive(false);
  93.             failPanel.SetActive(false);
  94.         }
  95.         else if (timeLeft <= 30 && timeLeft >= 1)
  96.         {
  97.             hintButton.SetActive(true);
  98.             failPanel.SetActive(false);
  99.         }
  100.         else if (timeLeft == 0)
  101.         {
  102.             failPanel.SetActive(true);
  103.             gamePanel.SetActive(false);
  104.             Time.timeScale = 0f;
  105.         }
  106.  
  107.         switch (randomNumber)
  108.         {
  109.             case 0:
  110.                 // "Resume"
  111.                 hintText.text = "Summarized document of professional career, usually 1-page.";
  112.                 break;
  113.             case 1:
  114.                 // "Handshake"
  115.                 hintText.text = "Job search and career prep website promoted by many universities.";
  116.                 break;
  117.             case 2:
  118.                 // "LinkedIn"
  119.                 hintText.text = "Social Media platform for Professionals.";
  120.                 break;
  121.             case 3:
  122.                 // "Internship"
  123.                 hintText.text = "Opportunity to work and learn for a company during a preset amount of time, usually for pay.";
  124.                 break;
  125.             case 4:
  126.                 // "Job Shadowing"
  127.                 hintText.text = "Opportunity to watch/observe professionals in their actual work space.";
  128.                 break;
  129.             case 5:
  130.                 // "Business Attire"
  131.                 hintText.text = "Usually worn at professional/networking events and/or interviews.";
  132.                 break;
  133.             case 6:
  134.                 // "Networking"
  135.                 hintText.text = "To build relationships with professionals within your career field.";
  136.                 break;
  137.             case 7:
  138.                 // "Technical Skills"
  139.                 hintText.text = "Skills needed to do the job or be successful in a speciifc career.";
  140.                 break;
  141.             case 8:
  142.                 // "Soft Skills"
  143.                 hintText.text = "Skills needed to be successful in a team or workplace environment.";
  144.                 break;
  145.             case 9:
  146.                 // "Cover Letter"
  147.                 hintText.text = "Document used to express why you are qualified for a job position.";
  148.                 break;
  149.         }
  150.  
  151.         if (wordGuessed == true)
  152.         {
  153.             Time.timeScale = 0f;
  154.             successPanel.SetActive(true);
  155.             gamePanel.SetActive(false);
  156.         }
  157.         else
  158.         {
  159.             successPanel.SetActive(false);
  160.         }
  161.        
  162.         guessesLeftText.text = "Guesses Left: " + guessesLeft;
  163.  
  164.         if (wordCounter < 9)
  165.         {
  166.             nextWordButton.SetActive(true);
  167.         }
  168.         else
  169.         {
  170.             nextWordButton.SetActive(false);
  171.         }
  172.  
  173.         if (Input.GetKey(KeyCode.Escape))
  174.         {
  175.             Application.Quit();
  176.         }
  177.  
  178.         //CheckKeyboard ();
  179.         CheckKeyboard2 ();
  180.     }
  181.  
  182.     public void InitGame()
  183.     {
  184.         //int randomNumber = Random.Range (0, wordsToGuess.Length - 1);
  185.         //randomNumber = Random.Range (0, wordsToGuess.Length - 1);
  186.         //wordToGuess = wordsToGuess [randomNumber];
  187.  
  188.         lengthOfWordToGuess = wordToGuess.Length;
  189.         wordToGuess = wordToGuess.ToUpper ();
  190.         lettersToGuess = new char[lengthOfWordToGuess];
  191.         lettersGuessed = new bool [lengthOfWordToGuess];  
  192.         lettersToGuess = wordToGuess.ToCharArray ();
  193.  
  194.         StartCoroutine(StartCountdown());
  195.     }
  196.    
  197.     public void InitLetters()
  198.     {
  199.         int nbletters = lengthOfWordToGuess;
  200.    
  201.         for (int i = 0; i < nbletters; i++)
  202.         {
  203.             Vector3 newPosition;
  204.             newPosition = new Vector3 (center.transform.position.x + ((i-nbletters/2.5f) *50), center.transform.position.y, center.transform.position.z);
  205.             GameObject l = (GameObject)Instantiate (letter, newPosition, Quaternion.identity);
  206.    
  207.             l.name = "letter" + (i + 1);
  208.             l.transform.SetParent(GameObject.Find ("Canvas").transform);
  209.         }
  210.     }
  211.  
  212.     public void CheckKeyboard()
  213.     {
  214.         if (Input.GetKeyDown(KeyCode.A))
  215.         {
  216.             for (int i=0; i < lengthOfWordToGuess; i++)
  217.             {
  218.                 if (!lettersGuessed [i])
  219.                 {
  220.                     if (lettersToGuess [i] == 'A')
  221.                     {
  222.                         lettersGuessed [i] = true;
  223.                         GameObject.Find("letter"+(i+1)).GetComponent<TMP_Text>().text = "A";
  224.                     }
  225.                 }
  226.             }
  227.         }
  228.     }
  229.  
  230.     public void CheckKeyboard2()
  231.     {
  232.         if (Input.anyKeyDown)
  233.         {
  234.             char letterPressed = Input.inputString.ToCharArray () [0];
  235.             int letterPressedAsInt = System.Convert.ToInt32 (letterPressed);
  236.  
  237.             if (letterPressedAsInt >= 97 && letterPressed <= 122)
  238.             {
  239.                 for (int i=0; i < lengthOfWordToGuess; i++)
  240.                 {
  241.                     if (!lettersGuessed [i])
  242.                     {
  243.                         letterPressed = System.Char.ToUpper (letterPressed);
  244.  
  245.                         if (lettersToGuess [i] == letterPressed)
  246.                         {
  247.                             lettersGuessed [i] = true;
  248.                             wrongLetterGuessed = false;
  249.                             GameObject.Find("letter"+(i+1)).GetComponent<TMP_Text>().text = letterPressed.ToString();
  250.                         }
  251.                         else if (lettersToGuess [i] != letterPressed)
  252.                         {
  253.                             lettersGuessed [i] = false;
  254.                             wrongLetterGuessed = true;
  255.                             letterGuessed01.text = letterPressed.ToString();
  256.                         }
  257.                     }
  258.                     // else
  259.                     // {
  260.                     //     //successPanel.SetActive(true);
  261.                     //     wordGuessed = true;
  262.                     // }
  263.                     if (lettersToGuess.Length == 0)
  264.                     {
  265.                         wordGuessed = true;
  266.                     }
  267.                 }
  268.             }
  269.         }
  270.     }
  271.  
  272.     public void StartGame()
  273.     {
  274.         startGamePanel.SetActive(false);
  275.         gamePanel.SetActive(true);
  276.  
  277.         ChooseWord01();
  278.         //InitGame();
  279.         //InitLetters();
  280.     }
  281.  
  282.     public void NextWord()
  283.     {
  284.         successPanel.SetActive(false);
  285.         gamePanel.SetActive(true);
  286.  
  287.         //guessesLeft = 3;
  288.         timeLeft = 60;
  289.         Time.timeScale = 1.0f;
  290.  
  291.         letterGuessed01.text = "";
  292.         //letterGuessed02.text = "";
  293.         //letterGuessed03.text = "";
  294.  
  295.         hintButton.SetActive(false);
  296.         wordGuessed = false;
  297.  
  298.         wordCounter++;
  299.  
  300.         ChooseWord01();
  301.     }
  302.  
  303.     public void RepeatWord()
  304.     {
  305.         failPanel.SetActive(false);
  306.         gamePanel.SetActive(true);
  307.  
  308.         wordToGuess = wordsToGuess [randomNumber];
  309.  
  310.         //guessesLeft = 3;
  311.         timeLeft = 60;
  312.         Time.timeScale = 1.0f;
  313.  
  314.         letterGuessed01.text = "";
  315.         //letterGuessed02.text = "";
  316.         //letterGuessed03.text = "";
  317.  
  318.         hintButton.SetActive(false);
  319.         wordGuessed = false;
  320.  
  321.         InitGame();
  322.         InitLetters();
  323.     }
  324.  
  325.     public void ChooseWord01()
  326.     {
  327.         //int randomNumber = Random.Range (0, wordsToGuess.Length - 1);
  328.         randomNumber = Random.Range (0, wordsToGuess.Length - 1);
  329.         //wordToGuess = wordsToGuess [randomNumber];
  330.         ChooseWord02();
  331.     }
  332.  
  333.     public void ChooseWord02()
  334.     {
  335.         if (randomNumber == 0 && word0Completed == true)
  336.         {
  337.             ChooseWord01();
  338.         }
  339.         if (randomNumber == 1 && word1Completed == true)
  340.         {
  341.             ChooseWord01();
  342.         }
  343.         if (randomNumber == 2 && word2Completed == true)
  344.         {
  345.             ChooseWord01();
  346.         }
  347.         if (randomNumber == 3 && word3Completed == true)
  348.         {
  349.             ChooseWord01();
  350.         }
  351.         if (randomNumber == 4 && word4Completed == true)
  352.         {
  353.             ChooseWord01();
  354.         }
  355.         if (randomNumber == 5 && word5Completed == true)
  356.         {
  357.             ChooseWord01();
  358.         }
  359.         if (randomNumber == 6 && word6Completed == true)
  360.         {
  361.             ChooseWord01();
  362.         }
  363.         if (randomNumber == 7 && word7Completed == true)
  364.         {
  365.             ChooseWord01();
  366.         }
  367.         if (randomNumber == 8 && word8Completed == true)
  368.         {
  369.             ChooseWord01();
  370.         }
  371.         if (randomNumber == 9 && word9Completed == true)
  372.         {
  373.             ChooseWord01();
  374.         }
  375.         else
  376.         {
  377.             wordToGuess = wordsToGuess [randomNumber];
  378.         }
  379.        
  380.         InitGame();
  381.         InitLetters();
  382.     }
  383.  
  384.     public void PausedGame()
  385.     {
  386.         pausedPanel.SetActive(true);
  387.         Time.timeScale = 0f;
  388.     }
  389.  
  390.     public void UnPausedGame()
  391.     {
  392.         pausedPanel.SetActive(false);
  393.         Time.timeScale = 1.0f;
  394.     }
  395.  
  396.     public void FreeHint()
  397.     {
  398.         hintPanel.SetActive(true);
  399.     }
  400.  
  401.     public void ToMainMenu()
  402.     {
  403.         SceneManager.LoadScene("MainMenu");
  404.     }
  405.  
  406.     public IEnumerator StartCountdown(float countdownValue = 60)
  407.     {
  408.         currCountdownValue = countdownValue;
  409.         while (currCountdownValue > 0)
  410.         {
  411.             Debug.Log("Countdown: " + currCountdownValue);
  412.             yield return new WaitForSeconds(1.0f);
  413.             currCountdownValue--;
  414.             timeLeft = (int)currCountdownValue;
  415.         }
  416.     }
  417. }
  418.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement