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

📄 sfcanvas.java

📁 一个RPG的JAVA游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
					switch (ac[(itemcho - 1) + (i - 1) * 3])
					{
					case 49: // '1'
						heroSprite.itemlv = 1;
						break;

					case 50: // '2'
						heroSprite.itemlv = 2;
						break;

					case 51: // '3'
						heroSprite.itemlv = 3;
						break;

					case 52: // '4'
						heroSprite.itemlv = 4;
						break;
					}
					ac[(itemcho - 1) + (i - 1) * 3] = tempitem;
				} else
				if (ac[(itemcho - 1) + (i - 1) * 3] == '5')
				{
					heroSprite.hp = heroSprite.maxhp;
					ac[(itemcho - 1) + (i - 1) * 3] = '0';
				}
			} else
			if (isChkdel)
				ac[(itemcho - 1) + (i - 1) * 3] = '0';
			else
				isDelpress = false;
			try
			{
				rs.setRecord(myid, heroSprite.chgTorms(false), 0, heroSprite.chgTorms(false).length);
			}
			catch (Exception exception)
			{
				System.out.println(exception);
			}
		}
		for (int j = 0; j < 3; j++)
			switch (ac[j + (i - 1) * 3])
			{
			case 48: // '0'
				g.drawString("无装备物品", 50, 105 + j * 15, 20);
				break;

			case 49: // '1'
				g.drawString("第一等级装备", 50, 105 + j * 15, 20);
				break;

			case 50: // '2'
				g.drawString("第二等级装备", 50, 105 + j * 15, 20);
				break;

			case 51: // '3'
				g.drawString("第三等级装备", 50, 105 + j * 15, 20);
				break;

			case 52: // '4'
				g.drawString("第四等级装备", 50, 105 + j * 15, 20);
				break;

			case 53: // '5'
				g.drawString("补血药瓶", 50, 105 + j * 15, 20);
				break;
			}

	}

	public static void chgTogame(byte abyte0[], HeroSprite herosprite)
		throws IOException
	{
		ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0);
		DataInputStream datainputstream = new DataInputStream(bytearrayinputstream);
		herosprite.lv = Integer.parseInt(datainputstream.readUTF());
		herosprite.itemlv = Integer.parseInt(datainputstream.readUTF());
		herosprite.gold = Integer.parseInt(datainputstream.readUTF());
		herosprite.MyItem = datainputstream.readUTF();
		herosprite.exp = Integer.parseInt(datainputstream.readUTF());
		herosprite.at = (herosprite.lv - 1) * 8 + 30;
		herosprite.df = (herosprite.lv - 1) * 10 + 20;
		System.out.println(herosprite.MyItem);
		herosprite.itemcode = herosprite.MyItem.toCharArray();
		herosprite.numEmpty = 0;
		for (int i = 0; i < herosprite.itemcode.length; i++)
			if (herosprite.itemcode[i] == '0')
				herosprite.numEmpty++;

	}

	protected void keyPressed(int i)
	{
		if (GAME_STATE == 1)
			switch (i)
			{
			default:
				break;

			case 42: // '*'
				if (isOpenItem)
				{
					isOpenItem = false;
					heroSprite.isPause = false;
				} else
				{
					isOpenItem = true;
					heroSprite.isPause = true;
				}
				break;

			case 35: // '#'
				isGetpress = true;
				break;

			case 48: // '0'
				if (!isOpenItem)
					break;
				if (isDelpress)
				{
					isDelpress = false;
				} else
				{
					isDelpress = true;
					isChkdel = false;
				}
				break;

			case -21: 
			case 21: // '\025'
				if (isOpenshop)
				{
					isOpenshop = false;
					heroSprite.isPause = false;
				}
				if (isOpenItem)
				{
					isOpenItem = false;
					heroSprite.isPause = false;
				}
				break;
			}
	}

	public void run()
	{
		try
		{
			rs = RecordStore.openRecordStore(dataname, false);
			try
			{
				heroData = rs.getRecord(1);
				chgTogame(heroData, heroSprite);
				isData1 = true;
			}
			catch (Exception exception)
			{
				System.out.println("没有获得记录" + exception);
			}
		}
		catch (RecordStoreNotFoundException recordstorenotfoundexception)
		{
			try
			{
				System.out.println("没找到记录");
				rs.closeRecordStore();
				rs = null;
				isData1 = false;
			}
			catch (Exception exception9) { }
		}
		catch (Exception exception1) { }
		do
			switch (GAME_STATE)
			{
			case -1: 
				keyState = getKeyStates();
				try
				{
					Thread.sleep(100L);
				}
				catch (InterruptedException interruptedexception)
				{
					interruptedexception.printStackTrace();
				}
				g.setColor(0);
				g.fillRect(0, 0, getWidth(), getHeight());
				g.drawImage(menuImage, 30, 0, 20);
				if (menudisp == 0)
				{
					if (keyState == 2 && menuselc > 1)
						menuselc--;
					if (keyState == 64 && menuselc < 3)
						menuselc++;
					switch (menuselc)
					{
					case 1: // '\001'
						g.drawImage(barImage, 42, 100, 20);
						break;

					case 2: // '\002'
						g.drawImage(barImage, 42, 120, 20);
						break;

					case 3: // '\003'
						g.drawImage(barImage, 42, 140, 20);
						break;
					}
				}
				g.setColor(0xb7b46f);
				switch (menudisp)
				{
				case 0: // '\0'
					g.drawString("开始游戏", 65, 100, 20);
					g.drawString("游戏说明", 65, 120, 20);
					g.drawString("制作小组", 65, 140, 20);
					break;

				case 1: // '\001'
					g.drawString("本版本为非最终确定版,方向键", 15, 100, 20);
					g.drawString("控制方向,SELECT键控制动作,", 15, 110, 20);
					g.drawString("*键控制基本人物属性框的开关", 15, 120, 20);
					g.drawString("#键控制物品拾取,NUM0键控制", 15, 130, 20);
					g.drawString("物品的删除,左软键控制窗口的", 15, 140, 20);
					g.drawString("关闭", 15, 150, 20);
					break;

				case 2: // '\002'
					g.drawString("单机版程序员:莫紫东", 25, 100, 20);
					g.drawString("游  戏  企  划:周琳娟", 25, 110, 20);
					g.drawString("美               工:崔永志", 25, 120, 20);
					g.drawString("                       莫紫东", 25, 130, 20);
					g.drawString("网络版服务端:文  鹏", 25, 140, 20);
					g.drawString("网络版客户端:莫紫东", 25, 150, 20);
					break;
				}
				if (keyState == 256)
					switch (menuselc)
					{
					default:
						break;

					case 1: // '\001'
						menuImage = null;
						GAME_STATE = 2;
						break;

					case 2: // '\002'
						if (menudisp == 0)
							menudisp = 1;
						else
							menudisp = 0;
						break;

					case 3: // '\003'
						if (menudisp == 0)
							menudisp = 2;
						else
							menudisp = 0;
						break;
					}
				flushGraphics();
				break;

			case 2: // '\002'
				keyState = getKeyStates();
				try
				{
					Thread.sleep(150L);
				}
				catch (InterruptedException interruptedexception1)
				{
					interruptedexception1.printStackTrace();
				}
				g.setColor(0);
				g.fillRect(0, 0, getWidth(), getHeight());
				g.drawImage(bgImage, -10, -10, 20);
				g.setColor(0xffffff);
				if (!isBreak)
				{
					g.drawString("这是一个与世隔绝的国家——桫坨", 10, getHeight() - 2 * jqcount, 20);
					g.drawString("罗国。人民过着富足祥合的生活。", 0, (getHeight() + 15) - 2 * jqcount, 20);
					g.drawString("直到有一天一匹跛狼缓缓的从荒原", 0, (getHeight() + 30) - 2 * jqcount, 20);
					g.drawString("走来,拖着带血的残腿,恐惧的眼", 0, (getHeight() + 45) - 2 * jqcount, 20);
					g.drawString("神让它看起来毫无以往的凶猛威风", 0, (getHeight() + 60) - 2 * jqcount, 20);
					g.drawString("数天后,兽族的人扯着漫天猩红的", 10, (getHeight() + 75) - 2 * jqcount, 20);
					g.drawString("大旗,杀了过来。所过之处,哀鸿", 0, (getHeight() + 90) - 2 * jqcount, 20);
					g.drawString("遍野、了无人烟。桫坨罗国的人民", 0, (getHeight() + 105) - 2 * jqcount, 20);
					g.drawString("在这一灭顶之灾面前,到底会怎么", 0, (getHeight() + 120) - 2 * jqcount, 20);
					g.drawString("反抗?还是在冥冥之中,等待着一", 0, (getHeight() + 135) - 2 * jqcount, 20);
					g.drawString("英雄的降临……", 0, (getHeight() + 150) - 2 * jqcount, 20);
				}
				if (keyState == 256)
					isBreak = true;
				if (jqcount < 177)
					jqcount++;
				else
					isBreak = true;
				if (isBreak)
				{
					bgImage = null;
					GAME_STATE = 0;
				}
				flushGraphics();
				break;

			case 0: // '\0'
				keyState = getKeyStates();
				try
				{
					Thread.sleep(100L);
				}
				catch (InterruptedException interruptedexception2)
				{
					interruptedexception2.printStackTrace();
				}
				g.setColor(0, 0, 0);
				g.fillRect(0, 0, getWidth(), getHeight());
				g.setColor(255, 255, 255);
				g.drawString("请选择要进行的进度:", 20, 20, 20);
				if (isCho1)
				{
					g.drawImage(loadImage, 160, 40, 24);
					g.drawImage(loadImage2, 160, 90, 24);
					g.setColor(0xffffff);
					if (isData1)
						g.drawString(String.valueOf(heroSprite.lv), 100, 50, 20);
					else
						g.drawString("尚未创建进度", 50, 60, 20);
				} else
				{
					g.drawImage(loadImage2, 160, 40, 24);
					g.drawImage(loadImage, 160, 90, 24);
					g.setColor(0xffffff);
					if (isData2)
						g.drawString(String.valueOf(heroSprite.lv), 100, 100, 20);
					else
						g.drawString("尚未创建进度", 50, 115, 20);
				}
				switch (keyState)
				{
				default:
					break;

				case 2: // '\002'
					try
					{
						rs = RecordStore.openRecordStore(dataname, false);
						myid = 1;
						try
						{
							heroData = rs.getRecord(1);
							chgTogame(heroData, heroSprite);
							System.out.println(heroSprite.lv);
							isData1 = true;
						}
						catch (Exception exception2)
						{
							System.out.println("没有获得记录" + exception2);
						}
					}
					catch (RecordStoreNotFoundException recordstorenotfoundexception1)
					{
						try
						{
							System.out.println("没找到记录");
							rs.closeRecordStore();
							rs = null;
							isData1 = false;
						}
						catch (Exception exception10) { }
					}
					catch (Exception exception3) { }
					isCho1 = true;
					break;

				case 64: // '@'
					try
					{
						rs = RecordStore.openRecordStore(dataname, false);
						myid = 2;
						try
						{
							heroData = rs.getRecord(2);
							chgTogame(heroData, heroSprite);
							System.out.println(heroSprite.lv);
							isData2 = true;
						}
						catch (Exception exception4)
						{
							System.out.println("没有获得记录" + exception4);
						}
					}
					catch (RecordStoreNotFoundException recordstorenotfoundexception2)
					{
						try
						{
							System.out.println("没找到记录");
							rs.closeRecordStore();
							rs = null;
							isData2 = false;
						}
						catch (Exception exception11) { }
					}
					catch (Exception exception5) { }
					isCho1 = false;
					break;

				case 256: 
					if (isCho1)
					{
						if (isData1)
						{
							myid = 1;
							GAME_STATE = 1;
							break;
						}
						try
						{
							rs = RecordStore.openRecordStore(dataname, true);
							doHeroInit();

⌨️ 快捷键说明

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