用二维数组画出地图

在超级玛丽或坦克大战中,有许多的障碍物,如果一个个描述,代码量十分巨大,故可以采取使用二维数组画出地图的方法。
在这里插入图片描述
用二维数组画地图的实质是利用数组下标来表示窗体中的某些点,如上图一个 4*4的方格就代表你的窗体,假设小方格为 长宽皆为 50 像素的正方形。
如果你想以黄色五角星为标准画出一个砖块,该怎样画。
观察方格图可得黄色五角星下标为 (2,2)
假设先创建一二维数组表示窗口,空白地的下标对应内容为 0 ,而下标(2,2)因为要画出砖块,所以内容写为 1

 int[]arry ={
    [0,0,0,0],
    [0,0,0,0],
    [0,0,1,0],
    [0,0,0,0]
 }
 //两次for遍历二维数组
 for(int i=0;i<arry.length;i++){
     for(int j=0;j<arry[0].length;j++){
        //判断如果遍历到你需要画出图片的下标,在此处利用下标画出图片
        if(arry[i][j]==1){
          g.drawImage(img,j*50,i*50,50,50,null);
        }
     }
 }

后续游戏编写过程中的碰撞检测问题,也可以用双重for循环来遍历检测人物或子弹是否与墙的碰撞等,减少大量代码量。
如果不理解可先参考杨辉三角。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值