當前位置: 首頁>>代碼示例>>Java>>正文


Java NumberHelper.randomWin方法代碼示例

本文整理匯總了Java中org.openyu.commons.lang.NumberHelper.randomWin方法的典型用法代碼示例。如果您正苦於以下問題:Java NumberHelper.randomWin方法的具體用法?Java NumberHelper.randomWin怎麽用?Java NumberHelper.randomWin使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.openyu.commons.lang.NumberHelper的用法示例。


在下文中一共展示了NumberHelper.randomWin方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: randomEnhance

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 機率強化/安全強化
 * 
 * @param item
 * @param enhanceFactor
 * @return
 */
protected boolean randomEnhance(Item item, EnhanceFactor enhanceFactor) {
	boolean result = false;
	//
	if (item == null || enhanceFactor == null) {
		return result;
	}

	// 安全強化等級, +1-3,不會爆掉, > +3才有機率爆掉
	EnhanceLevel safeEnhanceLevel = getSafeEnhanceLevel(item);

	// 機率強化,當強化> +3 以上,會有機率性失敗
	if (safeEnhanceLevel == null || enhanceFactor.getId().getValue() > safeEnhanceLevel.getValue()) {
		result = NumberHelper.randomWin(enhanceFactor.getProbability());
	}
	// 安全強化,當強化<= +3,一定會成功,此為+3為強化安定值
	else {
		result = true;
	}
	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:28,代碼來源:ItemServiceImpl.java

示例2: calcProducts

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 計算種子產出數量
 * 
 * @param land
 * @param seed
 * @return
 */
public Map<String, Integer> calcProducts(Land land, Seed seed) {
	Map<String, Integer> result = new LinkedHashMap<String, Integer>();
	// 原產出數量
	Map<String, Integer> origItems = seed.getProducts();
	//
	AttributeGroup attributeGroup = land.getAttributeGroup();
	int output = attributeGroup.getFinal(AttributeType.MANOR_OUTPUT);// 2

	double criticalRatio = ratio(attributeGroup.getFinal(AttributeType.MANOR_CRITICAL_RATE));// 0.3
	double criticalQutputRatio = ratio(attributeGroup.getFinal(AttributeType.MANOR_CRITICAL_OUTPUT_RATE));// 0.3
	//
	for (Map.Entry<String, Integer> entry : origItems.entrySet()) {
		String itemId = entry.getKey();
		int amount = entry.getValue();
		int newQuality = 0;
		// 暴擊
		if (NumberHelper.randomWin(criticalRatio)) {
			newQuality = amount + (int) (output * (1 + criticalQutputRatio));
		} else {
			newQuality = amount + output;
		}
		//
		result.put(itemId, newQuality);
	}

	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:35,代碼來源:ManorServiceImpl.java

示例3: useRoleExpThing

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 使用增加經驗道具
 * 
 * @param sendable
 * @param role
 * @param item
 *            道具
 * @param amount
 *            數量
 * @return
 */
public ErrorType useRoleExpThing(boolean sendable, Role role, Item item, int amount) {
	ErrorType result = ErrorType.NO_ERROR;
	// 道具不存在
	if (item == null) {
		result = ErrorType.ITEM_NOT_EXIST;
	} else {
		// 消耗的道具
		RoleExpThing thing = (RoleExpThing) item;
		long exp = 0L;
		// 多個道具
		for (int i = 0; i < amount; i++) {
			// 成功
			boolean success = NumberHelper.randomWin(thing.getProbability());
			if (success) {
				exp += thing.getExp();
			}
		}
		//
		if (exp > 0) {
			// 發送到ROLE處理
			sendChangeExp(role, exp);
		}
		// 移除消耗的道具
		decreaseItemWithUniqueId(sendable, role, thing.getUniqueId(), amount);
	}
	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:39,代碼來源:ItemServiceImpl.java

示例4: useRoleSpThing

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 使用增加技魂(sp)道具
 * 
 * @param sendable
 * @param role
 * @param item
 * @param amount
 * @return
 */
public ErrorType useRoleSpThing(boolean sendable, Role role, Item item, int amount) {
	ErrorType result = ErrorType.NO_ERROR;
	// 道具不存在
	if (item == null) {
		result = ErrorType.ITEM_NOT_EXIST;
	} else {
		// 消耗的道具
		RoleSpThing thing = (RoleSpThing) item;
		long sp = 0L;
		// 多個道具
		for (int i = 0; i < amount; i++) {
			// 成功
			boolean success = NumberHelper.randomWin(thing.getProbability());
			if (success) {
				sp += thing.getSp();
			}
		}
		//
		if (sp > 0) {
			sendChangeSp(role, sp);
		}
		// 移除消耗的道具
		decreaseItemWithUniqueId(sendable, role, thing.getUniqueId(), amount);
	}
	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:36,代碼來源:ItemServiceImpl.java

示例5: useRoleGoldThing

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 使用增加金幣道具
 * 
 * @param sendable
 * @param role
 * @param item
 *            道具
 * @param amount
 *            數量
 * @return
 */
public ErrorType useRoleGoldThing(boolean sendable, Role role, Item item, int amount) {
	ErrorType result = ErrorType.NO_ERROR;
	// 道具不存在
	if (item == null) {
		result = ErrorType.ITEM_NOT_EXIST;
	} else {
		// 消耗的道具
		RoleGoldThing thing = (RoleGoldThing) item;
		long gold = 0L;
		// 多個道具
		for (int i = 0; i < amount; i++) {
			// 成功
			boolean success = NumberHelper.randomWin(thing.getProbability());
			if (success) {
				gold += thing.getGold();
			}
		}
		//
		if (gold > 0) {
			sendChangeGold(role, gold, GoldType.ITEM_ROLE_GOLD_THING);
		}
		// 移除消耗的道具
		decreaseItemWithUniqueId(sendable, role, thing.getUniqueId(), amount);
	}
	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:38,代碼來源:ItemServiceImpl.java

示例6: useRoleFameThing

import org.openyu.commons.lang.NumberHelper; //導入方法依賴的package包/類
/**
 * 使用增加聲望道具
 * 
 * @param sendable
 * @param role
 * @param item
 *            道具
 * @param amount
 *            數量
 * @return
 */
public ErrorType useRoleFameThing(boolean sendable, Role role, Item item, int amount) {
	ErrorType result = ErrorType.NO_ERROR;
	// 道具不存在
	if (item == null) {
		result = ErrorType.ITEM_NOT_EXIST;
	} else {
		// 消耗的道具
		RoleFameThing thing = (RoleFameThing) item;
		int fame = 0;
		// 多個道具
		for (int i = 0; i < amount; i++) {
			// 成功
			boolean success = NumberHelper.randomWin(thing.getProbability());
			if (success) {
				fame += thing.getFame();
			}
		}
		//
		if (fame > 0) {
			sendChangeFame(role, fame);
		}
		// 移除消耗的道具
		decreaseItemWithUniqueId(sendable, role, thing.getUniqueId(), amount);
	}
	return result;
}
 
開發者ID:mixaceh,項目名稱:openyu-mix,代碼行數:38,代碼來源:ItemServiceImpl.java


注:本文中的org.openyu.commons.lang.NumberHelper.randomWin方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。