📄 engine.java
字号:
import java.util.Vector;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
public class Engine {//驱动整个游戏
public Engine(){
}
boolean isook;
boolean isoook;
int icount=0;
int ucount=0;
int ccount=88;
Role role;
Map map;
Mianui ui;
boolean isok;
Vector enemys =new Vector();
//还有敌人类,道具类
protected void init(){//游戏开始前的初始化
map=new Map();
ui=new Mianui();
role=new Role(this);
role.init();
}
protected void drawGame(Graphics g){
// System.out.println(enemys.size());
ui.drawui(g);
g.translate(0,32);
map.drawMap(g);
role.drawRole(g);
for (int i = 0; i < enemys.size(); i++) {
Enemy enemy=null;
enemy=(Enemy)enemys.elementAt(i);
if (enemy != null) {
enemy.drawEnemy(g);
}
}
if(!isok){
g.setColor(0x000000);
g.fillRect(0,0,176,80-icount);
g.fillRect(0,80+icount,176,80-icount);
}
g.translate(0,-32);
if(isook){
g.setColor(0x000000);
g.fillRect(0,0,88-ccount,208);
g.fillRect(88+ccount,0,88-ccount,208);
if(isoook){
g.setColor(248,248,248);
g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("游戏结束",Tools.SCREEN_WIDTH/2,100,g.HCENTER|g.BASELINE);
}
}
}
public void runGame(){//所有游戏中的逻辑部分
if(!isok){
icount+=4;
if(icount==80){
isok=true;
icount=0;
}
}else{
role.roleLogic();
map.MapLogic();
for (int i = 0; i < enemys.size(); i++) {
Enemy enemy=null;
enemy=(Enemy)enemys.elementAt(i);
if (enemy != null) {
enemy.EnemyLogic();
if(enemy.isDide)
enemys.removeElementAt(i);
}
}
if(isook){
ccount-=2;
if(ccount<=0){
ccount=-2;
isoook=true;
}
}
map.setScreenMode(role.x,role.y,role.isRight);//根据主角位置设置视窗的显示位置
if(role.x>=768&&map.getMapState()==0){
map.setMapstate(1);
role.x=2;
Map.leftTopX=0;
}
if(role.x<=0&&map.getMapState()==1){
map.setMapstate(0);
Map.leftTopX=592;
role.x=764;
}
if(role.x>860&&map.getMapState()==1){
map.setMapstate(2);
Map.leftTopX=0;
role.x=2;
}
if(role.x<=0&&map.getMapState()==2){
map.setMapstate(1);
Map.leftTopX=688;
role.x=847;
}
if(map.getMapState()==2){
if(Map.leftTopX>172){
icount++;
if(icount>50){
icount=0;
// System.out.println("左边出怪");
Enemy enemy=new Enemy(false);
enemys.addElement(enemy);
}
}
if(Map.leftTopX<442){
ucount++;
if(ucount>50){
ucount=0;
// System.out.println("右边出怪");
Enemy enemy=new Enemy(true);
enemys.addElement(enemy);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -