用Unity3D开发一个题库系统

需求:今日因为项目组人员变动,需要新招一名开发人员。而面试的话会耽误开发进度,进而导致加班,所以准备开发一套随机面试题库,从而帮助我们筛选比较合适的同事。

延伸需求:这套题库的开发思路也适用于延伸到教育行业,总体来说是比较有意义的事情。

需求拆分:

1,设计一套比较基础的题库,题目比较常见且偏向于我们目前开发的项目。其中基础题型占据70%,以问答题和选择题为主,着重考虑能否尽快投入工作;算法与开发案例占据30%,着重考虑解决问题思路,以及后续的晋升等;

2,简单界面如下:

用Unity3D开发一个题库系统

3,输出桌面docx文档,关键方法如下:

using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.UI;
using System;

public class Creat : MonoBehaviour
{
    public Button btu;

    public Button exit;   
    // Use this for initialization
    void Start()
    {
        btu.onClick.AddListener(CreatDocx);
        //AssetDatabase.Refresh();
        exit.onClick.AddListener(delegate { Application.Quit(); });
    }
    int idx = 1;
    // Update is called once per frame
    void CreatDocx()
    {
        string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
        Directory.CreateDirectory(dir);
        using (StreamWriter writer = File.CreateText(dir + "/答题卷" + idx + ".docx"))
        {
            string docxStr = "*请在不使用搜索设备的情况下完成笔试题,如果有遗忘的可以写上思路补充。\n\n\n\n";
            //foreach (Transform _tran in transform)
            //{
            //    docxStr += _tran.name + ",";
            //    docxStr += (float)_tran.position.x + ",";
            //    docxStr += (float)_tran.position.z + ",";
            //    docxStr += "\n";
            //}
            //遍历循环表格,通过规则打印出需要的题库


            docxStr += "End";
            writer.Write(docxStr);
        }
        //AssetDatabase.Refresh();
        Debug.Log(gameObject.name + "转表完毕");
        idx++;
    }
}

其中Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);方法是找到桌面路径。

接下来设计表格,截图如下(转表插件已经集成好,如有需要可以在我的店铺购买):

用Unity3D开发一个题库系统

设计完之后就是填写具体的问答题,并编辑相关选题逻辑(选择填空分别占据多少等),最终结果为:

用Unity3D开发一个题库系统

world文档如下:

用Unity3D开发一个题库系统

 

上一篇:记录Unity3d使用UMP(Universal Media Player)插件打包后无法播放


下一篇:【特性】unity3D中 OnMouseEnter() 或 onMouseExit()没有反应