洗牌的一个C++类! (转)

本文介绍了一个使用C++实现的洗牌类,该类提供了一系列接口,包括洗牌、根据索引取牌等功能,并实现了颜色标记以增加牌的真实感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

洗牌的一个C++类! (转)[@more@]

这是一个洗牌的类!
提供了几个简单的借口!
bool __fastcall Refresh();洗牌
int __fastcall Getbyindex(int _index);根据顺序参数来取牌;
GRefresh_Card(int _CardNum=54);初始化,_CardNum是牌的张数,默认的事54;
void free();用来释放一些必要的东西;
AnsiString Getusefully(int _index);真实取牌,带色!Code如下:

//---------------------------------------------------------------------------


#pragma hdrstop

#include "RefC.h"
#include
#include
#include
#include
//---------------------------------------------------------------------------

#pragma package(smart_init)
GRefresh_Card::~GRefresh_Card()
{
  //Îö¹¹
  free();

}

bool __fastcall GRefresh_Card::Refresh()
{
  //Ï´ÅÆ
  bool Card_Result=false;
  srand((unsigned)time(NULL));  //+ Ôö¼ÓÕâÒ»ÐУ¬ÒÔʱ¼ä×÷ÎªËæ»úÊýÖÖ×Ó
  std::random_shuffle(Card->begin(),Card->end());
  return Card_Result;
}

int __fastcall GRefresh_Card::Getbyindex(int _index)
{
  //ÄÇÅÆ£»
  return (_index>=0 && _indexoperator [](_index):0;

}

GRefresh_Card::GRefresh_Card(int _CardNum)
{
  //³õʼ»¯£»
  Card_Num=_CardNum;
  Card=new std::vector;
  for(int i=0;i<54;i++)
  Card->push_back(i);
  Card_color=new TStringList();
  Card_color->Add("·½¿é");
  Card_color->Add("÷»¨");
  Card_color->Add("ºìÌÒ");
  Card_color->Add("ºÚÌÒ");
}

void GRefresh_Card::free()
{
  delete  Card;
  Card=NULL;
  delete Card_color;
  Card_color=NULL;
}

AnsiString GRefresh_Card::Getusefully(int _index)
{
  int _color=Getbyindex(_index)%13;
  int _value=Getbyindex(_index)/13;
  if(_value>3)
  {
  AnsiString result;
  _color? result="´óÍõ":result="СÍõ";
  return result;
  }
  else
  {
  AnsiString result=Card_color->operator [](_value)+IntToStr(_color+1);
  return result;
  }
}

//---------------------------------------------------------------------------

#ifndef RefCH
#define RefCH
#include
#include
//---------------------------------------------------------------------------
class GRefresh_Card {
protected:
  int Card_Num;
  std::vector * Card;
  TStringList * Card_color;
public:
  ~GRefresh_Card();
  bool __fastcall Refresh();
  int __fastcall Getbyindex(int _index);
  GRefresh_Card(int _CardNum=54);
  void free();
  AnsiString Getusefully(int _index);};
#endif


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-962104/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-962104/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值