【蓝鸥AR/VR开发基础】实践课程控制台Demo

蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。

【蓝鸥AR/VR开发基础】实践课程控制台Demo_第1张图片


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("客观,下次再来哦");

}

}

}

你可能感兴趣的:(【蓝鸥AR/VR开发基础】实践课程控制台Demo)