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

📄 def.java

📁 一个3D的保龄球的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	/**
	 * calculate the value of sin(degree)
	 *
	 * @param degree the degree used for calculating the value of sin(degree), and param degree is evaluated between 0 and 90*ANGLE_MULTIPLE_TEN
	 * @return the value of sin(degree), and it is multipled by VALUE_MULTIPLE_TEN
	 */
	public static int sin(int degree) {
		int p = searchIndex(degree, 90 * ANGLE_MULTIPLE_TEN / (SIN.length - 1));
		if (p < 0)
			return -1;
		return SIN[p];
	}


        /**
         * Calculate square root of param value
         *
         * @param value
         * @return square root
         */
        public static int sqrt(long value)
        {
          long  a, b;

          if ( value == 0 )
            return 0;

          a = value / 2;
          do
          {
            if(a==0)
                    return 1;
            b = ( value / a - a ) / 2;
            a = a + b;
          } while ( ( b > 1 ) || ( b < -1 ) );

          return (int)a;
        }

        public static int distanceP2P(int x1, int y1, int z1, int x2, int y2, int z2) {
          int dx = x2 - x1;
          int dy = y2 - y1;
          int dz = z2 - z1;
          int dis = sqrt( (long) dx * dx + dy * dy + dz * dz);
          return dis;
        }



	/**
	 * calculate the value of cos(degree)
	 *
	 * @param degree the degree used for calculating the value of cos(degree), and param degree is evaluated between 0 and 90*ANGLE_MULTIPLE_TEN
	 * @return the value of cos(degree), and it is multipled by VALUE_MULTIPLE_TEN
	 */
	public static int cos(int degree) {
		int p = searchIndex(90 * ANGLE_MULTIPLE_TEN - degree, 90
				* ANGLE_MULTIPLE_TEN / (SIN.length - 1));
		if (p < 0)
			return -1;
		return SIN[p];
	}

	/**
	 * calculate the index of param value in increasing-by-degree queue q
	 *
	 * @param value the value searched in queue q
	 * @param q the increasing-by-degree queue
	 * @return the index of param value in q
	 */
	private static int searchInUpArray(int value, int[] q) {
		int first = 0;
		int last = q.length - 1;
		int p = (first + last) / 2;
		if (value >= q[first] && value <= q[last]) {
			while (last - first > 1) {
				if (value > q[p]) {
					first = p;
					p = (first + last) / 2;
					continue;
				}
				if (value < q[p]) {
					last = p;
					p = (first + last) / 2;
					continue;
				}
				if (value == q[p]) {
					first = p;
					break;
				}
			}
			if (value - q[first] >= q[last] - value)
				p = last;
			else
				p = first;
		} else
			p = -1;
		return p;
	}

	/**
	 * calculate the value of atan(value)
	 *
	 * @param value the value used for calculating the degree of atan(degree), and param value is evaluated between 0 and java.lang.Integer.MAX_VALUE
	 * @return the value of atan(value), evaluated between 0 and 90*ANGLE_MULTIPLE_TEN
	 */
	public static int atan(int value) {
		int p = searchInUpArray(value, TAN);
		if (p < 0)
			return p;
		if (p == TAN.length - 2 && value > TAN[TAN.length - 2] * 100) {
			p++;
		}
		return p * 90 * ANGLE_MULTIPLE_TEN / (TAN.length - 1);
	}

	/**
	 * Get the actual angle of vector {x, y}
	 *
	 * @param x the x weight of the vector
	 * @param y the y weight of the vector
	 * @param angle the angle of the vector valued from 0 to 900
	 * @return the actual angle valued from 0 to 3600
	 */
	public static int convertInto360(int x, int y, int angle) {
		if (x == 0 && y == 0)
			angle = 0;
		if (x <= 0 && y >= 0)
			angle = 1800 - angle;
		if (x <= 0 && y <= 0)
			angle = 1800 + angle;
		if (x >= 0 && y <= 0)
			angle = 3600 - angle;
		return angle;
	}

	/**
	 * Get the sigan of variable
	 *
	 * @param value
	 * @return -1, or 0, or 1
	 */
	public static int getSign(int value) {
		int b = 0;
		if (value < 0)
			b = -1;
		if (value > 0)
			b = 1;
		return b;
	}

	//////start for render2D ////////// 09-06 Milo
	//////////////////////////////the animation , pictrue file name and string id begin//////////////////
	///___output:start
	public final static int IDS_KICKOFF = 0;
	public final static int IDS_ITEM_SPIN_PNG = 1;
	public final static int IDS_INTERFACE_TABLE_PNG = 2;
	public final static int IDS_FONT_S_PNG = 3;
	public final static int IDS_FONT_B_PNG = 4;
	public final static int IDS_FACE_1_PNG = 5;
	public final static int IDS_TELEVISION_PNG = 6;
	public final static int IDS_PINS_REFLECTION_PNG = 7;
	public final static int IDS_PINS_PNG = 8;
	public final static int IDS_PIN_BACK_PNG = 9;
	public final static int IDS_BALL_PNG = 10;
	public final static int IDS_ANIMATION_PNG = 11;
	public final static int IDS_AIMSPOTS_PNG = 12;
	public final static int IDS_FACE0826_PNG = 13;
	public final static int IDS_GRABBER_FENCE_PNG = 14;

	public final static int IDA_FENCE_GRABBER = 0;
	public final static int FENCE_GRABBERF_F1 = 0;
	public final static int FENCE_GRABBERF_F2 = 1;
	public final static int FENCE_GRABBERF_F3 = 2;
	public final static int FENCE_GRABBERF_F4 = 3;
	public final static int FENCE_GRABBERF_F5 = 4;
	public final static int FENCE_GRABBERF_F6 = 5;
	public final static int FENCE_GRABBERF_F7 = 6;
	public final static int FENCE_GRABBERF_F8 = 7;
	public final static int FENCE_GRABBERF_F9 = 8;
	public final static int FENCE_GRABBERF_G1 = 9;
	public final static int FENCE_GRABBERF_G2 = 10;
	public final static int FENCE_GRABBERF_G3 = 11;
	public final static int FENCE_GRABBERF_G4 = 12;
	public final static int FENCE_GRABBERA_FENCE_ANIMATION = 0;
	public final static int FENCE_GRABBERA_GRABBER_ANIMATION = 1;

	public final static int IDA_FACE = 1;
	public final static int FACEF_01_1 = 0;
	public final static int FACEF_02_1 = 1;
	public final static int FACEF_03_1 = 2;
	public final static int FACEF_03_2 = 3;
	public final static int FACEF_03_3 = 4;
	public final static int FACEF_04_1 = 5;
	public final static int FACEF_04_2 = 6;
	public final static int FACEF_04_3 = 7;
	public final static int FACEF_05_1 = 8;
	public final static int FACEF_05_2 = 9;
	public final static int FACEF_05_3 = 10;
	public final static int FACEF_06_1 = 11;
	public final static int FACEF_06_2 = 12;
	public final static int FACEF_06_3 = 13;
	public final static int FACEF_07_1 = 14;
	public final static int FACEF_07_2 = 15;
	public final static int FACEF_07_3 = 16;
	public final static int FACEF_08_1 = 17;
	public final static int FACEF_09_1 = 18;
	public final static int FACEF_09_2 = 19;

	public final static int IDA_AIMSPOTS = 2;

	public final static int IDA_LEFTANIM = 3;
	public final static int LEFTANIMA_PINS = 0;

	public final static int IDA_BALL = 4;

	public final static int IDA_PIN_BAK = 5;

	public final static int IDA_PINS = 6;

	public final static int IDA_PINS_RELECTION = 7;
	public final static int PINS_RELECTIONA_PIN_TEST = 0;

	public final static int IDA_TV = 8;
	public final static int TVA_STRIKE = 0;
	public final static int TVA_SPARE = 1;
	public final static int TVA_SPLIT = 2;
	public final static int TVA_OPEN = 3;
	public final static int TVA_FENCE = 4;

	public final static int IDA_FACE_1 = 9;

	public final static int IDA_FONT_B = 10;

	public final static int IDA_FONT_S = 11;

	public final static int IDA_I_TABLE = 12;

	public final static int IDA_SPIN = 13;

	///___output:end

	//////////////////////////////the animation , pictrue file name and string id end//////////////////
	public final static int FIRST_ANI_IMAGEID = IDS_ITEM_SPIN_PNG;
	public final static int TOTAL_ANI_IMAGE = 14;

	//////end for render2D ////////// 09-06 Milo
}

⌨️ 快捷键说明

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