public void TestHitFormulaDeath1() { var random = Substitute.For<IRandom>(); var formula = new HitTest(random); random.NextLong(Arg.Any<long>(), Arg.Any<long>()).Returns(0xffffffe); var fishs = new List<RequsetFishData> { new RequsetFishData { FishId = 1, FishOdds = 1 } }; var weapon = new RequestWeaponData { TotalHits = 1, WeaponBet = 1, WeaponOdds = 1, BulletId = 1 }; var request = new HitRequest(fishs.ToArray(), weapon, true); var hitResponses = formula.TotalRequest(request); foreach(var respones in hitResponses) { Assert.AreEqual(1, respones.WepId); Assert.AreEqual(1, respones.FishId); Assert.AreEqual(FISH_DETERMINATION.DEATH, respones.DieResult); } }
internal void Conver(int wepbet, int totalhits, int fishodds) { var weaponData = new RequestWeaponData { WeaponBet = wepbet, TotalHits = totalhits }; var fishDatas = new List<RequsetFishData> { new RequsetFishData() }; var hitRequest = new HitRequest(fishDatas.ToArray(), weaponData, true); _Gpi.Hit(hitRequest); }
private RequestWeaponData _SimulateRequestWeaponData(int total_hits) { var weapon = new RequestWeaponData { BulletId = Random.Instance.NextInt(0, 32767), WeaponType = Random.Instance.NextEnum<WEAPON_TYPE>(), WeaponBet = Random.Instance.NextInt(1, 10000), WeaponOdds = 1, TotalHits = total_hits, }; return weapon; }
/// <summary> /// Initializes a new instance of the <see cref="HitRequest"/> class. /// </summary> public HitRequest(RequsetFishData[] fish_datas, RequestWeaponData weapon_data, bool is_first_trigger) { IsFirstTrigger = is_first_trigger; FishDatas = fish_datas; WeaponData = weapon_data; }
public void Given玩家武器資料是(Table table) { _WeaponData = table.CreateInstance<RequestWeaponData>(); }
public void TestHitFormulaDeath2() { var random = Substitute.For<IRandom>(); var formula = new HitTest(random); random.NextLong(Arg.Any<long>(), Arg.Any<long>()).Returns(0x0fffffff / 26); // 9d89d8 var fishs = new List<RequsetFishData> { new RequsetFishData { FishId = 1, FishOdds = 25 } }; var weapon = new RequestWeaponData { TotalHits = 1, WeaponBet = 1, WeaponOdds = 1, BulletId = 1, WeaponType =WEAPON_TYPE.INVALID }; var hitRequest = new HitRequest(fishs.ToArray(), weapon, true); var hitResponses = formula.TotalRequest(hitRequest); // a3d70a foreach(var response in hitResponses) { Assert.AreEqual(1, response.WepId); Assert.AreEqual(1, response.FishId); Assert.AreEqual(FISH_DETERMINATION.DEATH, response.DieResult); } }
public void TestHitFormulaSurvival2() { var random = Substitute.For<IRandom>(); var formula = new HitTest(random); random.NextLong(Arg.Any<long>(), Arg.Any<long>()).Returns(0x0fffffff / 25); var fishs = new List<RequsetFishData> { new RequsetFishData { FishId = 1, FishOdds = 25 } }; var weapon = new RequestWeaponData { TotalHits = 1, WeaponBet = 1, WeaponOdds = 1, BulletId = 1 }; var request = new HitRequest(fishs.ToArray(), weapon, true); var hitResponses = formula.TotalRequest(request); foreach(var response in hitResponses) { Assert.AreEqual(1, response.WepId); Assert.AreEqual(WEAPON_TYPE.INVALID, response.FeedbackWeapons[0]); Assert.AreEqual(1, response.FishId); Assert.AreEqual(FISH_DETERMINATION.SURVIVAL, response.DieResult); } }
public SaveDeathFishHistory(DataVisitor data_visitor, RequsetFishData fish, RequestWeaponData weapon_data_data) { _Fish = fish; _WeaponData = weapon_data_data; _DataVisitor = data_visitor; }
Value<int> IPlayer.Hit(int bullet_id, int[] fishids) { var hasBullet = _PopBullet(bullet_id); if(hasBullet == false) { return 0; } var logFishs = string.Empty; var count = 0; foreach(var fishid in fishids) { if(_PopFish(fishid) == false) { continue; } if(_Requests.ContainsKey(fishid)) { continue; } count++; var fishs = new List<RequsetFishData> { new RequsetFishData { FishId = fishid, FishOdds = 1, FishStatus = FISH_STATUS.NORMAL, FishType = FISH_TYPE.TROPICAL_FISH } }; var weapon = new RequestWeaponData { TotalHits = fishids.Length, WeaponBet = _WeaponBet, BulletId = bullet_id, WeaponOdds = 1, WeaponType = _WeaponType }; var request = new HitRequest(fishs.ToArray(), weapon, true); _Requests.Add(fishid, request); _FishStage.Hit(request); logFishs += fishid + ","; } if(count == 0) { _PushBullet(bullet_id); } Singleton<Log>.Instance.WriteInfo( string.Format( "all WEAPON_TYPE:{0} , targets:{1} , count:{2}", bullet_id, string.Join(",", (from id in fishids select id.ToString()).ToArray()), fishids.Length)); Singleton<Log>.Instance.WriteInfo( string.Format("requested WEAPON_TYPE:{0} , targets:{1} , count:{2}", bullet_id, logFishs, count)); Singleton<Log>.Instance.WriteInfo( string.Format( "request fishs:{0} count:{1} ", string.Join(",", (from id in _Requests.Keys select id.ToString()).ToArray()), _Requests.Count)); return count; }
private HitResponse _Die(RequsetFishData fish_data, RequestWeaponData weapon_data) { return new HitResponse { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.DEATH, FeedbackWeapons = new[] { (WEAPON_TYPE)_WeaponChancesTable.Dice(Random.Instance.NextFloat(0, 1)) }, WeaponBet = weapon_data.WeaponBet, Multiple = _ScoreOddsTable.Dice(Random.Instance.NextInt(0, 1)) + 1 }; }
private HitResponse _Miss(RequsetFishData fish_data, RequestWeaponData weapon_data) { return new HitResponse { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.SURVIVAL, FeedbackWeapons = new[] { WEAPON_TYPE.INVALID }, WeaponBet = 0, Multiple = _ScoreOddsTable.Dice(Random.Instance.NextInt(0, 1)) + 1 }; }