/**************************************************
文件名: Porker.h
文件描述: 声明扑克类
创建人: 刘基伟 2007/3/24
版本号: 1.0
修改纪录: 暂无
**************************************************/
#include <List>
#include <ctime>
using namespace std;
class Viter;
#define FOUR 4
#define FIVE 5
#define THIRTEEN 13
#define TWENTY_SIX 26
/*====================================================
类 名 称: Porker
功能描述: 创建扑克类,对扑克进行处理
成员变量: List_porker // 存储扑克的数值
p_List_porker // 指向List_porker
// 用于查找
成员函数: Porker_create // 创建52张扑克
Porker_delete // 删除52张扑克
Porker_wash() // 由Viter对象来洗牌
Porker_wash() // 由Viter对象来将牌翻转
====================================================*/
class Porker
{
private:
list<int>::iterator p_List_porker;
public:
list<int> List_porker;
Porker();
bool Porker_create();
bool Porker_delete();
void Porker_wash();
void Porker_reverse();
void Porker_show();
};
/*****************************************************
文 件 名: Player.h
文件描述: 声明 Player 类
创 建 人: 刘基伟 2007/3/24
版 本 号: 1.0
修改纪录: 暂无
*****************************************************/
#include <List>
using namespace std;
/*=====================================================
结构体名: Player_node
功能描述: 实现一个扑克节点
成员变量: b_Turn // 判 断 是 否 轮
i_Player_porker[5] // 要 的 五 张 牌
sti_Player_money // 初 始 的 筹 码
sti_Money_min // 可 跟 最 小 值
sti_Money_sum // 下 注 的 总 和
ePorker_type // 扑 克 的 类 型
p_Node_next // 下 一 节 点 域
成员函数: Player_node // 扑 克 的 构 造
=====================================================*/
struct Player_node
{
bool b_Turn;
int i_Player_money;
list<int> List_porker_type;
list<int> List_porker_value;
static int sti_Money_min;
static int sti_Money_sum;
Player_node* p_Node_next;
Player_node();
Player_node(bool, int, Player_node*);
};
class Player
{
private:
int i_Count;
Porker &p_Player_porker;
Player_node *p_Player_head;
list<int>::iterator p_List_porker;
enum ePorker_type{Dan_zhang, Dui_zi, Tong_hua,
Lian_zi, Gang_lian, Bao_zi};
public:
Player(Porker &_ref_Player_porker);
void Player_insert();
void Player_delete();
int Player_size()const;
int Player_take_porker();
void Player_follow(int _i_Count);
void Player_porker_show();
bool Player_compare(const Player &_Player);
int Player_porker_type();
bool Player_porker_tonghua();
bool Player_porker_connect();
};
/*****************************************************
文件名: Tuolaji.cpp
文件描述: 定义控制台应用程序的入口点,实现一系列的
操作
创建者: 刘基伟 2007/3/24
版本号: 1.0
修改纪录: 暂无
*****************************************************/
#include "stdafx.h"
#include "Porker.h"
#include "Player.h"
using namespace std;
static const int csti_Array[FOUR][THIRTEEN]={
{40,28,16,4,44,32,20,8,48,36,24,12,52},
{44,15,3,43,31,19,7,47,35,23,11,51,39},