2016-11-07 2 views
0

私はuno AIを書いていましたが、ワイルドカードのプレイで問題に直面しました。 AIが自分のカードで野生のカードで選択するのに最適な色を選択します。しかし、私はすべてのアイデアは、それをやって得ることができませんでした。..C#uno game ai手で野生の色を選択してください

をカードには顔文字列とカラー列挙

public class Card 
    { 
     public CardColor Color { get; set; } 
     public string Face { get; set; } 

     public Card(CardColor color, string face) 
     { 
      Color = color; 
      Face = face; 
     } 
    } 

    public enum CardColor 
    { 
     Red, Green, Blue, Yellow, Wild 
    } 

を持つクラスであり、各プレイはカードのリストを持っている

public List<Card> Cards { get; set; } 

今私はねえd:ワイドカードを再生するための手の色を選択するには:/

+0

「カード」の頻度が最も高い色を見つけますか? – sr28

+0

これはすばやく簡単になります。 「最良の」色を定義する必要があります。 「簡単な」AIは、自分の手で最も人気のある色を選ぶかもしれません。より高度なAIはおそらく他のプレイヤーが何をしているのかを推測するためにプレイしているものを追跡するでしょう。ブルーがあなたの手で最も一般的なカードであるが、ライン内の次のプレイヤーが1枚のカードになり、彼がブルーを好んでいる場合は、もはや最善の選択肢ではないでしょうか?単純な言語で使用するロジックを定義した後、それをコードに変換することについてもっと焦点を絞った質問をすることができます。 – dazedandconfused

+0

シンプルで簡単なAIが欲しいですが、色を選択するコードを書く方法を手に入れることはできません。 –

答えて

0

カードのリストのカードの色の頻度でワイルドカードの色を決定する場合は、次のようにします。

var mostFrequentColor = Cards.GroupBy(c => c.Color) 
          .OrderByDescending(x => x.Count()) 
          .FirstOrDefault(y => y.Color) 
関連する問題