洗牌的一個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
#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::ran_shuffle(Card->begin(),Card->end());
return Card_Result;
}
int __fastcall GRefresh_Card::Getbyindex(int _index)
{
//ÄÇÅÆ£»
return (_index>=0 && _index
}
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
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java實現一個洗牌程式Java
- 一個隨機數的類c++隨機C++
- c++的一個int128類C++
- C++中類及類的定義 (轉)C++
- 分享一個的c++寫的,模仿awk的框架類CAwkDocC++框架
- 【C++】兩個類的相互引用C++
- 實現一個無法被繼承的C++類繼承C++
- 定製一個BitmapButton類 (轉)
- 一個克隆物件的C#基類 (轉)物件C#
- C++模板的定製二:定製C++類 (轉)C++
- 一個類資料型別的STL例子 (轉)資料型別
- C++模板的定製三:部分定製C++類 (轉)C++
- C++的一個簡單的控制程式碼類别範本C++
- [C++]類和物件(一)C++物件
- C++ Boost 之Python(一個簡單的例子) (轉)C++Python
- WTP的大洗牌
- java的一個類!Java
- 演算法:如何使用C++實現一個簡單的集合類演算法C++
- C++ 中兩個類互相引用的問題C++
- 轉載:一個python並查集類Python並查集
- ASP中一個字串處理類(VBScript) (轉)字串
- C++隱式類型別轉換C++型別
- C++ 隱式類型別轉換C++型別
- 學php時寫的一個分頁顯示的類 (轉)PHP
- 物件與XML之間互相轉化的一個基類物件XML
- 一個POP3客戶端的C#類 (轉)客戶端C#
- Java基礎-設計一個Java類所需的方法(轉)Java
- 《C++ Primer》派生類到基類轉換的可訪問性C++
- 一個C/C++自學轉行者應該具備的素質C++
- 一個C++程式設計師的Delphi學習筆記 (轉)C++程式設計師筆記
- C++的代理類C++
- C++ 類的大小C++
- C++學習 類定義(一)C++
- C/C++—— 一個特別奇怪的C++程式C++
- VB原始碼推薦:一個操作Ini檔案的類 (轉)原始碼
- 在Visual Basic 中使用C++ 類 (轉)C++
- 擴 展Visual c++ MFC 類 庫 (轉)C++
- 學習C++(一) 我現在理解的C++ (轉)C++