using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class Exam : MonoBehaviour { public GameObject Obj_Menu, Obj_Ques, Obj_End; public AudioSource Aud_Show, Aud_Correct, Aud_Fail; public void StartExam() { if (QuesList.Count <= 0) GetAllQuestion(); Choose(); } List QuesList = new List(); //获取所有题目 void GetAllQuestion() { QuesList.Add(new Question("行驶时,货叉底端距离地面高度应保持在()。", "5-10厘米", "15-20厘米", "30-40厘米", "80-90厘米", "C")); QuesList.Add(new Question("叉车行驶时,门架应保持()", "前倾", "水平", "垂直于地面", "后倾", "D")); QuesList.Add(new Question("叉车在车间、仓库空车时车速不得超过()km/h", "5", "10", "15", "20", "C")); QuesList.Add(new Question("叉车在搬运货物时的限速是()。", "3km/h", "5km/h", "10km/h", "20km/h", "B")); QuesList.Add(new Question("以下做法符合叉车安全操作规定的是(  )。", "不准用货叉或货盘带人升高作业", "不准用货叉但可用货盘带人升高作业物", "戴安全带可用货叉带人升高作业", "操作熟练者可用货叉带人升高作业", "A")); QuesList.Add(new Question("每天第一位驾驶叉车的员工,驾驶前必须做好( )工作。", "检查机油", "安全检查", "外观清洁", "热车", "B")); QuesList.Add(new Question("驾驶员身体过度疲劳或患病有碍行车安全时,应( )。", "缓慢驾驶", "不得驾驶", "技术熟练的可继续驾驶", "小心驾驶", "B")); QuesList.Add(new Question("以下允许驾驶叉车的人员是( )。", "了解叉车驾驶知识", "有机动车驾驶证", "看过别人驾驶叉车", "参加叉车驾驶培训并获得叉车驾驶证", "D")); QuesList.Add(new Question("如果叉车在行驶或装卸时突然发生倾覆,应( )。", "向倾覆方向跳出", "向倾覆相反方向跳出", "双手紧握方向盘,身体倾向倾覆相反方向", "蜷缩抱头", "C")); QuesList.Add(new Question("以下叉车作业在行驶时行为正确的是( )。", "允许将头伸出叉车外观察", "不允许身体任何部位伸出叉车外观察", "允许将头伸向门架与叉车之间观察", "允许下车观察", "B")); QuesList.Add(new Question("载货行驶时,应将门架( )。", "降低到合适高度并后倾", "垂直于地面", "保持叉取货物时的高度", "尽量举高以避免遮挡前方视线", "A")); QuesList.Add(new Question("以下说法正确的是( )。", "允许人员站在货叉上运载", "不允许人员站立,但可以坐在货叉托盘上", "使用叉车运载人员时应佩戴好安全帽", "不允许使用叉车和货叉运载人员", "D")); QuesList.Add(new Question("在安全管理中,下列哪项比较重要?", "发放防暑降温费", "安全培训和教育", "探望负伤人员家属", "及时恢复生产", "B")); QuesList.Add(new Question("特种作业人员必须经过()合格取得操作证方可上岗。", "专业技术培训考试", "文化考试", "体能测试", "听力测试", "A")); QuesList.Add(new Question("下列不属于特种作业人员的是()。", "锅炉司炉工", "厂内机车驾驶员", "钳工", "起重机驾驶员", "C")); QuesList.Add(new Question("发现有人受重伤时,首先应()。", "保持镇静,立刻通知急救员", "带伤者到救助站", "安慰伤者", "保证生产", "A")); QuesList.Add(new Question("从业人员在作业过程中应正确佩戴和使用()。", "卫生用品", "劳动防护用品", "劳动防护工具", "工作服", "B")); } //随机挑选10题 int[] RanQues; int a; void Choose() { for (a = 0; a < QuesList.Count; a++) QuesList[a].ifChoosed = false; RanQues = new int[10]; for (a = 0; a < 10; a++) { RanQues[a] = Random.Range(0, QuesList.Count); while (QuesList[RanQues[a]].ifChoosed)//已被选择 { RanQues[a] = Random.Range(0, QuesList.Count);//继续随机 } QuesList[RanQues[a]].ifChoosed = true; } Obj_Ques.SetActive(true); Obj_End.SetActive(false); ShowNum = 0; ShowQues(); } bool ifShow; int ShowNum = 0; public Text Text_Ques, Text_A, Text_B, Text_C, Text_D, Text_Ans; public Toggle Tog_A, Tog_B, Tog_C, Tog_D; public void ShowQues() { if (ShowNum < 10) { //题干 Text_Ques.text = (ShowNum + 1).ToString() + "." + QuesList[RanQues[ShowNum]].QuesStr; //A Text_A.text = "A." + QuesList[RanQues[ShowNum]].Option_A; //B Text_B.text = "B." + QuesList[RanQues[ShowNum]].Option_B; //C Text_C.text = "C." + QuesList[RanQues[ShowNum]].Option_C; //D Text_D.text = "D." + QuesList[RanQues[ShowNum]].Option_D; //初始化 Tog_A.isOn = false; Tog_B.isOn = false; Tog_C.isOn = false; Tog_D.isOn = false; Text_A.color = Color.white; Text_B.color = Color.white; Text_C.color = Color.white; Text_D.color = Color.white; Text_Ans.text = ""; Aud_Show.Play(); ifShow = true; } else { Obj_Ques.SetActive(false); Obj_End.SetActive(true); Invoke("ReloadScene", 2); } } public void ChooseOption(string answer) { if (ifShow) { if (answer == QuesList[RanQues[ShowNum]].Answer) { Aud_Correct.Play(); } else//答错 { Aud_Fail.Play(); //正确答案 Text_Ans.text = "正确答案:" + QuesList[RanQues[ShowNum]].Answer; Text_A.color = Color.red; Text_B.color = Color.red; Text_C.color = Color.red; Text_D.color = Color.red; switch (QuesList[RanQues[ShowNum]].Answer) { case "A": Text_A.color = Color.green; break; case "B": Text_B.color = Color.green; break; case "C": Text_C.color = Color.green; break; case "D": Text_D.color = Color.green; break; } } ShowNum++; ifShow = false; Invoke("ShowQues", 3); } } void Menu() { gameObject.SetActive(false); Obj_Menu.SetActive(true); } class Question { public string QuesStr; public string Option_A, Option_B, Option_C, Option_D; public string Answer; public bool ifChoosed; public Question(string s1, string s2, string s3, string s4, string s5, string s6) { QuesStr = s1; Option_A = s2; Option_B = s3; Option_C = s4; Option_D = s5; Answer = s6; } } void ReloadScene() { SceneManager.LoadScene(0); } }