質問: mPoint + count; break; } } 上記の方法であっているのでしょうか?考え方、Script、なんでもおかしいところはご指摘いただけると幸いです。何卒よろしくお願いいたします。
回答: こんにちは。 Unityについては知らないので外しているかも知れませんが。 Cardsというクラスは、Unityのクラスでしょうか? もし、Kuronekoyaさんが定義する予定のクラスならば、その定義を提示して貰った方が良いです。 データ構造を決める時は、要件を満たせる構造を幾つか考え、より良いと思われるものを採用します。 現在の要件は下記と思います。 > > 置けるカードに、「同じマークで数字の離れたカードを持っている」場合は距離の遠さが遠いほど点数を加算、また、「同じマークで連続したカードを複数枚持っている」場合も点数を加算。 > > > これを行いやすいデータ構造を考えてみましょう。 それは、既に場に置かれているカードが何か表現でき、かつ、プレイヤーが持っているカードを表現できる必要があります。 同じカードを複数のプレイヤーが持っていることはないし、既に場に出ているカードをプレイヤーが持っていることはないですね。 例えば、Cardsではなくboolとし、場に出ているカード、プレイヤーが持っているカードを下記のようにすることが考えられます。 bool[,] mLayout = new bool[CardNumber_X, CardNumber_Y]; bool[,] mPlayerCard = new bool[CardNumber_X, CardNumber_Y]; そして、mLayoutの既に場に出ているカードの端から、「外側」方向に向かってスキャンしてmPlayerCard をチェックすることで、お望みの点数を計算できるのではないでしょうか?