网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.全面研读EJB2.0.
.游戏框架之心得体会(2).
.创建灵活易扩展的J2EE企业应用程.
.基于weblogic的ejb学习笔记二.
.在resin-ee-2.1.5上构建j2ee应用.
.会话EJB的学习.
.基于MIDP实现Dialog组件.
.J2ME程序优化方法二十条.
.JavaMail快速入门-1.
.用Lucene做一个简单的Java搜索工.
.使用j2meunit进行游戏测试.
.高可靠性移动应用程序-移动数据.
.J2ME有助于在移动设备上实现支付.
.在Java Web框架中创建VoiceXML页.
.跟我学制作Pak文件.
.Petstore源码追踪记(3)-商业逻辑.
.在J2ME中访问dotnet Web Services.
.用J2ME在移动设备上实现动画的实.
.演示Session Listener的使用方法.
.详细介绍手机游戏中的声音处理.

经典飞机游戏代码S60

发表日期:2007-12-23


经典飞机游戏代码S60 

//****************************************************************************** 
//                                        
// AIMS v1.0 ENGLISH
// (C) IECOM 2004 
//  DEVELOPED BY Krzysztof Osmulski <clyde@o2.pl>                                        
//****************************************************************************** 
/* TIPS AND ISSUES
 *-For All s60 implements use a runtime prepared flipped image because of some bug
 *when try to use image clipping and flipping (from NOKIA UI API) at the same time
 */

import Javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
import java.io.*;
import java.lang.Math.*;
import javax.microedition.rms.*;

//#if _NOKIA_ _S60_
import com.nokia.mid.ui.*;
    //#if !_MMAPI_
    import com.nokia.mid.sound.Sound;
    //#endif
//#endif
   
//#if _MIDP20_
//# import javax.microedition.lcdui.game.*;
//#endif
//#if _MMAPI_
//# import javax.microedition.media.*;
//# import javax.microedition.media.control.*;
//#endif

//------------------------------------------------------------------------------ 
public class AIMS extends MIDlet {

  private Display display;
  private GameScreen screen;
  public boolean started = false;

  public AIMS() {
     
    screen = new GameScreen(this);
   
  }

  public void startApp() throws MIDletStateChangeException {
    if(display == null)
      display = Display.getDisplay(this);
    display.setCurrent(screen);
    //start the SHOW
    screen.th=new Thread(screen);
    screen.th.start();
  }

  public void pauseApp() {
      screen.menumode=1;
      screen.gamemode=10;
      notifyPaused();
  }

  public void destroyApp(boolean unconditional) {
      screen.th=null;
      screen.saveRMS();
      notifyDestroyed();

  }

  public void hideNotify(){
  }

  public void showNotify() {
    display.setCurrent(screen);
  }

  public void exitRequested() {
      destroyApp(false);
  }

}

