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

📄 gamecanvas.java

📁 游戏功能包括:购买、对话、战斗及存储功能
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			"哼,真是不堪一击!",								//P  36
			"我竟然...被一个小子...打败..."						//B  37
	};
	Font font,font1;
	private int talkNum;				//对话的数量
	private int buyTalk;				//购买时的对话
	private void drawTalkState(Graphics g){
		g.setClip(10,180,220,60);
		g.setColor(0x000000);
		g.fillRect(10,180,220,60);
		g.setClip(15,185,210,50);
		g.setColor(0x505155);
		g.fillRect(15,185,210,50);	
		if(canGoState==true){
			if(talkState==1){
				switch(talkNum){
				case 0:	//P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[0],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 1://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[1],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 2://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[2],47,200,20);
					g.drawString(talk_about[3],47,212,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 3://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[4],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 4://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[5],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 5://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[6],20,200,20);
					g.drawString(talk_about[7],20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 6://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[8],20,200,20);
					g.drawString(talk_about[9],20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 7://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[10],20,200,20);
					g.drawString(talk_about[11],20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 8://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[12],20,200,20);
					g.drawString(talk_about[13],20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 9://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[14],47,200,20);
					g.drawString(talk_about[15],47,212,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 10://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[16],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 11://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[17],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 12://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[18],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 13://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString("恩,我是这天魔山下第"+(checkPoint+1)+"层山的",20,200,20);
					g.drawString(place[checkPoint][0]+"的村长,如果你愿将它们除",20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 14://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[21],20,200,20);
					g.drawString(talk_about[22],20,212,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 15://P
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[23],47,200,20);
					g.drawString(talk_about[24],47,212,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 16://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[25],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				case 18://C
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[26],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(cunz_head,198,195,20);
					break;
				}	
			}
			else if(talkState==2){
				switch(buyTalk){
				case 0:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[27],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(fj_head,198,195,20);
					break;
				case 1:
					g.setFont(font);	
					for(int i=0;i<2;i++){
						if(select==i){
							g.setColor(0xff0000);
						}
						else
							g.setColor(0xffff00);
						g.drawString(talk_about[i+29],47,200+i*12,20);
					}
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 2:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[31],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(fj_head,198,195,20);
					break;
				}
			}
			else if(talkState==3){
				switch(buyTalk){
				case 0:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[28],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(yc_head,198,195,20);
					break;
				case 1:
					g.setFont(font);
					for(int i=0;i<2;i++){
						if(select==i){
							g.setColor(0xff0000);
						}
						else
							g.setColor(0xffff00);
						g.drawString(talk_about[i+29],47,200+i*12,20);
					}
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 2:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[31],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(yc_head,198,195,20);
					break;
				}
			}
		}
		else{
			if(talkState==4){
				switch(buyTalk){
				case -1:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[32],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(boss_head,198,195,20);
					break;
				case 0:
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[33],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 1:
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[34],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 2:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[35],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(boss_head,198,195,20);
					break;
				}
			}
			else if(talkState==5){
				switch(buyTalk){
				case -1:
					g.setColor(0xffff00);
					g.setFont(font);
					g.drawString(talk_about[36],47,200,20);
					g.setClip(20,190,22,35);
					g.drawImage(player_head,20,190,20);
					break;
				case 0:
					g.setColor(0xffffff);
					g.setFont(font);
					g.drawString(talk_about[37],20,200,20);
					g.setClip(198,195,22,35);
					g.drawImage(boss_head,198,195,20);
					break;
				}
			}
		}
	}
	
	/***************绘制购买道具对话框***************/
	int viewState = 0;						//显示物品状态,0显示买的物品,1显示卖的物品
	int length = 0;							//物品的数量
	int dy = 0;								//道具菜单的起始y坐标
	Vector v = new Vector();
	Vector v1 = new Vector();
	Vector v2 = new Vector();
	private final String[][] stageProp = {
			{"小披风(防加5)",    "布衣(防加10)",   "草鞋(防加2)",    "铁剑(攻加10)"},
			{"彩虹披风(防加15)", "蓝蝶衣(防加25)",  "布鞋(防加5)",    "青铜剑(攻加30)"},
			{"金玉披风(防加25)", "金蚕甲(防加40)",  "轻履屐(防加15)", "紫玉剑(攻加55)"},
			{"天蚕披风(防加30)",	"雪莲丝(防加60)",  "飞瀑鞋(防加28)", "玄机剑(攻加90)"},
			{"燃灯披风(防加45)", "乌血衣(防加80)", "乌血鞋(防加40)", "七星剑(攻加125)"},
			{"紫血披风(防加70)", "千阳宝甲(防加100)","鬼纹(防加55)",  "赤霄剑(攻加150)"},
			{"赤龙披风(防加90)", "火龙血衣(防加120)","翠龙鞋(防加80)", "干将剑(攻加180)"},
	};
	private final String[][] stageValue = {
			{"5", "10", "2", "10"},
			{"15","25", "5", "30"},
			{"25","40", "15","55"},
			{"30","70", "28","90"},
			{"45","80","40","125"},
			{"70","100","55","150"},
			{"90","120","80","180"}
	};
	private final String[][] stagePrice = {
			{"100", "200", "50", "80"},
			{"300", "500", "70", "100"},
			{"500", "700", "130","300"},
			{"550", "950", "160","420"},
			{"800", "1200","220","550"},
			{"1100","1400","450","800"},
			{"1500","1800","750","1200"}	
	};
	private String[][] stageNum = {
			{"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[][] stageSaveNum = {
			{"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 void drawStageProp(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++){
			g.drawRect(15+i*55,15,50,20);
		}
		g.drawRect(15,40,210,209);
		g.drawLine(15,60,225,60);
		for(int i=0;i<2;i++){
			g.drawLine(135+i*45,40,135+i*45,249);
		}
		for(int i=0;i<3;i++){
			g.drawRect(65+i*55,254,50,20);
		}
		g.setColor(0xffff00);
		g.setFont(font);
		g.drawString("金钱    "+pMoney,135,22,20);
		g.setFont(font1);
		g.setColor(0xffff00);
		for(int i=0;i<2;i++){
			if(change==0){
				if(select==i)
					g.setColor(0xff0000);
				else
					g.setColor(0xffff00);
			}
			g.drawString(str[i],39+i*55,16,Graphics.TOP|Graphics.HCENTER);
		}
		g.setColor(0xffff00);
		g.drawString(str[2],78,41,Graphics.TOP|Graphics.HCENTER);
		for(int i=0;i<2;i++){
			g.drawString(str[i+3],157+i*45,41,Graphics.TOP|Graphics.HCENTER);
		}
		g.setColor(0xffff00);
		for(int i=0;i<3;i++){
			if(change==2){
				if(select==i)
					g.setColor(0xff0000);
				else
					g.setColor(0xffff00);
			}
			g.drawString(str[i+5],90+i*55,255,Graphics.TOP|Graphics.HCENTER);
		}
		g.setColor(0xffff00);
		if(viewState==0){
			for(int i=0;i<4;i++){
				if(change==1){
					if(select1==i)
						g.setColor(0xff0000);
					else
						g.setColor(0xffff00);
				}
				if(MyMap_collides[prow+1][pcol]==4||MyMap_collides[prow][pcol]==4){
					g.drawString(stageProp[checkPoint][i],78,61+i*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(stagePrice[checkPoint][i],157,61+i*20,Graphics.TOP|Graphics.HCENTER);
					g.drawString(stageNum[checkPoint][i],202,61+i*20,Graphics.TOP|Graphics.HCENTER);
				}

⌨️ 快捷键说明

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