什么是二维数组?二维遍历?Java二维数组制作图片迷宫 使用如鹏游戏引擎制作窗口界面 附带压缩包下载,解压后双击start.bat启动
什么是二维数组?
数组当中放的还是数组
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());
} @Override
public void run() {
GameCore.setGameSize(760, 570);
GameCore.setGameTitle("图片迷宫游戏—二维数组制作");
GameCore.loadBgView("bg.png");
//二维数组赋值15行15列,每张图片宽度50*36
int[][] 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
什么是二维数组?二维遍历?Java二维数组制作图片迷宫 使用如鹏游戏引擎制作窗口界面 附带压缩包下载,解压后双击start.bat启动的更多相关文章
- Java第十二次作业:什么是一维数组?什么是对象数组?吃金币游戏2.0版 新增炸弹功能 新增游戏倒计时功能 新增胜利失败检测功能 使用如鹏游戏引擎制作窗体 一维数组设置金币
什么是数组? 数组的定义:是用统一的名字代表这批数据,用序号来区分各个数据.数组是无序的数据元素按有序的下标组成的集合,分配固定空间大小的一种容器. 如何理解:其实就是一个同时放很多数据的变量. a= ...
- ramdisk配置、解压、创建rootfs、启动简单分析
关键词:ramdisk.rdint..init.ramfs.__initramfs_start.__initramfs_size.rootfs.ramfs.populate_rootfs().gzip ...
- tomcat双击startup.bat启动时闪退
tomcat之前用的好好地没有问题,今天重启一下就发现双击startup.bat一闪而过,接着就没有任何动静了,tomcat无法启动啦? 于是网上搜了一堆tomcat闪退的解决办法,其中有说是没有读取 ...
- 双击startup.bat启动tomcat时闪退原因及解决方案
在启动免安装tomcat时,很容易遇到双击startup.bat,启动窗口闪退而tomcat服务未启动的状况. 具体原因:tomcat在启动时,需要读取环境变量和配置信息,如果缺少Java环境,即缺少 ...
- tomcat的war由于损坏不能解压导致的服务不能启动
问题描述: Tomcat启动,提示异常,服务自动释放! INFO: Starting Servlet Engine: Apache Tomcat/ Sep , :: PM org.apache.cat ...
- MySQL Server 5.7解压版缺少文件无法启动
如题: 一般认为5.7中mysql目录下 缺少data/mysql/目录,导致无法启动: 解决方案: 重新安装5.6即可: 1.删除5.7中安装的服务: 到mysql\bin目录下运行:mysqld ...
- jmeter解压后启动jmeter.bat报错:Not able to find java executable or version
错误详情: 错误解决方法: 修改环境变量配置将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;移动到%SystemRoot%\system32;%SystemRoot%;%Sy ...
- 免解压版的Mysql的启动脚本,并且执行导入(windows)
@echo off rem ################### set MYSQL_VERSION=mysql-5.5.32-win32 set LOCK=wot.lock rem ####### ...
- linux运维中的命令梳理(二)
回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...
随机推荐
- P5135 painting(组合数)
传送门 如果\(op==1\),那么每一个方案都可以看做从\(n\)个数里选出\(m\)个数,然后\(sort\)一下依次放到每列,方案数就是\({n\choose m}\).因为\(n\)很大,但是 ...
- [Xcode 实际操作]三、视图控制器-(2)UITabBarController选项卡(标签)视图控制器
目录:[Swift]Xcode实际操作 本文将为你演示,选项卡视图控制器的创建和使用. 在项目文件夹[DemoApp]上点击鼠标右键,弹出右键菜单. [New File]->[Cocoa Tou ...
- AttributedString 图片间距问题
1.NSMutableAttributedString如何显示图片 NSMutableAttributedString *vipStr = [[NSMutableAttributedString al ...
- rn-splash-screen 启动页 ios
1.删除iOS工程文件夹下的 LaunchScreen.xib 文件 2. 3. 如果第4步不一样的样式,可以重新走这个图片的步骤就行 4.进入iOS工程的AppDelegate.m中做如下修改: ...
- [题解]区间dp_luogu_P3147 262144
小数据版本P3146,可以区间dp, 性质:对于一个区间如果能合并成一个数,那么这个数是确定的 理解:把每个数看做 2^x 的形式,那么如果合并:2^x + 2^x =2^(x+1) 所以 f [ i ...
- [模板](luogu P3387)縮點
前言:對於這週的咕咕咕表示好像沒什麼好表示的,完全沒有靈感a......寫東西真的好難啊......於是又玩了半天鬼泣4???還挺好玩的 來源:題解 题目背景 缩点+DP 题目描述 给定一个n个点m条 ...
- c# 参数传递问题(形参与实参)
形参是指被调用方法中的参数 实参是指传递给方法的参数 (1)值类型传参是按值传递 值类型传参,形参接受到的是实参的一个副本,即形参发生变化,实参不会发生任何变化 (2)引用类型参数按值传递 当参数传递 ...
- POJ-3275:Ranking the Cows(Floyd、bitset)
Ranking the Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3301 Accepted: 1511 ...
- 修复在unix系统里的文件打开不能显示正常的颜色问题
在mac上面看到mysql的配置文件的颜色永远是白色,为了让配置文件的颜色更加分明些,这个时候只需进入到home目录下新建一个.vimrc文件, vim .vimrc set nu syntax o ...
- nopCommerce - asp.net开源商城
nopcommerce官网 http://nopcommerce.codeplex.com/ nopCommerce is a open source e-commerce solution that ...