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

📄 rand.java

📁 J2ME 3D 第一人称射击迷宫类手机游戏源码。
💻 JAVA
字号:
package myGame.main;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.Random;

/**
 * Global random generator. It must be global so all methods needing random
 * values accesses the same methods. This is because we want similar behaviour
 * on both devices in a remote game, which is achieved by agreeing on a mutual
 * seed.
 * 
 * @author YuBingxing
 */
public class Rand {
	/** The seed */
	protected static long SEED = new Date().getTime();

	/** Native random generator */
	protected static Random RANDOM = new Random(SEED);

	/**
	 * Sets the seed of the random generator.
	 * 
	 * @param seed
	 *            The seed of the random generator.
	 */
	public static void setRandomSeed(long seed) {
		SEED = seed;
		RANDOM = new Random(seed);
	}

	/**
	 * Returns a random integer ranging from Integer.MIN_VALUE to
	 * Integer.MAX_VALUE.
	 * 
	 * @return A random integer value.
	 */
	public static int random() {
		return RANDOM.nextInt();
	}

	/**
	 * Returns a random float ranging from -1.0f to 1.0f.
	 * 
	 * @return A random float value.
	 */
	public static float randomFloat() {
		return 2f * RANDOM.nextFloat() - 1f;
	}

	/**
	 * Loads the seed into random generator.
	 * 
	 * @param dis
	 *            The stream to read from.
	 * @return Number of bytes read.
	 * @throws IOException
	 *             if loading failed
	 */
	public static int loadSeed(DataInputStream dis) throws IOException {
		setRandomSeed(dis.readLong());
		return 8;
	}

	/**
	 * Writes the seed used by random generator.
	 * 
	 * @param dos
	 *            The stream to write to,
	 * @return Number of bytes written.
	 * @throws IOException
	 *             if saving failed
	 */
	public static int saveSeed(DataOutputStream dos) throws IOException {
		dos.writeLong(SEED);
		return 8;
	}

	/** Prevent construction */
	private Rand() {
	}
}

⌨️ 快捷键说明

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