Files
hjha-server/GameFix/Common/Card/StyleChecker/Helper/CardStyleAllJokerBombHelper.cs
xiaoou e9616125ce feat: initial commit - HJHA game server full source
6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) +
game logic (GameFix/GameDAL/ServerData) +
network layer (NetWorkMessage) +
data layer (ObjectModel) +
utilities (MrWu/Core/Config/CloudAPI/dll) +
adapters (zyxAdapter/base)

.NET 8.0 C# solution, 16 projects, 958 source files
2026-07-07 12:02:15 +08:00

71 lines
2.4 KiB
C#

using System.Collections.Generic;
using System.Linq;
using GameMessage;
namespace GameFix.Poker
{
/// <summary>
/// 全王炸弹
/// </summary>
public class CardStyleAllJokerBombHelper: CardStyleBaseHelper
{
public override int CardStyle => DataCardConst.CardStyleAllJokerBomb;
public override int CardCnt => mCardCnt;
private int mCardCnt = 4;
public CardStyleAllJokerBombHelper() { }
/// <summary>
/// 构造
/// </summary>
/// <param name="cardCnt">几个王起算炸</param>
public CardStyleAllJokerBombHelper(int cardCnt)
{
mCardCnt = cardCnt;
}
internal override bool CheckStyleNormal(CardBaseGroup group, out CardStyleInfo cardStyleInfo)
{
cardStyleInfo = null;
if (group.Cards.Count >= CardCnt)
{
var isOtherCards = group.Cards.Any(x=>!DataCardConst.JokerValues.Contains(x.Value));
if (isOtherCards) return false;
cardStyleInfo = CardStyleHelper.CreateCardStyleInfo(CardStyle, group.Cards);
return true;
}
return false;
}
internal override bool CheckStyleWithLZ(CardBaseGroup group, out CardStyleInfo cardStyleInfo)
{
// 癞子不当王
cardStyleInfo = null;
return false;
}
internal override List<CardGroupList> GetAllStyleCards(CardBaseGroup group, bool isSplitCard)
{
List<CardGroupList> ret = new List<CardGroupList>();
var jokerCards = group.SelfCards.Where(x=>DataCardConst.JokerValues.Contains(x.Value)).ToList();
if (jokerCards.Count < CardCnt) return ret;
CardGroupList cardGroupList = new CardGroupList();
cardGroupList.AddRange(jokerCards);
ret.Add(cardGroupList);
return ret;
}
internal override List<CardGroupList> GetAllEatTipGroup(CardBaseGroup group, CardStyleInfo eatStyleInfo)
{
return GetAllStyleCards(group, false);
}
internal override List<CardGroupList> GetAllEatTipGroupWithLZ(CardBaseGroup group, CardStyleInfo eatStyleInfo)
{
// 癞子不当王
return new List<CardGroupList>();
}
}
}