TaiZhouCangChu_VRanime/Assets/Script/Exper/Exam.cs

169 lines
7.5 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<Question> QuesList = new List<Question>();
//获取所有题目
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);
}
}