次の C# コードがありますが、JavaScript に簡単に変換できますか? ブラウザで 100% 実行するには、これが必要です。
私が理解しているように、列挙型は存在せず、代わりに文字列に置き換えることができます。
要するに、クラス Deck witch にはカードの配列が保持されています。クラス Card には、ランク、シンボルなど、シャッフル機能などのいくつかのプロパティがあります。
ここで私のコードをすべて変換する人はいないと思いますが、同様のことができる方法を教えてください。
public enum Suit
{
Club,
Diamond,
Heart,
Spade
};
public class Card
{
public Suit suit;
public int value;
public string text;
public int HCP;
public Card()
{
}
public Card(Suit _suit, int _value, int _HCP, string _text)
{
suit = _suit;
value = _value;
HCP = _HCP;
text = _text;
}
};
public class Deck
{
public Card[] Cards = new Card[52];
public Deck()
{
Cards[0] = new Card(Suit.Spade, 14, 4, "A");
Cards[1] = new Card(Suit.Spade, 13, 3, "K");
Cards[2] = new Card(Suit.Spade, 12, 2, "Q");
Cards[3] = new Card(Suit.Spade, 11, 1, "J");
Cards[4] = new Card(Suit.Spade, 10, 0, "T");
Cards[5] = new Card(Suit.Spade, 9, 0, "9");
Cards[6] = new Card(Suit.Spade, 8, 0, "8");
Cards[7] = new Card(Suit.Spade, 7, 0, "7");
Cards[8] = new Card(Suit.Spade, 6, 0, "6");
Cards[9] = new Card(Suit.Spade, 5, 0, "5");
Cards[10] = new Card(Suit.Spade, 4, 0, "4");
Cards[11] = new Card(Suit.Spade, 3, 0, "3");
Cards[12] = new Card(Suit.Spade, 2, 0, "2");
Cards[13] = new Card(Suit.Heart, 14, 4, "A");
Cards[14] = new Card(Suit.Heart, 13, 3, "K");
Cards[15] = new Card(Suit.Heart, 12, 2, "Q");
Cards[16] = new Card(Suit.Heart, 11, 1, "J");
Cards[17] = new Card(Suit.Heart, 10, 0, "T");
Cards[18] = new Card(Suit.Heart, 9, 0, "9");
Cards[19] = new Card(Suit.Heart, 8, 0, "8");
Cards[20] = new Card(Suit.Heart, 7, 0, "7");
Cards[21] = new Card(Suit.Heart, 6, 0, "6");
Cards[22] = new Card(Suit.Heart, 5, 0, "5");
Cards[23] = new Card(Suit.Heart, 4, 0, "4");
Cards[24] = new Card(Suit.Heart, 3, 0, "3");
Cards[25] = new Card(Suit.Heart, 2, 0, "2");
Cards[26] = new Card(Suit.Diamond, 14, 4, "A");
Cards[27] = new Card(Suit.Diamond, 13, 3, "K");
Cards[28] = new Card(Suit.Diamond, 12, 2, "Q");
Cards[29] = new Card(Suit.Diamond, 11, 1, "J");
Cards[30] = new Card(Suit.Diamond, 10, 0, "T");
Cards[31] = new Card(Suit.Diamond, 9, 0, "9");
Cards[32] = new Card(Suit.Diamond, 8, 0, "8");
Cards[33] = new Card(Suit.Diamond, 7, 0, "7");
Cards[34] = new Card(Suit.Diamond, 6, 0, "6");
Cards[35] = new Card(Suit.Diamond, 5, 0, "5");
Cards[36] = new Card(Suit.Diamond, 4, 0, "4");
Cards[37] = new Card(Suit.Diamond, 3, 0, "3");
Cards[38] = new Card(Suit.Diamond, 2, 0, "2");
Cards[39] = new Card(Suit.Club, 14, 4, "A");
Cards[40] = new Card(Suit.Club, 13, 3, "K");
Cards[41] = new Card(Suit.Club, 12, 2, "Q");
Cards[42] = new Card(Suit.Club, 11, 1, "J");
Cards[43] = new Card(Suit.Club, 10, 0, "T");
Cards[44] = new Card(Suit.Club, 9, 0, "9");
Cards[45] = new Card(Suit.Club, 8, 0, "8");
Cards[46] = new Card(Suit.Club, 7, 0, "7");
Cards[47] = new Card(Suit.Club, 6, 0, "6");
Cards[48] = new Card(Suit.Club, 5, 0, "5");
Cards[49] = new Card(Suit.Club, 4, 0, "4");
Cards[50] = new Card(Suit.Club, 3, 0, "3");
Cards[51] = new Card(Suit.Club, 2, 0, "2");
}
public void Shuffle(Random r)
{
for (int n = Cards.Length - 1; n > 0; --n)
{
int k = r.Next(n + 1);
Card temp = Cards[n];
Cards[n] = Cards[k];
Cards[k] = temp;
}
}
};