private bool _CheckStageBufferToOddsRule(FarmBuffer data) { var natrue = new NatureBufferChancesTable().Get().ToDictionary(x => x.Key); var hiLoRate = data.BufferTempValue.HiLoRate; var randNumber = _Visitor.FindIRandom(RandomData.RULE.ODDS, 3).NextInt(0, 1000); if (hiLoRate <= natrue[-3].Value) { if (randNumber < 750) { // 有75% 不翻倍 return(false); } } else if (hiLoRate <= natrue[-2].Value) { if (randNumber < 500) { // 有50% 不翻倍 return(false); } } else if (hiLoRate <= natrue[-1].Value) { if (randNumber < 250) { // 有25% 不翻倍 return(false); } } else if (hiLoRate <= natrue[0].Value) { if (randNumber < 100) { // 有10% 不翻倍 return(false); } } return(true); }
public int Run(long buffer_value, int base_value) { var natureValue = 0; var datas = new NatureBufferChancesTable().Get().ToDictionary(x => x.Key); // 沒有的話要回傳最小值 if (!datas.Any(data => buffer_value > (data.Key * base_value))) { return((int)datas.First().Value.Value); } // 比對最大值 foreach (var data in datas.Where(data => buffer_value > (data.Key * base_value))) { natureValue = (int)data.Value.Value; } return(natureValue); }
public int Run(long buffer_value, int base_value) { var natureValue = 0; var datas = new NatureBufferChancesTable().Get() .ToDictionary(x => x.Key); // �S�����ܭn�^�dz̤p�� if(!datas.Any(data => buffer_value > (data.Key * base_value))) { return (int)datas.First() .Value.Value; } // ���̤j�� foreach(var data in datas.Where(data => buffer_value > (data.Key * base_value))) { natureValue = (int)data.Value.Value; } return natureValue; }
/// <summary> /// 比對漁場資料 /// </summary> private bool _CheckStageRate() { var normal = _Visitor.Farm.FindDataRoot(_Visitor.FocusBlockName, FarmDataRoot.BufferNode.BUFFER_NAME.NORMAL); var natrue = new NatureBufferChancesTable().Get() .ToDictionary(x => x.Key); var hiLoRate = normal.TempValueNode.HiLoRate; var randNumber = _Visitor.FindIRandom(RandomData.RULE.ODDS, 3) .NextInt(0, 1000); if(hiLoRate <= natrue[-3].Value) { if(randNumber < 750) { // 有75% 不翻倍 return false; } } else if(hiLoRate <= natrue[-2].Value) { if(randNumber < 500) { // 有50% 不翻倍 return false; } } else if(hiLoRate <= natrue[-1].Value) { if(randNumber < 250) { // 有25% 不翻倍 return false; } } else if(hiLoRate <= natrue[0].Value) { if(randNumber < 100) { // 有10% 不翻倍 return false; } } return true; }