wangchao.org
注册 | 登录 | 添加收藏 | 订阅该频道
 
商城汽车珠宝健康家饰女性王朝网络游戏互联网探索下载娱乐学院
 
数码 | 旅游 | 美容 | 母婴 | 家电 | 美食 | 景区 | 养生 | 手机 | 购车 | 首饰 | 美妆 | 装修 | 厨房 | 科普 | 动物 | 植物 |  | 百态 | 编程 | 商品 | 财经 | 信息 | 军事
  
 
当前位置: 王朝网络 >> c/c++ >> 洗牌的一个C++类!
 

洗牌的一个C++类!

字体: ||
  这是一个洗牌的类!
  提供了几个简单的借口!
  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 <vector>
  #include <algorithm>
  #include <stdlib.h>
  #include <Classes.hpp>
  //---------------------------------------------------------------------------
  #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 && _index<Card_Num)? Card->operator [](_index):0;
  }
  GRefresh_Card::GRefresh_Card(int _CardNum)
  {
   //³õʼ»¯£»
   Card_Num=_CardNum;
   Card=new std::vector<int>;
   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 <vector>
  #include <Classes.hpp>
  //---------------------------------------------------------------------------
  class GRefresh_Card {
  protected:
   int Card_Num;
   std::vector<int> * 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(王朝网络 wangchao.net.cn)
 
标签: C++  一个  洗牌  
这是一个洗牌的类! 提供了几个简单的借口! 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 <vector> #include <algorithm> #include <stdlib.h> #include <Classes.hpp> //--------------------------------------------------------------------------- #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 && _index<Card_Num)? Card->operator [](_index):0; } GRefresh_Card::GRefresh_Card(int _CardNum) { //³õʼ»¯£» Card_Num=_CardNum; Card=new std::vector<int>; 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 <vector> #include <Classes.hpp> //--------------------------------------------------------------------------- class GRefresh_Card { protected: int Card_Num; std::vector<int> * 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
 
声明:王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。
 
网友评论 查看所有评论
 
 
验证码:  
2006-01-08 22:27:10 繁體版 编辑
 
 
转载本文
UBB代码HTML代码
复制到剪贴板...
 
 最新文章
 ·印度暂缓封锁黑莓 紧盯网密服务密钥- ·黑客借钓鱼网站设陷阱-安全资讯 ·黄海波女友周诗雅性感写真-美女明星 ·一起来看看那些天雷滚滚的广告-搞笑
 ·微软推便携式触摸式鼠标Arc Tou ·图说那些世界上最美丽的地方-风景壁纸 ·快递“先签字后验货”被指违法-业内资 ·QQ.CN成为黑龙江联通IDC业务新
 ·拒绝50万美元奖金 跳槽Facebo ·网络管理员工作错误处理常见十宗罪-安 ·李彦宏百度大会 门票遭黄牛热炒-业内 ·李彦宏坦克大战 搜索可在线玩游戏-业
 ·步步追踪 破译远程控制失效之谜-应用 ·2010年度上半年全国病毒传播趋势  ·网络知识:OSPF路由协议基础-应用 ·林志颖娇妻陈若仪照片大曝光-美女明星
 ·十分钟完全体验Maxthon3.0- ·《庄园物语》8月风靡金山游戏世界 - ·表现满意 快车3.7新版下载能力测试 ·学生开学换手机 专家提醒先安全扫描-
 ·卡巴安全部队震撼发布保护网银安全-业 ·360安全:600万网民电脑龟速开机 ·卡巴斯基全力打造交易安全软件-安全资 ·搜狗“五级加速”引领高速浏览时代-网
 
 
© 2005- 王朝网络 版权所有