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

📄 tankproperties.java

📁 坦克游戏
💻 JAVA
字号:
/*
 * Created on 2005-2-8
 *
 * properties
 */
package components;

import java.awt.Image;
import java.util.Properties;
import java.util.StringTokenizer;
import java.io.*;

import javax.imageio.ImageIO;

/**
 * @author AnSen
 * 
 * TankProperties
 */
public class TankProperties {
	int Width = 0;

	int Height = 0;

	int Speed = 1;

	int Radius = 1;

	int RotateRate = 2;

	Image imageBase = null;

	Image imageBarbette = null;

	int[] bfxPoints = null;

	int[] bfyPoints = null;

	int[] bbxPoints = null;

	int[] bbyPoints = null;

	int bfnPoints = 0;

	int bbnPoints = 0;

	int barbetteHeight=0;
	int barbetteWidth=0;
	
	int baseHeight=0;
	int baseWidth=0;
	
	public TankProperties() {
		Properties prpTank = new Properties();
		try {
			prpTank.load(new FileInputStream("configure" + File.separator
					+ "Tank.properties"));
		} catch (IOException er) {
			er.printStackTrace();
		}
		Width = Integer.parseInt(prpTank.getProperty("Width"));
		Height = Integer.parseInt(prpTank.getProperty("Height"));
		Speed = Integer.parseInt(prpTank.getProperty("Speed"));
		Radius = Integer.parseInt(prpTank.getProperty("Radius"));
		RotateRate = Integer.parseInt(prpTank.getProperty("RotateRate"));

		bfnPoints = Integer.parseInt(prpTank.getProperty("BaseFrameNPoints"));
		bfxPoints = new int[bfnPoints];
		bfyPoints = new int[bfnPoints];
		readPoints(prpTank.getProperty("BaseFrame"), bfxPoints, bfyPoints,
				bfnPoints);

		bbnPoints = Integer.parseInt(prpTank
				.getProperty("BarbetteFrameNPoints"));
		bbxPoints = new int[bbnPoints];
		bbyPoints = new int[bbnPoints];
		readPoints(prpTank.getProperty("BarbetteFrame"), bbxPoints, bbyPoints,
				bbnPoints);

		try {
			imageBase = ImageIO.read(new File("resource" + File.separator
					+ "images" + File.separator
					+ prpTank.getProperty("BaseImage")));
			imageBarbette = ImageIO.read(new File("resource" + File.separator
					+ "images" + File.separator
					+ prpTank.getProperty("BarbetteImage")));
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		barbetteHeight=Integer.parseInt(prpTank.getProperty("BarbetteHeight"));
		barbetteWidth=Integer.parseInt(prpTank.getProperty("BarbetteWidth"));
		
		baseHeight=Integer.parseInt(prpTank.getProperty("BaseHeight"));
		baseWidth=Integer.parseInt(prpTank.getProperty("BaseWidth"));
	}

	private void readPoints(String strPoints, int[] xpoints, int[] ypoints,
			int npoints) {
		StringTokenizer stk = new StringTokenizer(strPoints, " ");
		StringTokenizer stkPt;
		int i = 0;
		if (npoints != stk.countTokens()) {
			System.err.println("error on read properties of tank");
		}
		while (stk.countTokens() > 0) {
			stkPt = new StringTokenizer(stk.nextToken(), ",");
			if (stkPt.countTokens() != 2) {
				return;//error points
			}
			xpoints[i] = Integer.parseInt(stkPt.nextToken());
			ypoints[i] = Integer.parseInt(stkPt.nextToken());
			i++;
		}

	}
}

⌨️ 快捷键说明

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