当前位置: 首页>>代码示例>>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;未经允许,请勿转载。