【藍鷗AR/VR開發基礎】實踐課程控制臺Demo

藍鷗(www.lanou3g.com)是一家集產、學、研、創為一體的綜合性移動互聯網研發培訓機構,致力于iOS開發、Unity3D游戲開發、Android開發、HTML5前端開發和Web安全攻防等技術人才的培養。


usingSystem;

namespaceMyFirstGame

{

classMainClass

{

publicstaticvoidMain(string[]args)

{

//游戲即將啟動時做一些操作

constintmapW=46;//地圖寬度

constintmapH=16;//地圖高度

//定義常量

constintemptyTiledMap=0;//空磚塊

constintTBTiledMap=1;//頂部和底部磚塊

constintLRTiledMap=2;//左右兩邊的磚塊

constintPlayer=3;//玩家

//游戲初始化變量

boolisOver=false;//游戲是否結束

int[,]mapData=newint[mapH,mapW];//地圖數據

string[,]mapView=newstring[mapH,mapW];//地圖視圖

intposW=1;//玩家在W的位置

intposH=1;//玩家在H的位置

//初始化地圖數據

for(inti=0;i

for(intj=0;j

//j將地圖初始化為空磚塊

mapData[i,j]=emptyTiledMap;

//如果磚塊處于最上方側或最下方,就初始化為TBTiledMap

if(i==0||i==mapH-1){

mapData[i,j]=TBTiledMap;

}elseif(j==0||j==mapW-1){

//如果磚塊處于最右側或最左側,就初始化為LRTiledMap

mapData[i,j]=LRTiledMap;

}elseif(i==posW&&j==posH){

//當前位置是玩家

mapData[i,j]=Player;

}

}

}

//游戲主循環

while(!isOver){

//游戲啟動后,主循環張做一些操作

//計算機計算數據->將數據轉成視圖->把視圖顯示出來->獲取玩家的事件更新數據

//刷新地圖

for(inti=0;i

for(intj=0;j

//從地圖數據中獲取數據,決定磚塊如何顯示

//取出磚塊數據

inttiledData=mapData[i,j];

//磚塊視圖

stringtiledView="";

//確定磚塊的顯示

switch(tiledData){

caseemptyTiledMap:

tiledView="";

break;

caseTBTiledMap:

tiledView="-";

break;

caseLRTiledMap:

tiledView="|";

break;

casePlayer:

tiledView="P";

break;

}

//將磚塊視圖存放到地圖視圖中

mapView[i,j]=tiledView;

//將每行的每個字符拼接到字符串中

//str+=mapView[i,j];

}

}

//顯示地圖

for(inti=0;i

//創建一個用于接收一行信息的字符串

stringstr="";

for(intj=0;j

//將每行中的所有字符串進行拼接

str+=mapView[i,j];

}

//打印一行的內容

Console.WriteLine(str);

}

//保存玩家當前位置

intoldPosW=posW;

intoldPosH=posH;

//等待用戶輸入

//獲取用戶輸入的按鍵字符串

stringkey=Console.ReadKey().KeyChar.ToString();

if(key=="W"||key=="w"){

//讓玩家向上移動

if(posH>1){

posH--;

}

}elseif(key=="S"||key=="s")

{

//讓玩家向下移動

if(posH2){

posH++;

}

}elseif(key=="A"||key=="a"){

//讓玩家向下左移動

if(posW>1){

posW--;

}

}elseif(key=="D"||key=="d"){

//讓玩家向下右移動

if(posW2){

posW++;

}

}elseif(key=="Q"||key=="q"){

//如果按下Q退出游戲

isOver=true;

continue;

}

//更新地圖數據

mapData[oldPosH,oldPosW]=emptyTiledMap;

mapData[posH,posW]=Player;

}

Console.WriteLine("客觀,下次再來哦");

}

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容