Advertisement
bakershoemaker

CreateProblem.cs

Apr 20th, 2022
1,315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.49 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using TMPro;
  6.  
  7. public class CreateProblem : MonoBehaviour
  8. {
  9.  
  10.     [SerializeField] TextMeshProUGUI text_factor_1;
  11.     [SerializeField] TextMeshProUGUI text_factor_2;
  12.     [SerializeField] TextMeshProUGUI text_answer_1;
  13.     [SerializeField] TextMeshProUGUI text_answer_2;
  14.     [SerializeField] TextMeshProUGUI text_answer_3;
  15.     //[SerializeField] Button nextButton;
  16.  
  17.     int generateNum_1=0;
  18.     int generateNum_2=0;
  19.     int generatewrongAnswer_1=0;
  20.     int generatewrongAnswer_2=0;
  21.     int wrongAnswer_1 = 0;
  22.     int wrongAnswer_2 = 0;
  23.     int correctAnswer = 0;
  24.  
  25.     int level = 10; //Level numbers
  26.     int totalProblems = 10;
  27.  
  28.     int[] randomizedAnswers = { 1, 2, 3 };
  29.  
  30.     private void Start()
  31.     {
  32.         //text_factor_1.text = "";
  33.         //text_factor_2.text = "";
  34.         StartCoroutine(SpinNumberEffect());        
  35.         GenerateProblemAndWrongAnswers();
  36.     }
  37.    
  38.     IEnumerator SpinNumberEffect()
  39.     {
  40.         int spinNum1;
  41.         int spinNum2;
  42.         for (int x = 0; x < 10; x++)
  43.         {
  44.             spinNum1 = Random.Range(1, 12);
  45.             spinNum2 = Random.Range(1, 12);
  46.            
  47.             text_factor_1.text = spinNum1.ToString();
  48.             text_factor_2.text = spinNum2.ToString();
  49.             yield return new WaitForSeconds(.12f);
  50.             Debug.Log("Random numbers: " + spinNum1 + " x " + spinNum2);
  51.         }
  52.         GenerateProblemAndWrongAnswers();
  53.     }
  54.     public void TestFunction()
  55.     {
  56.         Debug.Log($"The test function is working: {level}");
  57.     }
  58.     public void GenerateProblemAndWrongAnswers()
  59.     {        
  60.         Debug.Log("Generating problem.....");
  61.         //Generate problem based on level selected:
  62.         switch (level)
  63.         {
  64.             case 0:
  65.                 generateNum_1 = Random.Range(1, 12);
  66.                 generateNum_2 = Random.Range(1, 12);
  67.                 break;
  68.             case 1:
  69.                 generateNum_1 = level;
  70.                 generateNum_2 = Random.Range(1, 12);
  71.                 break;
  72.             case 2:
  73.                 generateNum_1 = level;
  74.                 generateNum_2 = Random.Range(1, 12);
  75.                 break;
  76.             case 3:
  77.                 generateNum_1 = level;
  78.                 generateNum_2 = Random.Range(1, 12);
  79.                 break;
  80.             case 4:
  81.                 generateNum_1 = Random.Range(1, 12);
  82.                 generateNum_2 = Random.Range(1, 12);
  83.                 break;
  84.             case 5:
  85.                 generateNum_1 = level;
  86.                 generateNum_2 = Random.Range(1, 12);
  87.                 break;
  88.             case 6:
  89.                 generateNum_1 = level;
  90.                 generateNum_2 = Random.Range(1, 12);
  91.                 break;
  92.             case 7:
  93.                 generateNum_1 = level;
  94.                 generateNum_2 = Random.Range(1, 12);
  95.                 break;
  96.             case 8:
  97.                 generateNum_1 = level;
  98.                 generateNum_2 = Random.Range(1, 12);
  99.                 break;
  100.             case 9:
  101.                 generateNum_1 = Random.Range(1, 12);
  102.                 generateNum_2 = Random.Range(1, 12);
  103.                 break;
  104.             case 10:
  105.                 generateNum_1 = level;
  106.                 generateNum_2 = Random.Range(1, 12);
  107.                 break;
  108.             case 11:
  109.                 generateNum_1 = level;
  110.                 generateNum_2 = Random.Range(1, 12);
  111.                 break;
  112.             case 12:
  113.                 generateNum_1 = level;
  114.                 generateNum_2 = Random.Range(1, 12);
  115.                 break;
  116.         }
  117.        
  118.         correctAnswer = generateNum_1 * generateNum_2;
  119.         Debug.Log($"Answer {generateNum_1} x {generateNum_2} = {correctAnswer}");
  120.  
  121.         //Wrong answers
  122.         generatewrongAnswer_1 = Random.Range(1, 12) * Random.Range(1,12);
  123.         generatewrongAnswer_2 = Random.Range(1, 12) * Random.Range(1, 12); ;
  124.  
  125.         //ProblemInTextFields();
  126.     }
  127.    
  128.     void ProblemInTextFields()
  129.     {
  130.         //Add problem to textfields
  131.         text_factor_1.text = generateNum_1.ToString();
  132.         text_factor_2.text = generateNum_2.ToString();
  133.  
  134.         //Randomize positions of answers (correctAnswer, wrongAnswer1, wrongAnswer2)
  135.         text_answer_1.text = generatewrongAnswer_1.ToString();
  136.         text_answer_2.text = generatewrongAnswer_2.ToString();
  137.         text_answer_3.text = correctAnswer.ToString();// correct answer.
  138.     }
  139.    
  140. }
  141.  
  142.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement