前言:
上海每年都有ChinaJoy,所以很期待在上海開發游戲。今天,我面了來上海之后的第一家游戲公司。很友好的一家游戲公司,氛圍也很和諧。面我的面試官應該是一個主程,看了我的筆試,指出了很多不足,對我來說受益頗多。
話不多說!上題!
背景:有一個英雄,生活在布滿農田、洞穴的世界里,他為了生存不斷的采集、打怪。
元素:三種點:家(唯一)、農田(若干)、洞穴(若干),數據由pointlist定義(見參考代碼);一個角色:英雄(初始位置在家);
游戲邏輯(代碼實現):
a、根據pointlist創建地圖;
b、點擊家,角色移動到家,血量全滿;點擊洞穴,角色移動到洞穴,HP-20,Exp+10,洞穴消失;點擊農田,角色移動到農田,HP-20,Exp+5,農田消失;
游戲判定:角色升級勝利,HP不足則失敗。
題目需求:用自己熟悉的語言(c++,c#,或其他語言皆可),需要有完整的類定義、函數定義、變量定義、注釋來實現完整的游戲邏輯,主要考察邏輯,代碼習慣,面向對象編程,設計模式及代碼可拓展性(比如新加角色、新加類型點);
參考代碼:
enum PointType
{
PointType_Home,
PointType_Hole,
PointTYpe_Farm,
};
struct PointInfo
{
int id;
PointType pointType;
Vector2D position;
};
var std::vector<PointInfo>pointList;
(答題時間不限)多說一句:面試題上寫的是時間不限,但面試時間是上午11:30,公司午飯時間是12:30.最好是一個小時內你要構思好游戲邏輯,並手寫出來。對!是手寫。。。。習慣了VS提示編程的我很不習慣。很多Unity的API知道但拼不全。還是代碼量太少了。繼續面試了,最起碼找到一家公司不管規模多大,徐徐圖之。