public Card(CardColor color, CardNumber number, Difficultly difficultly) { Color = color; Number = number; CardId = 0; Info = new CardInfo(difficultly); }
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(); } }
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(); } }
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 }, }; }
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(); }
public Card(Difficultly difficultly) : this(CardColor.None, CardNumber.None, difficultly) { }