using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CardEmulation
{
class Program
{
static void Main(string[] args)
{
Card card=new Card();
card.Deal();
card.Shuffle();
card.Deal();
}
}
/// <summary>
/// 枚举一副牌的4个花色
/// </summary>
enum CardSuit
{//Club:♣;Diamond:♦;Heart:♥;Spade
Club,Diamond,Heart,Spade
}
/// <summary>
/// 枚举每个花色13个面值
/// </summary>
enum CardFace
{
Ace=1,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King
}
/// <summary>
/// 一张牌的结构
/// </summary>
struct CNode{
public CardSuit cardSuit;
public CardFace cardFace;
/// <summary>
/// 显示输出
/// </summary>
/// <returns></returns>
public override string ToString()
{
//return base.ToString();
var s = string.Empty;
switch ((int)cardSuit)
{
case 0:
s += "梅花";
break;
case 1:
s += "方块";
break;
case 2:
s += "红心";
break;
case 3:
s += "黑桃";
break;
}
switch ((int)cardFace)
{
case 1:
s += "A";
break;
case 11:
s += "J";
break;
case 12:
s += "Q";
break;
case 13:
s += "K";
break;
default:
s += ((int)cardFace).ToString();
break;
}
return s;
}
}
class Card
{
private const int CARDNUMBER = 52;
private const int FACENUMBER = 13;
private CNode[] deck=new CNode[CARDNUMBER];
/// <summary>
/// 构造方法
/// </summary>
public Card(){
//初始化一副新牌,52张牌按顺序放置
for(int i=0;i<deck.Length;i++){
deck[i].cardFace=(CardFace)(i%FACENUMBER+1);
deck[i].cardSuit=(CardSuit)(i/FACENUMBER);
}
}
/// <summary>
/// 发牌
/// </summary>
public void Deal(){
Console.WriteLine("===========52张牌的发牌次序============");
Console.WriteLine("东 \t\t 西 \t \t南 \t\t北");
for(int i=0;i<CARDNUMBER;i++){
Console.Write("第{0,2}张{1}\t",i+1,deck[i]);
if((i+1)%4==0){
Console.WriteLine();
}
}
Console.WriteLine();
}
/// <summary>
/// 洗牌,任意交换2张牌的位置
/// </summary>
public void Shuffle(){
var r=new Random();
for(int i=0;i<CARDNUMBER;i++){
var j=r.Next(0,CARDNUMBER);
var temp=deck[i];
deck[i]=deck[j];
deck[j]=temp;
}
}
}
}

红桃bai(heart).对应圣杯,象征爱情及各种情感du、感性思维。圣杯在塔罗中代zhi表情感,因此相对应的红桃dao被设计为心形,暗示爱情。
梅花(club).对应权杖,象征权力与热情。梅花的英文club意为“棍,杖”,正好对应塔罗中的权杖。由此可以看出,梅花与三叶草没有任何关系。此前流行的“梅花形如三叶草代表幸运”的说法更是无稽之谈。
方块(diamond).对应钱币(又称星币、星星),象征财富。方块的英文diamond意为“钻石”,代表财富,恰好对应塔罗中的钱币。同时方块的形状也与塔罗图案中的星币极其相似。
黑桃(spade).对应宝剑,象征正义、战争与灾难。spade是铲子,也是武器。象征战争。
本文介绍了一个使用C#编写的扑克牌模拟程序,详细解释了如何通过枚举、结构体和类来实现一副标准扑克牌的创建、洗牌和发牌功能。程序涵盖了花色和面值的定义,以及牌的显示输出方法。
606

被折叠的 条评论
为什么被折叠?



