拖拉机小程序


/**************************************************

文件名:   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},
                      

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
* Game 类 * 功能:整个游戏:开始游戏 -> 初始牌 -> 洗牌 -> 发牌 -> 排序 -> 比较大小 -> 游戏结果 * 游戏说明: * 1.创建一副扑克牌,不考虑大小王 * 2.创建两名玩家,玩家至少要有ID、姓名、手牌等属性,手牌为扑克牌的集合 * 3.洗牌,将之前创建的扑克牌顺序打乱 * 4.发牌,将洗牌之后的扑克牌集合,从第一张开始,发给两名玩家,按照一人一张的方式,每人发两张 * 5.开始游戏,比大小,大小相同比花色 * * PockerCard 类 * 功能:扑克牌的核心类 包括创建角色、创建牌、显示牌、洗牌、比较牌、排序牌等 * 属性:List cards 整幅扑克牌的集合 、 People[] peoples 角色 * 方法: public PockerCard() //无参构造函数: 创建牌的集合、创建两个角色对象 * public void initializeCard() //创建整幅扑克牌 * public void showCard() //显示单支牌的花色和点数 * public void refreshCard() //洗牌 从第一支牌开始从所有牌中随机取一只与之交换 * public void addPeopleInfo() //添加玩家的基本信息 * public void dealCard() //发牌 从开始分别给A B发牌 每人两支 * public void showPeopleCard() //显示两个角色自己获得的牌 * public void sortCard() //将每个角色自己的牌按从小到大排序 * public void comparePeopleCard() //比较角色的牌 * * SingleCard类 实现Comparable接口 * 功能:产生单支牌 * 属性:ID、color、keyID数组、keyColor数组 * 方法:public SingleCard(){} //无参构造函数 * public SingleCard(String ID,String color) //有参构造函数 * @Override public int compareTo(SingleCard o) //比较当前牌与SingleCard o的牌的大小 * * People类 * 功能:产生一个角色 * 属性:ID、Name、和、存储牌的List集合。 * 方法: public People() //初始化存储牌的List集合; *

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值