//------------------------------------------------------------------------------
//#if _NOKIA_ _S60_
class GameScreen extends FullCanvas implements Runnable
//#else
//# class GameScreen extends Canvas implements Runnable
//#endif
{

    //#if _NOKIA_ _S60_
    static final int LSOFTKEY=-6,RSOFTKEY=-7;
    //#elif _V_
//#     static final int LSOFTKEY=21,RSOFTKEY=22;
    //#elif _V220_ _E398_ _V980_
//#     static final int LSOFTKEY=-21,RSOFTKEY=-22;
    //#elif _SIEM_
//#     static final int LSOFTKEY=-1,RSOFTKEY=-4;
    //#elif _SE_ _SAGEM_
//#     static final int LSOFTKEY=-6,RSOFTKEY=-7;
    //#endif
  static Image[] bobgfx;
  static Image Tiles;
  static Image myFont;
  static Image Tilebuffer;
  static Graphics TilebufferP;
  //#if _NOKIA_
  static DirectGraphics TilebufferDG; 
  //#endif
 //static Image Backbuffer;
 //static Graphics BackbufferP;
 //static DirectGraphics BackbufferDG;

  static int keypressed, game_keypressed;
  //#if _S40_
//#   //15 just for intro normal 10 changed in the end of intro (but not for s40MIDP20)
//#   static int FPS=15;
//#   final static int anzahlobjekte=30;
//#   final static int screenX=128;
//#   final static int screenY=128;
//#   final static int LZONE_SLOWER=7;
    //#if _MMAPI_
//#     final static int PAUSE_Y=screenY-screenY/4-3;
    //#else
//#     final static int PAUSE_Y=screenY/2;
    //#endif
//#   final static int MENU_Y=screenY-screenY/6-1;
  //#elif _S45_
//#   //15 just for intro normal 10 changed in the end of intro (but not for s40MIDP20)
//#   static int FPS=15;
//#   final static int anzahlobjekte=35;
//#   final static int screenX=128;
//#   final static int screenY=160;
//#   final static int LZONE_SLOWER=5;
//#   final static int MENU_Y=screenY-screenY/6-7;
//#   final static int PAUSE_Y=MENU_Y-18;
  //#elif _S60_
  static int FPS=18;
  final static int anzahlobjekte=40;
  final static int screenX=176;
  final static int screenY=208;
  final static int LZONE_SLOWER=4;
  final static int MENU_Y=screenY-screenY/6-10;

  final static int PAUSE_Y=MENU_Y-20;
  //because of some API problems with clipping and flipping at the same time we need a second Tiles image
  Image Tiles_f;
  //#elif _V_ _E398_
//#   static int FPS=15;
//#   final static int anzahlobjekte=40;
//#   final static int screenX=176;
//#   final static int screenY=204;
//#   final static int LZONE_SLOWER=4;
//#   final static int MENU_Y=screenY-screenY/6-12;
//#   final static int PAUSE_Y=MENU_Y-20;
  //#elif _V220_
//#   static int FPS=12;
//#   final static int anzahlobjekte=30;
//#   final static int screenX=128;
//#   final static int screenY=116;
//#   final static int LZONE_SLOWER=7;
//#   final static int MENU_Y=screenY-screenY/6-5;
//#   final static int PAUSE_Y=MENU_Y-18;
  //#elif _65_
//#   static int FPS=12;
//#   final static int anzahlobjekte=37;
//#   final static int screenX=132;
//#   final static int screenY=176;
//#   final static int LZONE_SLOWER=5;
//#   final static int MENU_Y=screenY-screenY/6-10;
//#   final static int PAUSE_Y=MENU_Y-20;
  //#elif _C65_
//#   static int FPS=12;
//#   final static int anzahlobjekte=30;
//#   final static int screenX=130;
//#   final static int screenY=130;
//#   final static int LZONE_SLOWER=7;
//#   final static int PAUSE_Y=screenY-screenY/4-5;
//#   final static int MENU_Y=screenY-screenY/6-3;
  //#elif _FKZ500_
//#   static int FPS=15;
//#   final static int anzahlobjekte=35;
//#   final static int screenX=128;
//#   final static int screenY=160;
//#   final static int LZONE_SLOWER=5;
//#   final static int MENU_Y=screenY-screenY/6-10;
//#   final static int PAUSE_Y=MENU_Y-18;
  //#elif _S700_
//#   static int FPS=18;
//#   final static int anzahlobjekte=50;
//#   final static int screenX=240;
//#   final static int screenY=266;
//#   final static int LZONE_SLOWER=3;
//#   final static int MENU_Y=screenY-screenY/6-23;
//#   final static int PAUSE_Y=MENU_Y-20;
  //#elif _Z1010_ _V980_
//#   static int FPS=18;
//#   final static int anzahlobjekte=45;
//#   final static int screenX=176;
//#   final static int screenY=220;
//#   final static int LZONE_SLOWER=4;
//#   final static int MENU_Y=screenY-screenY/6-12;
//#   final static int PAUSE_Y=MENU_Y-20;
//#   //SAGEM
  //#elif _V65_
//#   static int FPS=13;
//#   final static int anzahlobjekte=30;

//#   final static int screenX=128;
//#   final static int screenY=128;
//#   final static int LZONE_SLOWER=7;
//#   final static int PAUSE_Y=screenY-screenY/4-3;
//#   final static int MENU_Y=screenY-screenY/6-1;
  //#endif
  final static int tiledimension=16; // CONST for TILEWIDTH
 
  final static int tilesPerX=screenX/tiledimension+1;
  final static int tilesPerY=screenY/tiledimension+1;
 
  static AIMS midlet;
  //static Timer animTimer;
  //final static int animperiod = 35; 
  static int i=0;
  static int player;
  static int schussdelay = 3;
  static int temp1,temp2,temp3,temp4,temp5;
  public static int gamemode=0;
  public static int menumode=0;
  static int ai=0;
  static int score=0;
  static int lifes=-1;

  static int[][] ObjectDB,playerBulletsDB,bulletsDB;
  

  static byte[] leveldata,maskdata;
  static int levelbreite=0;   // levelwidth in tiles
  static int levelhoehe=0;    // levelhight in tiles
  static int level=0;
 
 
   
  // SCROLL VARS
  static int levelXPos=0;    // LevelPosition in Tiles 
  static int levelypos=0;    // LevelPosition in Tiles 
  static int lastlevelxpos=0;  // actual LevelXposition in Tiles
  static int lastlevelypos=0;  // actual LevelYPosition in Tiles 
  static int scrollxpos;    // scrollxpos/tiledimension = levelxpos 
  static int scrollypos;    // scrollypos/tiledimension = levelypos 
  static int softscrollx;    // softscroll x (0-15)
  static int softscrolly;    // softscroll y (0-15)
 
  // vars for target calculation of the bullets
  static int targetXoffset=0;    
  static int targetYoffset=0;
  static int targetquadrant=0;
  static int zielerfassungswinkel=0;
 static int teilquadrantwinkel=0;
 
 static int devicewaiter=3;  // WAITER
 static boolean musicopt=true;    // music yes=1 / no=0
 static boolean soundopt=true;    // sound yes=1 / no=0
 static int waiter=0;     // a waiter var
 static int explowaiter=2;   // waiter for all explosions
 //static int flamewaiter=2;   // waiter for flameanimation when enemey was hit

(出处:)


上一篇:一个基于MIDP的迷宫游戏 人气:827
下一篇:JSP标准标签库(二) 人气:1730
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