地图结构体
地图结构体包含可格子数组、地图初始化构造函数、画地图的函数方法。
地图结构体
struct Map
{
public Grid[] grids;//声明一个变量类型为Grid的数组在结构体中不用初始化
public Map(int x,int y,int num) // 创建构造函数,传入下x,y作为坐标参数,num作为格子数量参数
{
grids=new Grid[num];
//位置索引
int indexX=0,indexY=0;
//X步长
int stepX=2;
Random r = new Random();
int gridsProp;
for(int i =0 ;i<num;i++)
{
//初始化格子类型
gridsProp=r.Next(0,101);
//普通格子,有85%为普通格子,且第一格和最后一格必须是普通格子
if(gridsProp<85||i==0||i==num-1)
{
grids[i].type=E_Grid_Type.Normal;
}
//炸弹格子
if(gridsProp>=85&&gridsProp<90)
{
grids[i].type=E_Grid_Type.Bomb;
}
//暂停格子
if(gridsProp>=90&&gridsProp<95)
{
grids[i].type=E_Grid_Type.Pause;
}
//隧道格子
if(gridsProp>=95&&gridsProp<101)
{
grids[i].type=E_Grid_Type.Tunnel;
}
//格子位置初始化
grids[i].pos=new Vector2(x,y);
if (indexX==10)
{
y++;
indexY++;
if(indexY==2)
{
indexX==0;
stepX=-stepX;
}
}
else
{
x+=2;
indexX++;
}
}
}
public void DrawMap()//画地图的函数方法
{
for(int i = 0 ;i<grids.Length;i++)
grids[i].Draw();
}
}
用格子x的步长代替x的坐标来处理x的步进问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!