169 lines
7.5 KiB
C#
169 lines
7.5 KiB
C#
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);
|
||
}
|
||
}
|