コード例 #1
0
 public Card(CardColor color, CardNumber number, Difficultly difficultly)
 {
     Color  = color;
     Number = number;
     CardId = 0;
     Info   = new CardInfo(difficultly);
 }
コード例 #2
0
        public static bool UseColorful(Difficultly difficultly)
        {
            switch (difficultly)
            {
            case Difficultly.Easy:
            case Difficultly.Normal:
            case Difficultly.Hard:
                return(false);

            case Difficultly.Hill:
                return(true);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #3
0
        public static int GetMaxScroll(Difficultly difficultly)
        {
            switch (difficultly)
            {
            case Difficultly.Easy:
            case Difficultly.Normal:
                return(9);

            case Difficultly.Hard:
            case Difficultly.Hill:
                return(8);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        public CardInfo(Difficultly difficultly)
        {
            ColorInfo = new Dictionary <CardColor, CardInfoHint>()
            {
                { CardColor.White, CardInfoHint.None },
                { CardColor.Red, CardInfoHint.None },
                { CardColor.Blue, CardInfoHint.None },
                { CardColor.Yellow, CardInfoHint.None },
                { CardColor.Green, CardInfoHint.None },
                { CardColor.Colorful, CardInfoHint.None },
            };

            NumberInfo = new Dictionary <CardNumber, CardInfoHint>()
            {
                { CardNumber.Number1, CardInfoHint.None },
                { CardNumber.Number2, CardInfoHint.None },
                { CardNumber.Number3, CardInfoHint.None },
                { CardNumber.Number4, CardInfoHint.None },
                { CardNumber.Number5, CardInfoHint.None },
            };
        }
コード例 #5
0
ファイル: Game.cs プロジェクト: litsungyi/Hanabi
        public Game(IList <Player> players, Difficultly difficultly)
        {
            Players     = players;
            Difficultly = difficultly;
            DrawPile    = new List <Card>();
            DiscardPile = new List <Card>();

            PlayerHand        = new Dictionary <string, IList <Card> >();
            LastActionPlayers = new List <string>();
            foreach (var player in Players)
            {
                PlayerHand.Add(player.Name, new List <Card>());
                LastActionPlayers.Add(player.Name);
            }

            PlayArea = new Dictionary <CardColor, IList <Card> >()
            {
                { CardColor.White, new List <Card>() },
                { CardColor.Red, new List <Card>() },
                { CardColor.Blue, new List <Card>() },
                { CardColor.Yellow, new List <Card>() },
                { CardColor.Green, new List <Card>() },
            };

            if (Rule.UseColorful(difficultly))
            {
                PlayArea.Add(CardColor.Colorful, new List <Card>());
            }

            Tokens = new Dictionary <TokenType, int>()
            {
                { TokenType.Storm, 0 },
                { TokenType.Scroll, Rule.GetMaxScroll(difficultly) }
            };

            LastRound = false;
            GameEnd   = false;

            DispatchCards();
        }
コード例 #6
0
 public Card(Difficultly difficultly)
     : this(CardColor.None, CardNumber.None, difficultly)
 {
 }