⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcanvas.java

📁 商业游戏代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
				break;
			case 5:
				loadcount++;
				toolpic=Image.createImage("/tool.png");
				time=Image.createImage("/time.png");
				alarm=Image.createImage("/alarm.png");
				last=Image.createImage("/last.png");
				ui=Image.createImage("/ui.png");
				Thread.sleep(500);
				break;
			case 6:
				loadcount++;
				about=Image.createImage("/about.png");
				font = Image.createImage("/font.png");
				num= Image.createImage("/num.png");
				posts= Image.createImage("/posts.png");
				Thread.sleep(500);
				break;
			case 7:
				loadrms();
				loadcount++;
				break;
			case 8:
				loadcount++;
				count = 0;
				G_STATE = G_TITLE;
				break;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
//	 -------------------------------------载入/释放图片--------------------------------
	private void loadimage(){
		try {
			pic = Image.createImage("/res"+order[stage]+".png");
		} catch (Exception e) {
		}
	}
	
	private void releaseimage(){
		doc.release();
		pic=null;
		System.gc();
	}

	
	// -------------------------------------输入处理--------------------------------
	static final int UP = -1;

	static final int DOWN = -2;

	static final int LEFT = -3;

	static final int RIGHT = -4;

	static final int FIRE = -5;

	static final int SOFTKEY1 = -6;

	static final int SOFTKEY2 = -7;

	public void keyPressed(int keyCode) {
		// int code=getGameAction(keyCode);
		switch (G_STATE) {
		case G_SPLASH:
			G_STATE=G_LOGO;
			break;
		case G_LOGO:
			break;
		case G_TITLE:
			isp=true;
			count=0;
			loadcount=0;
			init();//初始化顺序
			G_STATE = G_MENU;
			releaseres();
			break;
		case G_MENU:
			isp=true;
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				count--;
				if (count < 0)
					count = 5;
				loadcount=0;
				break;
			case DOWN:
			case KEY_NUM8:
				count++;
				if (count > 5)
					count = 0;
				loadcount=0;
				break;
			case FIRE:
			case SOFTKEY1:
			case KEY_NUM5:
				switch(count){
				case 0:
					count=0;
					G_STATE=G_SELECT;
					break;
				case 1:
					count=0;
					G_STATE=G_HELP;
					break;
				case 2:
					G_STATE=G_SET;
					break;
				case 3:
					G_STATE=G_TOP;
					break;
				case 4:
					G_STATE=G_ABOUT;
					break;
				case 5:
					isp=false;
					stopsound();
					saverms();
					Midlet.exit();
					break;
				}
				break;
			}
			break;
			
//#ifdef _BT
		case G_NET:
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				count--;
				if (count < 0)
				    count = 1;			
				break;
			case DOWN:
			case KEY_NUM8:
				count++;		
				if (count > 1)
					count = 0;
				break;
			case FIRE:
			case KEY_NUM5:
			case SOFTKEY1:
				if(count==0){
					server=null;
					client=null;
					count=-1;
					loadcount=0;
					client=new Client(this);
					isServer=2;
					G_STATE = G_SERVER;
				}else{
					server=null;
					client=null;
					count=0;
					loadcount=0;
					isServer=1;
					server=new Server(this);
					G_STATE = G_CLIENT;
				}		
				break;
			case SOFTKEY2:
				count=0;
				loadcount=0;
				G_STATE = G_SELECT;
				break;
			}
			break;
		case G_SERVER:
			switch(keyCode){
			case UP:
			case KEY_NUM2:
				if(client.getAddsize()<1&&count>0)
					break;
				count--;
				if (count < 0)
				    count = client.getAddsize()-1;			
				break;
			case DOWN:
			case KEY_NUM8:
				if(client.getAddsize()<1&&count>0)
					break;
				count++;		
				if (count > (client.getAddsize()-1))
					count = 0;
				break;
			case SOFTKEY2:
				count=0;
				loadcount=0;
				client=null;
				isServer=0;
				G_STATE=G_NET;
				break;
			case FIRE:
			case KEY_NUM5:
			case SOFTKEY1:
				if(client.getAddsize()<1){
					count=0;
					client.dosearch();
				}else{
//					建立连接
					client.makeConn(count);
					level=4;
					loadimage();
					G_STATE = G_START;
				}
				break;
			}
			
			break;
		case G_CLIENT:
			if(keyCode==SOFTKEY2){
				count=0;
				loadcount=0;
				server=null;
				isServer=0;
				G_STATE=G_NET;
			}
			break;
//#endif
		case G_HELP:
			isp=true;
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				count--;
				if (count < 0)
					count = help.length-1;
				break;
			case DOWN:
			case KEY_NUM8:
				count++;
				if (count >= help.length)
					count = 0;
				break;
			case SOFTKEY2:
				if(ispause==false){
					count=1;
					loadcount=0;
					G_STATE=G_MENU;
				}else{
					count=1;
					loadcount=0;
					G_STATE=G_PAUSE;
				}
			}
			break;
		case G_SET:
			isp=true;
			switch(keyCode){
			case FIRE:
			case KEY_NUM5:
			case SOFTKEY1:
				soundon=!soundon;
				if(!soundon){
					stopsound();
				}
				break;
			case SOFTKEY2:
				if(ispause==false){
					count=2;
					loadcount=0;
					G_STATE=G_MENU;
				}else{
					count=2;
					loadcount=0;
					G_STATE=G_PAUSE;
				}
				break;
			}
			break;
		case G_TOP:
			isp=true;
			if(keyCode==SOFTKEY2){
				if(ispause==false){
					count=3;
					loadcount=0;
					G_STATE=G_MENU;
				}else{
					count=3;
					loadcount=0;
					G_STATE=G_PAUSE;
				}
			}
			break;
		case G_ABOUT:
			isp=true;
			if(keyCode==SOFTKEY2){
				if(ispause==false){
					count=4;
					loadcount=0;
					G_STATE=G_MENU;
				}else{
					count=4;
					loadcount=0;
					G_STATE=G_PAUSE;
				}
			}
			break;
		case G_SELECT:
			isp=true;
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				count--;
//#ifdef _BT	
				if (count < 0)
					count = 2;
