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

📄 resourcemanager.java

📁 用java写的apple机上的小游戏aquamatic
💻 JAVA
字号:
package org.orchesta.mathena.aquamatic;import java.awt.Canvas;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.Locale;import javax.imageio.ImageIO;public class ResourceManager {	public  String getLocalizedMsg(Locale l) 	{		if (l.equals(Locale.CHINESE)) return ("已移动步骤:"); 		else return ("Moved: ");			}	int atomIndex = 100, rowNumber =0 , moleNumber, moleLength; 	public GameMap getGameMap(String level) {		GameMap gm = GameMap.getInstance();		gm.setFail();		try {			File f = new File("resources/abilder.png");    		BufferedImage bi = ImageIO.read(f);    		    		   		    					File f2 = new File("levels/level_"+level);	 		BufferedReader br = new BufferedReader(new FileReader(f2));	 		String line;			int rowNumber =0 , moleNumber=0; 			String[] mole = new String[15];						gm.putAtom(GameMap.BLANK, bi.getSubimage(186,93,30,30));			gm.putAtom(GameMap.WALL, bi.getSubimage(9*31, 31,30, 30));			gm.putAtom(GameMap.UP, bi.getSubimage(8*31, 62, 30, 30)); //UP			gm.putAtom(GameMap.DOWN, bi.getSubimage(8*31, 93, 30,30));	 //DOWN			gm.putAtom(GameMap.LEFT, bi.getSubimage(7*31, 93, 30,30));  //LEFT			gm.putAtom(GameMap.RIGHT, bi.getSubimage(9*31, 93, 30, 30));  //RIGHT						while ((line = br.readLine())!=null)			{				//System.out.println(tag);				char inital = line.charAt(0);				switch (inital) {				case '[': break; 	//[Level]				case '#': break; 	//注释										case 'N': {gm.setName(line.substring(5)); continue; } //Name										case 'a': {//原子						// Create an empty image;						BufferedImage empty = new BufferedImage(30,30,BufferedImage.TYPE_4BYTE_ABGR);			    		Graphics2D g = empty.createGraphics();			    		Canvas c = new Canvas();			    		// Find the right atom;			    		BufferedImage atom;			    		int id = (int)line.charAt(5);			    		if (line.charAt(7)<='D'&&line.charAt(7)>='A') {			    			int ai = (int)(line.charAt(7)-'A');			    			atom = bi.getSubimage(62+31*ai, 93, 30,30);			    		}			    					    		else if (line.charAt(7)=='o') {			    			//System.out.println("THIS IS AI:"+ai);			    			atom = bi.getSubimage(31,31*3, 30, 30);				    		} else {			    			int ai = (int)(line.charAt(7)-'1');			    			//System.out.println("THIS IS AI IN number:"+ai);			    			atom = bi.getSubimage(ai*31,0,30,30);				    	}												g.drawImage(atom, 0, 0, new Color(255,255,255, 0) , c);												int i = line.length()-9;						while (i>0) {							char k = line.charAt(8+i);														if (k>='a')							{									int ki = (int) (k-'a');								BufferedImage affix = bi.getSubimage(31*ki, 31, 30, 30);			    				g.drawImage(affix, 0, 0, new Color(255,255,255, 0), c);								i--;							} else {								int ki = (int) (k-'A');								BufferedImage affix = bi.getSubimage(31*ki, 62, 30, 30);			    				g.drawImage(affix, 0, 0, new Color(255,255,255, 0), c);								i--;							}						}												//System.out.println(id + "::::ID");						gm.putAtom(id, empty.getSubimage(0,0,30,30));						// PUT empty to a hashtable;						continue;					}										case 'f': {//布局						for (int i =0; i<15; i++) 							gm.setCell(rowNumber,i, line.charAt(i+8));												rowNumber++;						continue;					}										case 'm': {//答案						mole[moleNumber] = line.substring(7);						moleNumber++;					}				}									}			moleLength = mole[0].length();			int[][] map = new int[moleNumber][moleLength]; 			for (int k =0; k< moleNumber; k++)				{					for (int y = 0; y<mole[k].length(); y++)					{						map[k][y] = (int)mole[k].charAt(y);						//System.out.print((char)map[k][y]);					}					//System.out.println("");				}									gm.setMolecular(map);			// The goal;					}catch(IOException e) {e.printStackTrace();}		return gm;	}}/*[Level]# 这个布局的名称Name=Methane#原子类型的构成,atom_1=1-c表示下图中1号原子为abilder.png第一行的第一列的原子,#c表示其化学键,按顺序就是第二行的第三个小图atom_1=1-catom_2=1-eatom_3=2-acegatom_4=1-aatom_5=1-g#布局,.空白,#墙,数字球feld_00=...............feld_01=...............feld_02=.#############.feld_03=.#...#..#....#.feld_04=.#.#..#5#....#.feld_05=.#..#...#3.#.#.feld_06=.#......####.#.feld_07=.#.......#1#.#.feld_08=.#.2..#..#...#.feld_09=.#.#####....##.feld_10=.#.4.#..#...#..feld_11=.#####..#...#..feld_12=........#####..feld_13=...............feld_14=...............#答案mole_0=.2.mole_1=135mole_2=.4. */

⌨️ 快捷键说明

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