蓝鸥Unity开发基础—— 实践课程源代码一
源代码
using System;
namespace MyFirstGame
{
class MainClass
{
public static void Main (string[] args)
{
//游戏即将启动时做一些操作
const int mapW=46;//地图宽度
const int mapH = 16;//地图高度
//定义常量
const int emptyTiledMap=0;//空砖块
const int TBTiledMap=1;//顶部和底部砖块
const int LRTiledMap=2;//左右两边的砖块
//游戏初始化变量
bool isOver = false;//游戏是否结束
int[,] mapData=new int[mapH,mapW] ;//地图数据
//初始化地图数据
for (int i = 0; i < mapH; i++) {
for (int j= 0; j < mapW;j++) {
//j将地图初始化为空砖块
mapData[i,j]=emptyTiledMap;
//如果砖块处于最上方侧或最下方,就初始化为TBTiledMap
if(i==0 || i==mapH-1){
mapData[i,j]=TBTiledMap;
}else if(j==0 || j==mapW-1){
//如果砖块处于最右侧或最左侧,就初始化为LRTiledMap
mapData[i,j] = LRTiledMap;
}
}
}
//地图
// string[,] mapView= new string[3,5]{
// {"-","-","-","-","-"},
// {"|","-","-","-","|"},
// {"-","-","-","-","-"}
// }
string[,] mapView= new string[mapH,mapW];//地图视图
//刷新地图
for (int i = 0; i < mapH; i++) {
//字符串获取行每行的字符信息
//string str="";
for (int j = 0; j < mapW; j++) {
//将每行的每个字符拼接到字符串中
//取出砖块数据
int tiledData =mapData[i,j];
//砖块视图
string tiledView="";
//确定砖块的显示
switch(tiledData){
case emptyTiledMap:
tiledView=" ";
break;
case TBTiledMap:
tiledView="-";
break;
case LRTiledMap:
tiledView="|";
break;
}
//将砖块视图存放到地图视图中
mapView[i,j]=tiledView;
//将每行的每个字符拼接到字符串中
//str +=mapView[i,j];
}
//输出拼接完毕的行信息
// Console.WriteLine(str);
}
//显示地图
for (int i = 0; i < mapH; i++) {
//创建一个用于接收一行信息的字符串
string str="";
for (int j = 0; j < mapW; j++) {
//将每行中的所有字符串进行拼接
str+=mapView[i,j];
}
//打印一行的内容
Console.WriteLine (str);
}
//游戏主循环,
// while (!isOver) {
//游戏启动后,主循环中做一些操作
//计算机计算数据->将数据转成视图->把视图显示出来->获取玩家的事件更新数据
// }
//游戏即将结束时做一些操作
}
}
}