//NewGame.java;
//功能:新建一个游戏;
//类名:NewGame
//作者:石明华
//完成日期:2007-04-10
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
import java.util.Random;
import java.io.*;
import javax.microedition.rms.*;
public class NewGame extends GameCanvas implements Runnable{
public Thread thread;
//有效地图;
private boolean[] cango = {true,true,true,true};
//参数设置;
private int ManSpeed = 0,GSpeed = 0;
//游戏开始开关,地图编号;
public boolean gameflag=true;
private int MapID = 0;
//随机奖励概率;
Random srdm = new Random();
private int scroenum = 0;
//存储游戏相关对象实例初始化;
private static final int wcnt = 5;
private int w=0;
RecordStore recordStroe = null;
protected int[] data = new int[45];
sound s =new sound("D:/shiminghua/j2me_work/SeaGame/res/sound/w.mp3");
//游戏主角生命值,所得分数等参数;
private int hp = 34;
private int scroe = 0;
//游戏主角参照点-起点;
private int drawX = 0,drawY = 0;
//地图可见区域参照点;
private int dx = 0,dy = 0;
//怪物数据初始化;
private int[] gx = new int[wcnt];//怪物起点;
private int[] gy = new int[wcnt];
private int[] alive = new int [wcnt];//存活状态;
private int cnt=0,allded=0,sid=0;
static child_monster mg = new child_monster();
child_monster[] m = new child_monster[wcnt];
//子弹数据初始化;
private int[] tag =new int[wcnt];
private int[] wx = new int[wcnt];//子弹起点;
private int[] wy = new int[wcnt];
private int[] worder= new int[wcnt];
child_weapon[] cw = new child_weapon[wcnt];
//sprite(游戏主角),g1sprite(怪物1)
private Sprite sprite;
//titledImage(地图1),spriteImage(游戏主角),gImage(怪物1),rout1(路1)
private Image titledImage,spriteImage,rout1,rout2,titledImage_2,titledImage_3;
private Graphics g;
//background(地图1),rout1_1(路1);
private TiledLayer background,background_1,background_2,background_3,rout1_1,rout1_2,rout1_3,rout1_4,rout2_1,rout2_2,rout2_3,rout2_4;
private LayerManager layManager;
//精灵序列-游戏主角精灵;
private int speed = 10;
private int left_seq[] = {11,10,9};
private int right_seq[] = {3,4,5};
//地图;(40*8);
private byte[][] titledMap ={{1,2,3,4,5,6,7,8},
{9,10,11,12,13,14,15,16},
{17,18,19,20,21,22,23,24},
{25,26,27,28,29,30,31,32},
{33,34,35,36,37,38,39,40},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{33,33,33,33,33,33,33,33},
{32,32,32,32,32,32,32,32}};
//地图3(40*8);
private byte[][] titledMap_3 = {
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,2,3,4,5,6,7,8},
{9,10,11,12,13,14,15,16},
{17,18,19,20,21,22,23,24},
{25,26,27,28,29,30,31,32},
{33,34,35,36,37,38,39,40},
{41,42,43,44,45,46,47,48},
{49,50,51,52,53,54,55,56},
{57,58,59,60,61,62,63,64},
{65,66,67,68,69,70,71,72},
{73,74,75,76,77,78,79,80},
{81,82,83,84,85,86,87,88},
{89,90,91,92,93,94,95,96},
{97,98,99,100,101,102,103,104},
{105,106,107,108,109,110,111,112},
{113,114,115,116,117,118,119,120},
{121,122,123,124,125,126,127,127}
};
private byte[][] rout1Map = {{1,1,1,1,1}};
private byte[][] rout2Map = {{1,1,1,1,1}};
protected NewGame() {
super(true);
// TODO Auto-generated constructor stub;
drawX = this.getWidth()/2-32;
drawY = 20;
try{
spriteImage = Image.createImage("/man.png");
titledImage = Image.createImage("/sea1.png");
titledImage_2 = Image.createImage("/sea8.png");
titledImage_3 = Image.createImage("/seaend.png");
rout1 = Image.createImage("/smalltree.PNG");
rout2 = Image.createImage("/smallstons.png");
}catch(Exception e){}
sprite = new Sprite(spriteImage,24,32);//游戏主角精灵;
sprite.setFrameSequence(left_seq);
g = this.getGraphics();
//生成地图;
background_1 = new TiledLayer(8,40,titledImage,40,10);//地图1;
background_2 = new TiledLayer(8,40,titledImage_2,40,10);
background_3 = new TiledLayer(8,40,titledImage_3,40,10);
for(int i=0;i<40;i++){
for(int j=0;j<8;j++){
background_1.setCell(j,i,titledMap[i][j]);
background_2.setCell(j,i,120);
background_3.setCell(j,i,titledMap_3[i][j]);
}
}
background = background_1;
background.move(0,0);
//路;
rout1_1 = new TiledLayer(5,1,rout1,16,15);
rout1_2 = new TiledLayer(5,1,rout1,16,15);
rout1_3 = new TiledLayer(5,1,rout1,16,15);
rout1_4 = new TiledLayer(5,1,rout1,16,15);
rout2_1 = new TiledLayer(5,1,rout2,16,11);
rout2_2 = new TiledLayer(5,1,rout2,16,11);
rout2_3 = new TiledLayer(5,1,rout2,16,11);
rout2_4 = new TiledLayer(5,1,rout2,16,11);
for(int i=0;i<1;i++){
for(int j=0;j<5;j++){
rout1_1.setCell(j,i,rout1Map[i][j]);
rout1_2.setCell(j,i,rout1Map[i][j]);
rout1_3.setCell(j,i,rout1Map[i][j]);
rout1_4.setCell(j,i,rout1Map[i][j]);
rout2_1.setCell(j,i,rout2Map[i][j]);
rout2_2.setCell(j,i,rout2Map[i][j]);
rout2_3.setCell(j,i,rout2Map[i][j]);
rout2_4.setCell(j,i,rout2Map[i][j]);
}
}
//初始化武器;
for(int i=0;i<wcnt;i++){
cw[i] = new child_weapon();
cw[i].run();
wx[i] = 0;
wy[i] = 0;
tag[i] = 0;
alive[i] = 0;
worder[i] = 0;
}
rout1_1.move(0, 100);
rout1_2.move(100, 150);
rout1_3.move(236, 200);
rout1_4.move(0, 250);
rout2_1.move(236,360);
layManager = new LayerManager();
thread = new Thread(this);
thread.start();
}
//按键处理;
public void keyPressed(){
int keyState = getKeyStates();
if((keyState & RIGHT_PRESSED) != 0){//右键;
w=1;
sprite.setFrameSequence(right_seq);
if(dx<320-this.getWidth()){//地图是否到右尽头;
if(drawX<this.getWidth()/2+32)//人物是否走到地图右边缘;
drawX=drawX+speed+ManSpeed;
else
dx=dx+speed+ManSpeed;
}
else
if(drawX<320-this.getWidth()+140)//地图已到右尽头,人物没走到地图右边缘;
drawX=drawX+speed+ManSpeed;
}
if((keyState & LEFT_PRESSED) != 0){//左键
w=0;
sprite.setFrameSequence(left_seq);
if(dx>0){//地图是否到左尽头;
if(drawX>80)//320-this.getWidth())//人物是否走到地图左边缘;
drawX=drawX-speed-ManSpeed;
else
dx=dx-speed-ManSpeed;
}
else
if(drawX>0)//地图已到左尽头,人物没走到地图左边缘;
drawX=drawX-speed-ManSpeed;
}
if((keyState & UP_PRESSED) != 0){//上键
if(dy>0)
if(drawY>20)
drawY=drawY-speed-ManSpeed;
else
dy=dy-speed-ManSpeed;
else
if(drawY
没有合适的资源?快使用搜索试试~ 我知道了~
Java手机游戏海底探险源文件
共24个文件
png:14个
java:6个
mp3:2个
需积分: 10 12 下载量 196 浏览量
2011-11-09
19:02:32
上传
评论 1
收藏 1.5MB RAR 举报
温馨提示
一个同学的毕业设计作品:JAVA版的手机游戏——海底探险 。 技术交流网站:
资源推荐
资源详情
资源评论
收起资源包目录
javatxgame.rar (24个子文件)
codefans.net
Java手机游戏海底探险
res
g1.png 2KB
smalltree.PNG 484B
dragon.png 6KB
g2.png 788B
sound
w.mp3 1.52MB
s.mp3 8KB
sea1.png 3KB
g3.png 4KB
man.png 6KB
IconArrow.png 240B
scroe.png 4KB
sea8.png 13KB
seabackground2.png 273B
seaend.png 12KB
Thumbs.db 41KB
ston.png 189B
smallstons.png 491B
src
NewGame.java 23KB
SeaGame.java 5KB
源码爱好者.url 133B
ViewWindowCanvas.java 2KB
sound.java 2KB
child_monster.java 1KB
child_weapon.java 774B
共 24 条
- 1
资源评论
勾月禅心
- 粉丝: 685
- 资源: 6702
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功