亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sfcanvas.java

?? j2me RPG手機游戲《征途》的源代碼
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.Random;

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.rms.*;
/*
 * 創(chuàng)建日期 2005-9-5
 *
 * TODO 要更改此生成的文件的模板,請轉(zhuǎn)至
 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */

/**
 * @author 莫紫東
 *
 * TODO 要更改此生成的類型注釋的模板,請轉(zhuǎn)至
 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */
public class SFCanvas extends GameCanvas implements Runnable {

	/**
	 * 
	 */	
	private final int LISTENER_LEFT=4;//鍵盤對應編號
	private final int LISTENER_RIGHT=32;
	private final int LISTENER_UP=2;
	private final int LISTENER_DOWN=64;
	
	private int setX=180-getWidth()/2+20,setY=180-getHeight()/2+20,heroWidth,heroHeight,mapdir=0,itempage=1,itemchoice=1;	
	static int keyState,nowShopcho=0,buynum=0;
	private boolean isCho1=true,isData1=false,isData2=false,isOpenItem=false,isGetpress,isDelpress=false,isDelok=false,isChkdel=false,isOpenshop=false,isOpenintro=false,isFirst=false,isOut=false;
	private boolean isBreak=false,isOpenmisn=false;
	
	private Random randdead=new Random();
	String dataname="crazy4";//記錄名稱
	private int menuselc=1,menudisp=0;
	private Graphics g;
	//int m=0,l=0,temp;
	//ASprite tempMonster;
	//private int app[];
	private byte heroData[];
	private int itemprice[]={30,100,500,1000,3000};//物品價格,依次是藥品,一,二,三,四等級裝備
	public RecordStore rs;
	public int myid=-1,itemcho=1;
	
	public static Image hImage,mapImage,monsterImage,bfImage,bloodImage,hpImage,hplImage,loadImage ,loadImage2,itemImage,goldImage,gearImage,houseImagetop,houseImagebottom,npcImage,npcImage1;
	public static Image shopImage,menuImage,barImage,bgImage,missionImage;
	private int jqcount=0,marktime=0;
	//Sprite blueFire;
	//private int bluefire[]={0,1,2,3};
	
	final int GAME_MENU=-1;
	final int GAME_TITLE=0;
	final int GAME_ING=1;
	final int GAME_JQ=2;
	final int GAME_OVER=3;
	
	public int herolv=-1,heroitem=-1,herogold=-1,heroitemlv=-1,heroexp=-1;
	public static String heroMyItem,DataName=null;
	public char tempitem;
	public Thread thread;
	
	//MonsterSprite ms2[];
	
	int DEFAULT_HP=100,DEFAULT_LV=1,GAME_STATE=GAME_MENU;
	HeroSprite heroSprite;
	MapTiled mapTiled;
	MonsterSprite monsterSprite,monsterSprite1,monsterSprite2,monsterSprite3,monsterSprite4,monsterSprite5,monsterSprite6,monsterSprite7,monsterSprite8,monsterSprite9,monsterSprite10;
	NPCSprite npcSprite,npcSprite1;
	LayerManager layManager;
	ASprite tempMonster;	
	//ASprite ms1[],ms2[],tempms0[]={npcSprite,npcSprite1,heroSprite};
	
	//記錄的初始化	
	public void doHeroInit(){
		heroSprite.lv=1;
		heroSprite.itemlv=0;
		heroSprite.gold=0;		
		heroSprite.MyItem="000000000000";
		heroSprite.exp=210;		
	}
	