//#else	
//  				if (count < 0)
//  			  	  count = 1;	
//#endif
				break;
			case DOWN:
			case KEY_NUM8:
				count++;	
//#ifdef _BT		
				if (count > 2)
					count = 0;
//#else	
//  				if (count > 1)
//  					count = 0;	
//#endif
				break;
			case FIRE:
			case KEY_NUM5:
			case SOFTKEY1:
//#ifdef _BT		
				if(count==0){
					level=4;
					loadimage();
					G_STATE = G_START;
				}else if(count==1){
					level=5;
					loadimage();
					G_STATE = G_START;
				}else{
					count=0;
					loadcount=0;
					stopsound();
					G_STATE=G_NET;
				}
//#else				
//  				if(count==0){
//  					level=4;
//  				}else{
//  					level=5;
//  				}
//  				loadimage();
//  				G_STATE = G_START;
//#endif
				break;
			case SOFTKEY2:
				count=0;
				loadcount=0;
				G_STATE = G_MENU;
				break;
			}
			break;
		case G_PLAY:
			isp=true;
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				point -= level;
				if (canmove) {
					if (point != prepoint - level && point != prepoint
							|| point < 0)
						point += level;
				} else {
					if (point < 0)
						point += level * level;
				}
				break;
			case DOWN:
			case KEY_NUM8:
				point += level;
				if (canmove) {
					if (point != prepoint + level && point != prepoint
							|| point > level * level - 1)
						point -= level;
				} else {
					if (point > level * level - 1)
						point -= level * level;
				}
				break;
			case LEFT:
			case KEY_NUM4:
				point -= 1;
				if (canmove) {
					if (point != prepoint - 1 && point != prepoint
							|| point % level >= level - 1 || point < 0)
						point += 1;
				} else {
					if (point % level >= level - 1 || point < 0)
						point += level;
				}
				break;
			case RIGHT:
			case KEY_NUM6:
				point += 1;
				if (canmove) {
					if (point != prepoint + 1 && point != prepoint
							|| point % level <= 0 || point > level * level - 1)
						point -= 1;
				} else {
					if (point % level <= 0 || point > level * level - 1)
						point -= level;
				}
				break;
			case FIRE:
			case KEY_NUM5:
				if (canmove) {
					doc.exchange(prepoint, point);// 交换
					prepoint=-1;
					canmove = false;
//#ifdef _BT
					if(isServer==1){
						server.send(doc.ok());
					}else if(isServer==2){
						client.send(doc.ok());
					}
//#endif
				} else {
					prepoint = point;
					canmove = true;
				}
				break;
			case KEY_POUND:
				if(prompt<0){
					prompt=prompts;
				}else{
					prompt=-1;
					if(level==5){
					prompts--;
					}
				}
				break;
			case SOFTKEY1://暂停
				pausegame();
				break;
			}

			break;
		case G_TYPE:
			switch (keyCode) {
			case UP:
			case KEY_NUM2:
				count--;
				if (count < 0)
					count = 4;
				break;
			case DOWN:
			case KEY_NUM8:
				count++;
				if (count > 4)
					count = 0;
				break;
			case FIRE:
			case KEY_NUM5:
				if(count==correct){
					score[3]+=3000;
				}
				view=true;
				break;
			case SOFTKEY1:
				if(view){
					stage++;
					count=0;
					comscore();
					if(stage<=19){
						G_STATE = G_WIN;
					}else{
						G_STATE = G_OVER;
					}
				}
				break;
			case SOFTKEY2:
				stage++;
				count=0;
				comscore();
				if(stage<=19){
					G_STATE = G_WIN;
				}else{
					G_STATE = G_OVER;
				}
				break;
			}
			break;
		case G_WIN:
			switch(keyCode){
			case FIRE:
			case KEY_NUM5:
				if(!tool&&score[3]>=5000&&count==1){
					tool=true;
					score[3]-=5000;
//#ifdef _BT
					if(isServer==1){
						if(data.equals(Integer.toString(-2))){
							loadimage();
							G_STATE = G_START;
							server.send("-3");
						}else{
							server.send("-2");
						}
					}else if(isServer==2){
						if(data.equals(Integer.toString(-2))){
							loadimage();
							G_STATE = G_START;
							client.send("-3");
						}else{
							client.send("-2");
						}
					}else{
  					loadimage();
  					G_STATE = G_START;
					}
//#else
//  					loadimage();
//  					G_STATE = G_START;
//#endif
				}else{
//#ifdef _BT
					if(isServer==1){
						if(data.equals(Integer.toString(-2))){
							loadimage();
							G_STATE = G_START;
							server.send("-3");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -