Exemplo n.º 1
0
 private static 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,
         OddsResult = 0
     });
 }
Exemplo n.º 2
0
 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,
         OddsResult = _ScoreOddsTable.Dice(Random.Instance.NextFloat(0, 1))
     });
 }
Exemplo n.º 3
0
 private void _Miss(RequsetFishData fish_data, RequestWeaponData weapon_data, long die_rate)
 {
     _HitResponses.Add(
         new HitResponse()
     {
         WepId           = weapon_data.BulletId,
         FishId          = fish_data.FishId,
         DieResult       = FISH_DETERMINATION.SURVIVAL,
         FeedbackWeapons = new[]
         {
             WEAPON_TYPE.INVALID
         },
         WeaponBet  = weapon_data.WeaponBet,
         OddsResult = 0,
         DieRate    = die_rate
     });
 }
Exemplo n.º 4
0
        private void _Die(RequsetFishData fish_data, RequestWeaponData weapon_data, long die_rate)
        {
            var bufferData = _Visitor.Farm.FindBuffer(
                _Visitor.FocusBufferBlock,
                FarmBuffer.BUFFER_TYPE.NORMAL);

            _HitResponses.Add(
                new HitResponse()
            {
                WepId           = weapon_data.BulletId,
                FishId          = fish_data.FishId,
                DieResult       = FISH_DETERMINATION.DEATH,
                FeedbackWeapons = _Visitor.GotTreasures.ToArray(),
                WeaponBet       = weapon_data.WeaponBet,
                DieRate         = die_rate,
                OddsResult      = new OddsRuler(_Visitor, fish_data, bufferData).RuleResult()
            });
        }
Exemplo n.º 5
0
        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);
                _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);
        }