	//地圖切換的相應方法	
	public void gotoMap(int mapDir){
		if(mapDir==0){			
			monsterSprite=null;
			monsterSprite1=null;
			monsterSprite2=null;
			monsterSprite3=null;
			monsterSprite4=null;
			monsterSprite5=null;
			monsterSprite6=null;
			monsterSprite7=null;
			monsterSprite8=null;
			monsterSprite9=null;
			monsterSprite10=null;
			monsterImage=null;
			layManager.remove(mapTiled);
			mapImage=null;//將其他地圖用到的圖形清除
			mapTiled=null;
			heroSprite.isWalkable=null;
			try{//描繪新地圖				
				mapImage=Image.createImage("/map2.png");
				houseImagetop=Image.createImage("/house_01.png");
				houseImagebottom=Image.createImage("/house_02.png");
				shopImage=Image.createImage("/shop.png");
				npcImage=Image.createImage("/npc.png");
				npcImage1=Image.createImage("/npc1.png");
			}catch(Exception e){}
			mapTiled=new MapTiled(30,30,mapImage,16,16,getWidth(),getHeight());	
			mapTiled.drawMap(mapDir,setX,setY);
			heroSprite.chgMapbool(mapTiled.isWalkable0);
			layManager.append(mapTiled);
			
			npcSprite=new NPCSprite(npcImage1,25,32,1,86,161);
			npcSprite1=new NPCSprite(npcImage,15,35,2,328,288);
			
			heroSprite.mapdir=0;			
		}else{
			layManager.remove(mapTiled);
			mapImage=null;
			mapTiled=null;
			houseImagetop=null;
			houseImagebottom=null;
			heroSprite.isWalkable=null;
			npcSprite=null;
			npcSprite1=null;
			shopImage=null;
			
			try{
				mapImage=Image.createImage("/title.png");
				monsterImage=Image.createImage("/monster.png");
			}catch(Exception e){}
			mapTiled=new MapTiled(40,40,mapImage,16,16,getWidth(),getHeight());	
			mapTiled.drawMap(mapDir,setX,setY);
			heroSprite.chgMapbool(mapTiled.isWalkable);
			layManager.append(mapTiled);
			
			monsterSprite=new MonsterSprite(monsterImage,50,50,90,90,false,2);//怪物的實例化
			monsterSprite1=new MonsterSprite(monsterImage,50,50,140,140,false,1);
			monsterSprite2=new MonsterSprite(monsterImage,50,50,120,120,false,3);
			monsterSprite3=new MonsterSprite(monsterImage,50,50,300,110,false,5);
			monsterSprite4=new MonsterSprite(monsterImage,50,50,300,160,false,4);
			monsterSprite5=new MonsterSprite(monsterImage,50,50,300,200,false,5);
			monsterSprite6=new MonsterSprite(monsterImage,50,50,400,50,false,7);
			monsterSprite7=new MonsterSprite(monsterImage,50,50,400,110,false,7);
			monsterSprite8=new MonsterSprite(monsterImage,50,50,400,500,false,8);
			monsterSprite9=new MonsterSprite(monsterImage,50,50,460,500,false,9);
			monsterSprite10=new MonsterSprite(monsterImage,50,50,420,550,false,12);
			heroSprite.mapdir=1;
			//ms1=null;
			//ms1=tempms1;
		}
	}
	
	public SFCanvas() {
		super(true);
		//super.setFullScreenMode(true);		
		System.out.print("構(gòu)造函數(shù)開始運行");
		try{//獲取前期所需的
			hImage=Image.createImage("/mainch.png");		
			mapImage=Image.createImage("/map2.png");
			houseImagetop=Image.createImage("/house_01.png");
			houseImagebottom=Image.createImage("/house_02.png");
			npcImage=Image.createImage("/npc.png");
			npcImage1=Image.createImage("/npc1.png");
			//bfImage=Image.createImage("/bluefire.png");
			bloodImage=Image.createImage("/blood.png");
			hpImage=Image.createImage("/blood.png");
			hplImage=Image.createImage("/bloodti.png");
			loadImage=Image.createImage("/load1.png");
			loadImage2=Image.createImage("/load2.png");
			itemImage=Image.createImage("/box.png");
			goldImage=Image.createImage("/gold.png");
			gearImage=Image.createImage("/item.png");
			shopImage=Image.createImage("/shop.png");
			menuImage=Image.createImage("/menu.png");
			barImage=Image.createImage("/bar.png");
			bgImage=Image.createImage("/1212.png");
			missionImage=Image.createImage("/menumain.png");
		}catch(Exception e){
		}
		//blueFire=new Sprite(bfImage,30,30);
		//blueFire.setFrameSequence(bluefire);
		
		//實例化以及初始化
		mapTiled=new MapTiled(30,30,mapImage,16,16,getWidth(),getHeight());	
		heroSprite=new HeroSprite(hImage,40,40);
		heroWidth=heroSprite.getWidth()/2;
		heroHeight=heroSprite.getHeight()/2;
		heroSprite.chgMapbool(mapTiled.isWalkable0);
		/*monsterSprite=new MonsterSprite(monsterImage,30,30,90,90,false,2);
		monsterSprite1=new MonsterSprite(monsterImage,30,30,100,100,false,1);
		monsterSprite2=new MonsterSprite(monsterImage,30,30,110,110,false,3);*/
		npcSprite=new NPCSprite(npcImage1,25,32,1,86,161);
		npcSprite1=new NPCSprite(npcImage,15,35,2,328,288);
		heroSprite.isAlive=true;
		
		mapTiled.drawMap(0,setX,setY);
		g=this.getGraphics();
		layManager=new LayerManager();
		layManager.append(mapTiled);
		//layManager.append(monsterSprite);
		//layManager.append(monsterSprite1);
		//layManager.append(monsterSprite2);
		//ms1=null;
		//ms1=tempms0;
		//System.out.println("asdjfadlfkjladjslk"+ms1.length);		
		thread=new Thread(this);
		System.out.print("構(gòu)造函數(shù)運行完畢");
		thread.start();
		
		// TODO 自動生成構(gòu)造函數(shù)存根
	}
	
	//將怪物類的死亡后的等級以及各方面信息傳遞到英雄類
	private void doMonster(MonsterSprite mSprite,HeroSprite heroSprite,RecordStore rs,int rid){
		heroSprite.doMonster(mSprite.doMovedraw(heroSprite.x+heroWidth,heroSprite.y+heroHeight,getHeight(),getWidth(),heroSprite.dir,heroSprite.iisBattle,heroSprite,heroSprite.hp,heroSprite.lv,heroSprite.itemlv),mSprite.deadlv,rs,rid);
	}
	
	//關于怪物類的血槽描繪相應的方法
	private void monsterBlood(MonsterSprite mSprite){
		if(mSprite.isAlive){//生00存狀態(tài)描繪血槽
			g.setColor(0x008A56E8);
			g.drawRoundRect(mSprite.x-setX-10,mSprite.y-setY-15,20,5,3,3);
			g.setColor(0x00FF030F);
			g.fillRoundRect(mSprite.x-setX-10,mSprite.y-setY-15,20*mSprite.hp/mSprite.maxHp,5,3,3);
			g.setColor(0x00000000);
			g.drawString(mSprite.lv+"等級",mSprite.x-setX-10,mSprite.y-setY-15,Graphics.BOTTOM|Graphics.LEFT);
		}else{
		  if(mSprite.isGet==false){//死亡狀態(tài)描繪掉落物品
			if(mSprite.goldOritem==0){
				g.drawImage(itemImage,mSprite.x-setX-10,mSprite.y-setY,Graphics.BOTTOM|Graphics.LEFT);
			}else{
				g.drawString(String.valueOf(mSprite.goldforhero),mSprite.x-setX,mSprite.y-setY-15,Graphics.BOTTOM|Graphics.LEFT);
				g.drawImage(goldImage,mSprite.x-setX-10,mSprite.y-setY-5,Graphics.BOTTOM|Graphics.LEFT);
			}
			
			if(isGetpress==true){
				isGetpress=false;
				if(mSprite.heroDis<22500){
					if(mSprite.goldOritem==0){
						mSprite.redOritem=Math.abs(randdead.nextInt()%5);
						if(mSprite.redOritem==1){
							if(mSprite.lv>=1&&mSprite.lv<=3){
								mSprite.itemc='1';
							}else if(mSprite.lv>=4&&mSprite.lv<=7){
								mSprite.itemc='2';
							}else if(mSprite.lv>=8&&mSprite.lv<=9){
								mSprite.itemc='3';
							}else if(mSprite.lv>=10&mSprite.lv<=12){
								mSprite.itemc='4';
							}
						}else{
							mSprite.itemc='5';
						}
						for(int k=0;k<12;k++){
							if(k==11&&heroSprite.itemcode[k]!='0'){
								g.drawImage(itemImage,mSprite.x-setX-10,mSprite.y-setY,Graphics.BOTTOM|Graphics.LEFT);
							}
							if(heroSprite.itemcode[k]=='0'){
								heroSprite.itemcode[k]=mSprite.itemc;							
								try{
									rs.setRecord(myid,heroSprite.chgTorms(false),0,heroSprite.chgTorms(false).length);
									mSprite.isGet=true;
								}catch(Exception e){System.out.println(e);}
								break;
							}								
						}
					}else{
						heroSprite.gold=heroSprite.gold+mSprite.goldforhero;
						try{
							rs.setRecord(myid,heroSprite.chgTorms(false),0,heroSprite.chgTorms(false).length);
							mSprite.isGet=true;
						}catch(Exception e){System.out.println(e);}						
					}
				}
			}
		  }
		}
	}
	
	private void drawItem(char item[],int pagee){//關于裝備畫面的界面方法
		g.fillRect(135,103+(pagee-1)*55/4,5,5);
		if(keyState==2){
			if(itemcho>1){
				itemcho--;
			}
		}
		if(keyState==64){
			if(itemcho<3){
				itemcho++;
			}
		}
		//System.out.print(""+isDelpress);
		if(isDelpress==true){//按下丟棄鍵時的相應處理			
			if(item[itemcho-1+(pagee-1)*3]!='0'){
				g.setColor(0x00EA0053);
				g.fillRoundRect(40,40,100,50,5,5);
				g.setColor(0x00FFFFFF);
				g.drawString("是否要真的丟棄?",50,50,Graphics.TOP|Graphics.LEFT);
				if(isChkdel==true){					
					g.setColor(0x00000000);
					g.drawString("是",50,65,Graphics.TOP|Graphics.LEFT);
					g.setColor(0x00FFFFFF);
					g.drawString("否",100,65,Graphics.TOP|Graphics.LEFT);
				}else{					
					g.setColor(0x00FFFFFF);
					g.drawString("是",50,65,Graphics.TOP|Graphics.LEFT);
					g.setColor(0x00000000);
					g.drawString("否",100,65,Graphics.TOP|Graphics.LEFT);
				}
				g.setColor(0x00FFFFFF);				
			}else{				
				isDelpress=false;				
			}
		}
		if(keyState==256){
		  if(isDelpress==false){
			if(item[itemcho-1+(pagee-1)*3]!='5' && item[itemcho-1+(pagee-1)*3]!='0'){
				if(heroSprite.itemlv!=0){
					switch(heroSprite.itemlv){
					case 1:
						tempitem='1';
						break;
					case 2:
						tempitem='2';
						break;
					case 3:
						tempitem='3';
						break;
					case 4:
						tempitem='4';
						break;
					}					
				}else{
					tempitem='0';
				}
				
				switch(item[itemcho-1+(pagee-1)*3]){
				case '1':
					heroSprite.itemlv=1;				
					break;
				case '2':
					heroSprite.itemlv=2;			
					break;
				case '3':
					heroSprite.itemlv=3;
					break;
				case '4':
					heroSprite.itemlv=4;					
					break;					
				}
				item[itemcho-1+(pagee-1)*3]=tempitem;				

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区在线| www.综合网.com| 91精品国产91久久久久久最新毛片| 日韩理论电影院| 91在线观看美女| 亚洲黄色在线视频| 欧美在线一二三四区| 亚洲一二三四区| 欧美午夜精品一区二区三区| 天天综合天天综合色| 日韩免费性生活视频播放| 激情av综合网| 中文乱码免费一区二区| 色天天综合色天天久久| 亚洲成人一二三| 日韩免费性生活视频播放| 国产精品白丝jk白祙喷水网站 | 日本伊人色综合网| 日韩欧美一区在线| 国产+成+人+亚洲欧洲自线| 成人免费在线视频| 欧美伊人久久大香线蕉综合69| 婷婷丁香激情综合| 亚洲精品在线三区| av电影在线观看完整版一区二区| 怡红院av一区二区三区| 欧美一级日韩不卡播放免费| 高清不卡在线观看av| 一区二区三区蜜桃| 欧美大片在线观看| 99久久免费视频.com| 日韩精品亚洲一区二区三区免费| 欧美精品一区二区三区蜜臀 | 亚洲福利一二三区| 2020国产精品久久精品美国| 99精品视频一区| 日本女人一区二区三区| 国产精品乱人伦一区二区| 欧美日韩视频在线一区二区| 国产一区二区三区美女| 一区二区三区精品| 国产亚洲欧美激情| 4438x亚洲最大成人网| 波多野洁衣一区| 奇米影视7777精品一区二区| 国产精品成人网| 日韩免费一区二区| 欧美最猛黑人xxxxx猛交| 精品一二三四区| 亚洲国产欧美另类丝袜| 亚洲国产精品成人综合| 日韩欧美激情四射| 在线视频国产一区| 欧美丝袜自拍制服另类| 国产乱淫av一区二区三区| 一区二区三区精品| 中文av字幕一区| 亚洲精品一区二区三区福利| 欧美欧美午夜aⅴ在线观看| av中文字幕不卡| 国产乱国产乱300精品| 日本欧美在线观看| 亚洲成人在线网站| 一区二区成人在线| 国产精品乱码久久久久久| 欧美精品一区二区三区很污很色的| 欧美系列日韩一区| 日本高清视频一区二区| 成人a免费在线看| 国产乱码精品一区二区三 | 蜜桃一区二区三区四区| 亚洲自拍偷拍欧美| 夜夜亚洲天天久久| 亚洲欧美成aⅴ人在线观看| 中文字幕第一区综合| 国产视频一区二区三区在线观看| 欧美变态tickle挠乳网站| 日韩一区二区三区高清免费看看| 欧美日韩在线不卡| 欧美熟乱第一页| 欧美亚洲一区二区在线观看| 91一区二区在线观看| 色综合色狠狠天天综合色| 成人av电影在线播放| 不卡av电影在线播放| 成人av资源网站| 99国产精品国产精品毛片| 不卡在线观看av| 色综合一区二区三区| 91成人网在线| 欧美性猛交xxxx乱大交退制版 | 亚洲免费成人av| 国产毛片精品一区| 久久激情综合网| 久久精品国产亚洲高清剧情介绍 | www国产精品av| 久久久久久久网| 国产欧美精品日韩区二区麻豆天美| 国产婷婷色一区二区三区 | 韩国av一区二区三区| 国产综合色在线| 成人一二三区视频| 91麻豆免费视频| 欧美猛男超大videosgay| 日韩欧美视频一区| 欧美激情一区在线| 亚洲九九爱视频| 五月天精品一区二区三区| 美女久久久精品| 国产91综合网| 在线观看亚洲精品视频| 91精品国产一区二区| 久久久久久久网| 一区二区三区四区激情| 日韩电影在线观看电影| 国产成人一区二区精品非洲| 色欲综合视频天天天| 日韩一卡二卡三卡国产欧美| 日本一区二区三区在线不卡| 亚洲综合一区二区精品导航| 理论电影国产精品| 99久久伊人久久99| 欧美一区二区国产| 国产精品网友自拍| 午夜激情久久久| 成人午夜短视频| 欧美丰满高潮xxxx喷水动漫| 国产亚洲午夜高清国产拍精品| 亚洲欧美电影一区二区| 久久99精品国产麻豆婷婷| 91视频国产资源| 欧美电视剧在线看免费| 亚洲麻豆国产自偷在线| 国内精品视频666| 欧美在线你懂的| 亚洲国产精品精华液2区45| 日韩av一级片| 91福利精品第一导航| 国产亚洲精品资源在线26u| 亚洲国产一区视频| 不卡av电影在线播放| 欧美大片免费久久精品三p| 一区二区三区四区av| 国产福利91精品一区| 欧美一区二区女人| 亚洲午夜在线视频| 成人av影院在线| 精品国产亚洲一区二区三区在线观看 | 国产精品不卡在线观看| 紧缚奴在线一区二区三区| 欧美视频在线一区| 国产精品国产馆在线真实露脸| 美女mm1313爽爽久久久蜜臀| 在线看国产一区| 国产精品短视频| 粉嫩aⅴ一区二区三区四区| 日韩精品在线一区| 日韩综合小视频| 欧美日韩一区二区三区不卡| 亚洲欧美偷拍三级| 9色porny自拍视频一区二区| 国产欧美一区二区精品性| 精品一区二区在线看| 欧美一二三区在线观看| 亚洲高清一区二区三区| 欧美亚洲综合色| 亚洲国产精品人人做人人爽| 99久久国产综合精品色伊| 国产欧美1区2区3区| 国产精品综合av一区二区国产馆| 精品精品欲导航| 美女mm1313爽爽久久久蜜臀| 日韩欧美一区二区在线视频| 日韩精品一级二级| 欧美一区二区播放| 老司机免费视频一区二区 | 日韩欧美一区二区视频| 蜜桃在线一区二区三区| 26uuu欧美| 国产成人在线网站| 国产精品美女久久久久久久网站| 国产suv一区二区三区88区| 亚洲国产成人私人影院tom| 成人av资源站| 一区二区三区免费观看| 欧美日韩精品欧美日韩精品| 日韩精品成人一区二区在线| 日韩欧美国产午夜精品| 狠狠色2019综合网| 国产精品色哟哟网站| av在线播放一区二区三区| 亚洲欧洲中文日韩久久av乱码| 91国偷自产一区二区三区观看| 亚洲超丰满肉感bbw| 日韩午夜三级在线| 国产精品69毛片高清亚洲| 中文字幕中文字幕在线一区| 色8久久精品久久久久久蜜| 亚洲成人av免费| 精品国产欧美一区二区|