蓝鸥Unity开发基础—— 实践课程控制台地图Demo

来源:互联网 发布:计算机处理数据的方式 编辑:程序博客网 时间:2024/05/17 06:52

蓝鸥Unity开发基础—— 实践课程控制台地图Demo


源代码

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) {

                //游戏启动后,主循环中做一些操作
                //计算机计算数据->将数据转成视图->把视图显示出来->获取玩家的事件更新数据


//            }


            //游戏即将结束时做一些操作


        }
    }
}

 

 

0 0