什么是二维数组?

数组当中放的还是数组

int [][] arr=new int[3][2];

有3个小箱子,每个箱子2个格子。

看结果?

int [][] arr=new int[3][2];

System.out.println(arr);

System.out.println(arr[0]);

System.out.println(arr[0][0]);

System.out.println(arr.length]);

System.out.println(arr[1].length);

再看结果?

int [][] arr=new int[3][];

System.out.println(arr);

System.out.println(arr[0]);//什么结果?还是哈希值吗?

System.out.println(arr[0][0]);//这个是什么结果?

二维数组的遍历?

程序源码如下:

package com.swift;import java.awt.Point;
import java.awt.event.KeyEvent;import com.rupeng.game.GameCore;public class GameOfShuzu implements Runnable{public static void main(String[] args) {GameCore.start(new GameOfShuzu());}@Overridepublic void run() {GameCore.setGameSize(760, 570);GameCore.setGameTitle("图片迷宫游戏—二维数组制作");GameCore.loadBgView("bg.png");//二维数组赋值15行15列,每张图片宽度50*36int[][] arr = {{3,0,0,0,1,1,0,0,2,2,3,0,0,0,1},{0,0,0,0,4,1,0,0,0,2,0,0,0,0,1},{0,3,0,0,0,0,0,0,0,0,0,3,3,0,1},{0,3,0,0,0,0,0,0,0,2,0,0,3,0,0},{0,0,0,0,0,1,0,0,0,2,0,0,0,0,1},{4,4,0,0,1,1,0,0,0,0,4,4,0,0,1},{0,0,0,0,0,4,4,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,2,0,0,1},{0,0,0,0,1,0,0,0,0,2,2,0,0,0,1},{0,4,4,0,1,0,0,0,0,0,4,4,0,0,1},{0,0,0,0,0,4,4,0,0,3,0,0,0,0,0},{1,1,2,0,0,0,0,1,0,0,0,4,0,0,0},{0,4,0,0,0,1,0,0,0,0,0,2,0,0,1},{0,0,3,0,1,0,0,0,2,2,0,0,0,2,0}};//二维数组遍历查看每个元素的值for(int i=0;i<arr.length;i++) {for(int j=0;j<arr[i].length;j++) {System.out.print(i+"行"+j+"列 "+arr[i][j]+" | ");}System.out.println();}//计数器int num=0;//根据元素的值在游戏窗口中生成图片墙for(int i=0;i<arr.length;i++) {for(int j=0;j<arr[i].length;j++) {if(arr[i][j]==1) {GameCore.createImage(num);GameCore.setImageSource(num, "1.png");GameCore.setImagePosition(num, j*50, i*36);num++;}if(arr[i][j]==2) {GameCore.createImage(num);GameCore.setImageSource(num, "2.png");GameCore.setImagePosition(num, j*50, i*36);num++;}if(arr[i][j]==3) {GameCore.createImage(num);GameCore.setImageSource(num, "3.png");GameCore.setImagePosition(num, j*50, i*36);num++;}if(arr[i][j]==4) {GameCore.createImage(num);GameCore.setImageSource(num, "4.png");GameCore.setImagePosition(num, j*50, i*36);num++;}}System.out.println();}// 女精灵int spriteGirl = 0;GameCore.createSprite(spriteGirl, "butterfly");GameCore.playSpriteAnimate(spriteGirl, "fly", true);GameCore.setSpritePosition(spriteGirl, 100, 20);for (;;) {int codeNum = GameCore.getPressedKeyCode();Point position = GameCore.getSpritePosition(spriteGirl);if (codeNum == KeyEvent.VK_UP || codeNum == KeyEvent.VK_W) {if (position.y > 30) {System.out.println("up");GameCore.setSpritePosition(spriteGirl, position.x, --position.y);GameCore.pause(11);}}if (codeNum == KeyEvent.VK_DOWN || codeNum == KeyEvent.VK_S) {if (position.y < 550) {System.out.println("down");GameCore.setSpritePosition(spriteGirl, position.x, ++position.y);GameCore.pause(11);}}if (codeNum == KeyEvent.VK_LEFT || codeNum == KeyEvent.VK_A) {if (position.x > 0) {System.out.println("left");GameCore.setSpriteFlipX(spriteGirl, true);GameCore.setSpritePosition(spriteGirl, --position.x, position.y);GameCore.pause(2);}}if (codeNum == KeyEvent.VK_RIGHT || codeNum == KeyEvent.VK_D) {if (position.x < 730) {System.out.println("right");GameCore.setSpriteFlipX(spriteGirl, false);GameCore.setSpritePosition(spriteGirl, ++position.x, position.y);GameCore.pause(1);}}}}}

画面效果如图:

压缩包及相关素材下载地址:

https://pan.baidu.com/s/1hrC3TtU

转载于:https://www.cnblogs.com/qingyundian/p/7768071.html

什么是二维数组?二维遍历?Java二维数组制作图片迷宫 使用如鹏游戏引擎制作窗口界面 附带压缩包下载,解压后双击start.bat启动...相关推荐

  1. mysql实战环境(二)压缩包直接解压后启动mysql

    1.压缩包下载地址: http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.24-winx64.zip 当然也可在官网进行免费下载 2. ...

  2. tomcat双击startup.bat启动时闪退

    tomcat之前用的好好地没有问题,今天重启一下就发现双击startup.bat一闪而过,接着就没有任何动静了,tomcat无法启动啦? 于是网上搜了一堆tomcat闪退的解决办法,其中有说是没有读取 ...

  3. openjudge 二维数组右上坐下遍历(二维数组)

    二维数组右上左下遍历 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  65536kB 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按 ...

  4. python append函数二维_python创建与遍历List二维列表的方法

    python创建与遍历List二维列表的方法 python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in ran ...

  5. B09_NumPy迭代数组(控制遍历顺序,修改数组中元素的值,使用外部循环,广播迭代)

    NumPy迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用arange()函数 ...

  6. 数组中map遍历会改变原数组吗?

    提到map用法,很多人想到forEach,那么这两种方法的区别是什么?会有人说,forEach会改变原数组:map不会改变原数组,返回一个新数组.事实是这样的吗?答案不是,这种说法不准确,是有条件的. ...

  7. java数组长度定义_java怎么定义数组的长度?java中的数组长度问题

    之前对Java中的数组一直是一知半解,特别是数组中的长度问题.今天对这个问题也算是小有理解,算是对java数组的有了更进一步的了解吧.不说了,先来例子再说:package com.test; publ ...

  8. java数组初始化的方式,java中初始化数组的方式有几种

    java中初始化数组的方式有几种 发布时间:2020-06-01 16:12:45 来源:亿速云 阅读:153 作者:鸽子 三种初始化方式: 1.静态初始化:创建+赋值 2.动态初始化:先创建再赋值 ...

  9. java 如何创建一个数组_如何用Java创建一个数组?

    在Java中,可以使用new关键字像对象一样创建数组.使用new关键字在Java中创建数组的语法-type[] reference = new type[10]; 哪里,type是数组元素的数据类型. ...

最新文章

  1. 团队招人的笔试题,我的回答。
  2. JZ2440开发笔记(4)——设置静态IP
  3. vue的Virtual Dom实现- snabbdom解密
  4. 这四种情况下,才是考虑分库分表的时候!
  5. 前端学习(2269)vue造轮子之添加icon
  6. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌5.04%
  7. 利用CPUID 汇编指令(转载)
  8. Solarwinds实现MSN报警
  9. 【路径规划】基于matlab A_star算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1388期】
  10. 【优化算法】人工鱼群优化算法(AFSA)【含Matlab源码 1078期】
  11. 计算机cad名词解释,CAD全部名词解释
  12. 苹果 macOS 系统键盘快捷键列表大全整理
  13. Proteus仿真STM32F103R6输出PWM波
  14. Windows7orServer2008安装VM-Tools
  15. c语言 虚拟示波器软件下载,虚拟示波器软件(示波器工具)V3.1 官方版
  16. 如果你没有读过苏世民的《我的经验与教训》 ,可以看看这篇精华语录: 25条工作和生活原则...
  17. 悟空问答python反爬_悟_刘德华_高音质在线试听_悟歌词|歌曲下载_酷狗音乐
  18. 用结构体指针访问结构体中的结构体指针(结构体指针的嵌套)
  19. 易语言大漠内存找图的实现
  20. Express jade

热门文章

  1. Dom4J两种节点添加方法比较
  2. DtCms.DAL.WebSet.cs
  3. 如何用Endnote在论文中插入图片
  4. python不等式编程_python-指定大于scipy中的不等式
  5. C语言 | 关于e格式符的问题(附C例程)
  6. 神经网络 | DeepVO:Towards End-to-End Visual Odometry
  7. php多维数组遍历创建表格,php实现遍历多维数组的方法_PHP
  8. Matlab与C/C++混合编程接口及应用
  9. python文字识别并获取位置_python实现简单的文字识别
  10. 天涯共此式 有AI月更圆