- 1、本文档共144页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++麻将算法.docx
C++麻将游戏算法深入解析
?麻将是一种大家最喜爱的娱乐活动之一,相信所有人都有接触过。我写的这版算法,是可以吃,碰,杠,还有把牌摸完没有人胡时的皇庄和包听。是用控制台方式来表现的,什么?控制台?
? ? ? ?对,因为是算法的设计,所以用控制台来表现当然最简单了。
?
? ? ? 当然,在交互时要用文字输入会有少许不便,不过这种形式的游戏可是图形游戏的鼻祖哦~
?
? ? ?好,废话不多说了,来说一下设计思路:
?
? ? ?对于麻将的一个玩家,都有一个牌墙的管理,这里封装了一副牌墙的各种算法,这个类我命名为CMJ。
? ? ?另外还有一个洗牌类,负责洗牌和发牌。这个类为CMJManage。
?
? ? ?我们先来看一下CMJ类。
CMJ.h:
?
[cpp] ?
#ifndef _CMJ_H ?
#define _CMJ_H ?
//============================================ ?
//Author:Honghaier ?
//Date:2006-12-20 ?
//QQ:285421210 ?
//============================================ ?
#include HYPERLINK /os/windows/ \t _blank windows.h ?
#include iostream ?
#include vector ?
#include algorithm ?
using namespace std; ?
??
??
#define MJPAI_ZFB ? ? ? ? ? ? ? 0 ? //中,发,白 ?
#define MJPAI_FENG ? ? ? ? ? ? ?1 ? //东西南北风 ?
#define MJPAI_WAN ? ? ? ? ? ? ? 2 ? //万 ?
#define MJPAI_TIAO ? ? ? ? ? ? ?3 ? //条 ?
#define MJPAI_BING ? ? ? ? ? ? ?4 ? //饼 ?
#define MJPAI_HUA ? ? ? ? ? ? ? 5 ? //花 ?
??
#define MJPAI_GETPAI ? ? ? ? ? ?true ? ?//起牌 ?
#define MJPAI_PUTPAI ? ? ? ? ? ?false ? //打牌 ?
//节点信息 ?
struct stPAI ?
{ ?
? ? int ? ? m_Type; ? ? ? ? ? ? //牌类型 ?
? ? int ? ? m_Value; ? ? ? ? ? ?//牌字 ?
??
} ?
; ?
??
//吃牌顺 ?
struct stCHI ? ? ? ? ? ? ? ? ? ? ?
{ ?
? ? int ? ? m_Type; ? ? ? ? ? ? //牌类型 ?
? ? int ? ? m_Value1; ? ? ? ? ? //牌字 ?
? ? int ? ? m_Value2; ? ? ? ? ? //牌字 ?
? ? int ? ? m_Value3; ? ? ? ? ? //牌字 ?
} ?
; ?
// ?m_Type ? ? ?m_Value ?
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-// ?
// ?0 ? ? ? | ? 中 ? 1 ? 发2 ?白 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
// ? ? ? ? ?| ?
// ?1 ? ? ? | ? 东 1 西2 ?南 ? ? 北 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ?| ?
// ?2 ? ? ? | ? 一万 ?二万 ?…… ?九万 ?
// ? ? ? ? ?| ?
// ?3 ? ? ? | ? 一条 ?二条 ?…… ?九条 ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ?| ?
// ?4 ? ? ? | ? 一饼 ?二饼 ?…… ?九饼 ?
// ? ? ? ? ?| ?
// ?5 ? ? ? | ? 春 ? ? ? 夏 ? ? ? 秋 ? ? ? 东 ? ? ? 竹 ? ? ? 兰 ? ? ? 梅 ? ? ? 菊 ?
// ? ? ? ? ?| ?
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-// ?
??
??
??
//
文档评论(0)