Unity面接概要-機能実装
4752 ワード
1.任務を受け取ってから任務を完成するまで、全部でいくつかの過程で、各過程は何に注意しますか?
2.リュックサックシステム、格子500を設計する.偽コードは増加、削除、変更、検索を実現します。struct sitem{ string uid,int index, int count, int itemcode }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PaiXu
{
struct sitem {
public string uid; // id
public int index; //
public int itemCoad; // id
public int itemAmount; //
}
class Class2
{
public int bagCount = 500;
//
public List bagList = new List();
//
public void InitSimpBagItem(int index)
{
bagList[index] = new sitem();
}
//
public void InitBag() {
for (int i = 0; i < bagCount; i++) {
InitSimpBagItem(i);
}
}
//
public bool CheckNull(int index) {
if (bagList[index].itemAmount == 0)
{
return true;
}
else {
return false;
}
}
// (id),
public int CheckItem(int id) {
for (int i = 0; i < bagCount; i++) {
if (bagList[i].itemCoad == id) {
return i;
}
}
return -1;
}
//
public int FindFull() {
for (int i = 0; i < bagCount; i++) {
if (bagList[i].itemAmount == 0) {
return i;
}
}
return -1; //
}
//
public void AddItem(sitem sitem) {
//
int bagIndex = CheckItem(sitem.itemCoad);
if (bagIndex == -1)
{
int newBagIndex = FindFull();
if (newBagIndex == -1)
{
return;
}
else
{
sitem.index = newBagIndex;
sitem.itemAmount = 1;
bagList[newBagIndex] = sitem;
}
}
else {
sitem.itemAmount = bagList[bagIndex].itemAmount + 1;
bagList[bagIndex] = sitem;
}
}
//
public void DelectItem(int id) {
int bagIndex = CheckItem(id);
if (bagIndex == -1)
{
return;
}
else {
sitem item = bagList[bagIndex];
item.itemAmount -= 1;
if (item.itemAmount <= 0) {
InitSimpBagItem(bagIndex);
}
bagList[bagIndex] = item;
}
}
}
}
3.リュックサックの実現方法について説明します。
MVC設計モードを使用する:
modleとcontrol層
viewレイヤ
4.UIにモデルを表示する方法
5.LuaとC#はどのように通信を実現しますか?
インタラクティブプロセス:
相互作用の原理: