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

📄 gamecanvas.java

📁 游戏功能包括:购买、对话、战斗及存储功能
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				else if(MyMap_collides[prow+1][pcol]==5||MyMap_collides[prow][pcol]==5){
					g.drawString(medicine[checkPoint][i],78,61+i*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(medicinePrice[checkPoint][i],157,61+i*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(medicineNum[checkPoint][i],202,61+i*20,Graphics.TOP|Graphics.HCENTER);
				}
			}
		}
		else if(viewState==1){	
			g.setClip(15,60,211,189);
			for(int i=0;i<v.size();i++){
				String[] data = (String[])v.elementAt(i);
				if(change==1){
					if(select1==i-dy)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
				}
				g.drawString(data[0],78,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
				g.drawString(data[1],157,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
				g.drawString(data[2],202,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
			}		
			for(int i=0;i<v1.size();i++){
				String[] data = (String[])v1.elementAt(i);
				if(change==1){
					if(select1==i+v.size()-dy)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
				}
				g.drawString(data[0],78,61+(i+v.size()-dy)*20,Graphics.TOP|Graphics.HCENTER);
				g.drawString(data[1],157,61+(i+v.size()-dy)*20,Graphics.TOP|Graphics.HCENTER);
				g.drawString(data[2],202,61+(i+v.size()-dy)*20,Graphics.TOP|Graphics.HCENTER);
			}
		}
		if(viewState==0)
			length = 4;
		else
			length = v.size()+v1.size();
		for(int n=0;n<length;n++){
			if(add==true)
				if(change==1){
					if(select1==n-dy){
						g.setColor(0xff0000);
					}
					else
						g.setColor(0x0bb53f);
				}
				else{}
			else
				g.setColor(0x0bb53f);
			g.fillTriangle(220,70+(n-dy)*20,212,67+(n-dy)*20,212,73+(n-dy)*20);	
			if(subtract==true)
				if(change==1){
					if(select1==n-dy){
						g.setColor(0xff0000);
					}
					else
						g.setColor(0x0bb53f);
				}
				else{}
			else
				g.setColor(0x0bb53f);
			g.fillTriangle(185,70+(n-dy)*20,193,67+(n-dy)*20,193,73+(n-dy)*20);
		}	
		if(change==0){
			g.setColor(0xff0000);
			g.drawRect(15+select*55,15,50,20);
		}
		else if(change==1){
			g.setColor(0xff0000);
			g.drawRect(15,60+select1*20,210,20);
		}
		else if(change==2){
			g.setColor(0xff0000);
			g.drawRect(65+select*55,254,50,20);
		}
	}
	
	/***************绘制购买药材对话框(同上)***************/
	private final String[][] medicine = {
			{"红果(血加20)",	  "紫丹(血加50)",   "黄芪(气加30)", "白术(气加50)"},
			{"果肉冻(血加30)", "桂圆肉(血加50)", "白术(气加50)", "龙眼酒(气加80)"},
			{"大紫丹(血加80)", "黑豆(血加120)",  "补酒(气加60)", "人参(气加120)"},
			{"赤豆(血加150)", "红枣(血加200)",  "鹿茸(气加100)", "沙参(气加150)"},
			{"桑莲子(血加180)","黑木耳(血加210)","茯苓膏(气加120)","蚕蛹(气加180)"},
			{"无花果(血加200)","黑芝麻(血加250)","天麻(气加150)", "蜂蜜(气加220)"},
			{"紫百合(血加300)","燕窝(血加400)", "冬虫夏草(气加250)","灵芝(气加400)"},
	};
	private final String[][] medicineValue = {
			{"20", "50", "30", "50"},
			{"30", "50", "50", "80"},
			{"80", "120","60", "120"},
			{"150","200","100","150"},
			{"180","210","120","180"},
			{"200","250","150","220"},
			{"300","400","250","400"}
	};
	private final String[][] medicinePrice = {
			{"30", "50", "30", "50"},
			{"50", "80", "70", "100"},
			{"100","150","80", "150"},
			{"180","220","130","200"},
			{"200","240","160","250"},
			{"220","280","200","320"},
			{"300","450","360","450"}	
	};
	private String[][] medicineNum = {
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"}
	};
	private String[][] medicineSaveNum = {
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"},
			{"0","0","0","0"}
	};
	
	/***************绘制人物信息功能查看框***************/
	String[] info = {
			"状态","装备","道具","系统","装备","使用","撤消","返回","存储","读取","删除","取消","确定"
	};
	String[] equipment = {"","","",""};				//装备的道具
	private int time;
	private int[] id = new int[4];				//存储编号
	int showLevel,showPlace,showPoint;
	private void drawFunction(Graphics g){
		g.setColor(0x000000);
		g.fillRect(10,10,220,269);
		g.setColor(0x505155);
		g.fillRect(12,12,216,265);
		g.setColor(0x0bb53f);
		for(int i=0;i<2;i++){
			for(int j=0;j<4;j++){
				g.drawRect(14+j*54,15+i*239,50,20);
			}
		}
		g.drawRect(15,40,210,209);
		g.setFont(font1);
		g.setColor(0xffff00);
		for(int i=0;i<4;i++){
			if(change==0){
				if(select==i)
					g.setColor(0xff0000);
				else
					g.setColor(0xffff00);
			}
			g.drawString(info[i],39+i*54,16,Graphics.TOP|Graphics.HCENTER);
		}
		g.setColor(0xffff00);
		for(int i=0;i<4;i++){
			if(change==2){
				if(select==i)
					g.setColor(0xff0000);
				else
					g.setColor(0xffff00);
			}
			g.drawString(info[i+4],39+i*54,255,Graphics.TOP|Graphics.HCENTER);
		}
		if(viewState==0){
			g.setColor(0xffff00);
			g.setFont(font);
			g.drawString("等级    "+pLevel,22,45,20);
			g.drawString("经验    "+currentExpValue+"/"+maxExpValue,22,65,20);
			g.drawString("生命    "+current_pLifeValue+"/"+max_pLifeValue,128,45,20);
			g.drawString("气功    "+current_pPower+"/"+max_pPower,128,65,20);
			g.drawString("武器    "+equipment[3],22,100,20);
			g.drawString("防具    "+equipment[1],22,120,20);
			g.drawString("披风    "+equipment[0],22,140,20);
			g.drawString("鞋子    "+equipment[2],22,160,20);
			g.drawString("攻击    "+pAttack,150,100,20);
			g.drawString("防御    "+pDefense,150,120,20);
			g.drawString("命中    "+pHit,150,140,20);
			g.drawString("闪避    "+pFends,150,160,20);
			g.drawString("正义值    "+pJust,22,195,20);
			g.drawString("金钱    "+pMoney,128,195,20);
		}
		else if(viewState==1||viewState==2){
			g.setColor(0x0bb53f);
			g.drawLine(15,60,225,60);
			g.drawLine(157,40,157,249);
			g.setColor(0xffff00);
			g.drawString(str[2],86,41,Graphics.TOP|Graphics.HCENTER);
			g.drawString(str[4],190,41,Graphics.TOP|Graphics.HCENTER);
			if(viewState==1){	
				g.setClip(15,60,211,189);
				for(int i=0;i<v.size();i++){
					String[] data = (String[])v.elementAt(i);
					if(selected==false){
						if(change==1){
							if(select1==i-dy)
								g.setColor(0xff0000);
							else
								g.setColor(0xffff00);			
						}
					}
					else if(selected==true){
						g.setColor(0xff0000);
						g.drawRect(15,60+select1*20,210,20);
						g.setColor(0xffff00);	
					}
					g.drawString(data[0],86,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(data[3],190,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
				}
			}	
			else if(viewState==2){
				g.setClip(15,60,211,189);
				for(int i=0;i<v1.size();i++){
					String[] data = (String[])v1.elementAt(i);
					if(selected==false){
						if(change==1){			
							if(select1==i-dy)
								g.setColor(0xff0000);
							else
								g.setColor(0xffff00);
						}
					}
					else{
						g.setColor(0xff0000);
						g.drawRect(15,60+select1*20,210,20);
						g.setColor(0xffff00);
					}
					g.drawString(data[0],86,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(data[3],190,61+(i-dy)*20,Graphics.TOP|Graphics.HCENTER);
				}
			}
		}
		else if(viewState==3){
			g.setColor(0x494949);
			for(int i=0;i<4;i++){	
				g.fillRect(25,45+i*51,190,48);		
			}
			g.setColor(0xffff00);
			g.setFont(font);
			try{
				rs = RecordStore.openRecordStore("tianmoshanGame",true);
				for(int i=0;i<rs.getNumRecords();i++){
					if(rs.getRecord(i+1)!=null){
						byte[] record = rs.getRecord(i+1);
						ByteArrayInputStream bais = new ByteArrayInputStream(record);
						DataInputStream dis = new DataInputStream(bais);
						showLevel = dis.readInt();	
						showPlace = dis.readInt();
						id[i] = dis.readInt();
						showPoint = dis.readInt();
						g.drawString("姓名:  干将",35,55+i*51,20);
						g.drawString("等级:  "+showLevel,130,55+i*51,20);
						g.drawString("地点:  "+place[showPoint][showPlace-1],35,75+i*51,20);
						g.drawString("存储次数:  "+id[i],130,75+i*51,20);
					}
				}
				rs.closeRecordStore();
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		
		if(change==0){
			g.setColor(0xff0000);
			g.drawRect(14+select*54,15,50,20);
		}
		else if(change==1){
			if(viewState==3){
				g.setColor(0xff0000);
				g.drawRect(25,45+select1*51,190,48);
			}
			else{
				g.setColor(0xff0000);
				g.drawRect(15,60+select1*20,210,20);
			}
		}
		else if(change==2){
			g.setColor(0xff0000);
			g.drawRect(14+select*54,254,50,20);
		}
		
		if(recordOpen==true){
			g.setColor(0x000000);
			g.fillRect(w/2-80,h/2-40,160,80);
			g.setColor(0x494949);
			g.fillRect(w/2-77,h/2-37,154,74);
			switch(recordState){
			case 1:
				g.setColor(0xffff00);
				g.setFont(font1);
				g.drawString("是否覆盖当前进度?",w/2,h/2-30,Graphics.TOP|Graphics.HCENTER);
				g.setColor(0x0bb53f);
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0x0bb53f);
					g.drawRect(w/2-65+i*80,h/2+10,50,20);
				}
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
					g.drawString(info[12-i],w/2-40+i*80,h/2+11,Graphics.TOP|Graphics.HCENTER);
				}
				break;
			case 2:
				g.setColor(0xffff00);
				g.setFont(font1);
				g.drawString("是否读取当前进度?",w/2,h/2-30,Graphics.TOP|Graphics.HCENTER);
				g.setColor(0x0bb53f);
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0x0bb53f);
					g.drawRect(w/2-65+i*80,h/2+10,50,20);
				}
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
					g.drawString(info[12-i],w/2-40+i*80,h/2+11,Graphics.TOP|Graphics.HCENTER);
				}
				break;
			case 3:
				g.setColor(0xffff00);
				g.setFont(font1);
				g.drawString("当前无可读取记录",w/2,h/2-9,Graphics.TOP|Graphics.HCENTER);
				break;
			case 4:
				g.setColor(0xffff00);
				g.setFont(font1);
				g.drawString("是否删除当前进度?",w/2,h/2-30,Graphics.TOP|Graphics.HCENTER);
				g.setColor(0x0bb53f);
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0x0bb53f);
					g.drawRect(w/2-65+i*80,h/2+10,50,20);
				}
				for(int i=0;i<2;i++){
					if(select3==i)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
					g.drawString(info[12-i],w/2-40+i*80,h/2+11,Graphics.TOP|Graphics.HCENTER);
				}
				break;
			case 5:
				g.setColor(0xffff00);
				g.setFont(font1);
				g.drawString("当前无可删除记录",w/2,h/2-9,Graphics.TOP|Graphics.HCENTER);
			}
		}
		
		if(stateRunnable==true){
			if(selected==false){
				g.setColor(0x000000);
				g.fillRect(w/2-48,h/2-18,96,36);
				g.setColor(0x494949);
				g.fillRect(w/2-45,h/2-15,90,30);
				g.setColor(0xffff00);
				g.setFont(font1);
				if(change==2){
					if(select==0){
						if(viewState==0||viewState==2||viewState==3){	
							g.drawString("不 能 装 备",w/2,h/2-9,Graphics.TOP|Graphics.HCENTER);
						}
						else if(viewState==1){
							if(v.size()==0){
								g.drawString("无可用装备",w/2,h/2-9,Graphics.TOP|Graphics.HCENTER);
							}
							else{
								g.drawString("请选择装备",w/2,h/2-9,Graphics.TOP|Graphics.HCENTER);
							}
						}

⌨️ 快捷键说明

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