毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

VC++长沙麻将毕业设计论文 第2页

更新时间:2008-4-19:  来源:毕业论文

VC++长沙麻将毕业设计论文 第2页

1.需求分析

在设计游戏之前,应先作游戏项目的需求分析,它主要包括游戏规则的描述和游戏功能需求.

 

1.1游戏规则描述

牌数

共一百零八张:筒、索、万,不带东、南、西、北风、中、发、白。

摸牌

游戏在一开始,只有庄家可得到十四张牌,其余的人十三张。庄家从牌中选出一张最无用的牌丢出。此时,其它三家都有权力要那张丢出的牌。庄家的下家(右手边的玩者),有权力吃或碰那张牌,其它两家则只可碰或杠那张牌。 “ 碰 ” 比 “ 吃 ” 优先。

庄家

庄家确定方法:

A 、第一局由系统随机分配庄家。

B 、以后谁胡牌,下局谁做庄。

C 、如果有人要了海底牌后却没人胡则要海底牌的玩家下局当庄家。

D 、如果四个玩家都不要海底牌,则下轮由第一个可以选择海底牌的玩家当庄家。

E 、如果出现通炮情况,则下轮由放炮玩家当庄家。

F :如果此局无海底牌(即海底牌被补张),则补海底牌的玩家下局当庄家。

G :如果起手后,出现 2 个或 2 个以上的玩家胡(即天胡、四喜、优优顺、缺一色、板板胡五种牌型)则中鸟的玩家下局当庄家。

胡牌规则

1 、基本牌型

1 11 123 123 123 123

2 11 123 123 123 111(1111 ,下同 )

3 11 123 123 111 111

4 11 123 111 111 111

5 11 111 111 111 111

注:一对( 11 )是将牌,长沙麻将需要二、五、八做将,比如二万、五条、八筒等。如果是某些牌型则将可以为任意一对。

2 、小胡

1 、四喜:起完牌后,玩家手上已有四张一样的牌,即可胡牌。(四喜计分等同小胡自摸)

2 、板板胡:起完牌后,玩家手上没有一张 2 5 8 (将牌),即可胡牌。(等同小胡自摸)

3 、缺一色:起完牌后,玩家手上筒、索、万任缺一门,即可胡牌。(等同小胡自摸)

4 、优优顺:起完牌后,玩家手上已有 2 个刻子(刻子:三个一样的牌),即可胡牌。(等同小胡自摸)

5 、小胡: 2 5 8 作将,其余成刻子或顺子,即可胡牌。

3 、大胡

1 、天胡:单指庄家。庄家起牌后,即已经胡牌。

2 、地胡:指闲家。当庄家打出第一张牌时,给闲家点炮。

3 、碰碰胡:乱将,可碰,可杠,可自摸。

4 、将将胡:玩家手上每一张牌都为 2 5 8 ,可碰。

5 、清一色:乱将,有筒、索、万三种。任意一种可吃可碰。

6 、海底捞月:最后一张牌为海底。海底胡牌,为大胡,需要将(将的种类根据当前牌型决定)。说明:长沙麻将中,海底牌可漫游。即轮到第一个玩家摸,他不要,则按照次序第二个玩家可要,依此类推。

7 、海底炮:如果甲玩家要了海底,而又不能胡牌;乙玩家没有要得到海底,而又可以胡这张海底牌,即为乙玩家胡牌。同样如果丙和丁能胡则通胡。

8 、七小对:胡牌时,手上任意七对牌。

9 、杠上开花:玩家有四张一样的牌,即可选择开杠掷骰子(听牌的情况下)。补张牌的计数方法为:从最后一张牌计算,倒数,骰子开几点,即取倒数第几叠牌的最上面一张(如最上一张没有则取下方一张)。一旦补张的牌能被开杠者胡则算大胡。

10 、抢杠胡:暗杠不能抢杠胡, 只有明杠可以抢胡。玩家在明杠的时候,其他玩家可以胡被杠的此张牌,叫抢杠胡;

11 、杠上炮:如果开杠者掷骰子补张,补张的牌开杠者若不能胡而其他玩家可以胡属于杠上炮,若胡,则属于杠上开花。

 

 

1.2游戏功能需求分析

游戏功能是一个网络游戏中最基本的功能,也是其他系统运行的基础平台.游戏界面需求和游戏功能需求的两大部分.

A.   游戏界面需求分析

(1)    身份验证窗口

使用客户端软件登录游戏时,弹出身份验证窗口,必须输入正确的用户名和密码以及IP端口, 否则提示重新输入.服务器检验用户合法后,该用户就可进入其单击的房间.

(2)    房间页面

房间页面可有桌子和用户名登录框, 用户名登录框无人时为白,用单击任意空框可进该位置上.等四人都进入,则开始进入打牌状态.

B. 游戏功能需求分析

(1)游戏启动

如果游戏4人都进入,游戏就启动.

(2)自动发牌

游戏启动后,服务器随机将牌发4个用户,只有庄家可得到十四张牌,其余的人十三张.用户只能看到自己的牌,其他用户的牌显示为背面.用户始终坐在正下方的位置(南侧),牌的顺序默认为万、条、筒、东南西北发(自左到右),各花色按大小顺序排列。发牌结束后自动进入打牌阶段。

3)打牌阶段

打牌过程是按顺时针依次进行。庄家先从牌中选出一张最无用的牌丢出。此时,其它三家都有权力要那张丢出的牌。庄家的下家(右手边的玩者),有权力吃或碰那张牌,其它两家则只可碰或杠那张牌。 优先等等。

 

2.总体设计说明

针对以上的需求分析,把软件分成四部分:网络连接模型、文件传输模型、算法的分析、麻将实现来介绍。

2.1网络连接模型

TCP/IP网络中两个进程间的相互作用的主机模式是客户端/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:

 

首先服务器方要先启动,并根据请示提供相应服务

1、       打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。 

2、等待客户请求到达该端口。

3、接收到重复服务请求,处理该请求并发送应答信号。

4、返回第二步,等待另一客户请求  

5、关闭服务器。  

客户端:  

1、打开一通信通道,并连接到服务器所在主机的特定端口。  

2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……  

3、请求结束后关闭通信通道并终止。

基本套接字  

为了更好说明套接字编程原理,给出几个基本的套接字,在以后的篇幅中会给出更详细的使用说明。  

1、创建套接字——socket()  

功能:使用前创建一个新的套接字  

格式:SOCKET PASCAL FAR socket(int af,int type,int procotol);  

参数:af: 通信发生的区域  

type: 要建立的套接字类型  

procotol: 使用的特定协议

2、指定本地地址——bind()  

功能:将套接字地址与所创建的套接字号联系起来。 

 格式:int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen);  

参数:s: 是由socket()调用返回的并且未作连接的套接字描述符(套接字号)。  

其它:没有错误,bind()返回0,否则SOCKET_ERROR  

地址结构说明:struct sockaddr_in

{

short sin_family;//AF_INETu_

short sin_port;//16位端口号,网络字节顺序

struct in_addr sin_addr;//32IP地址,网络字节顺序

char sin_zero[8];//保留

}

3、建立套接字连接——connect()accept()  

功能:共同完成连接工作  

格式:int PASCAL FAR connect(SOCKET s,const struct sockaddr FAR * name,int namelen);  

OCKET PASCAL FAR accept(SOCKET s,struct sockaddr FAR * name,int FAR * addrlen);  

参数:同上

4、监听连接——listen()  

功能:用于面向连接服务器,表明它愿意接收连接。  

格式:int PASCAL FAR listen(SOCKET s, int backlog);

5、数据传输——send()recv()  

功能:数据的发送与接收  

格式:int PASCAL FAR send(SOCKET s,const char FAR * buf,int len,int flags); 

 int PASCAL FAR recv(SOCKET s,const char FAR * buf,int len,int flags);  

参数:buf:指向存有传输数据的缓冲区的指针。   

6、多路复用——select()  

功能:用来检测一个或多个套接字状态。  

格式:int PASCAL FAR select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds, fd_set FAR * exceptfds,const struct timeval FAR * timeout);

参数:readfds:指向要做读检测的指针    writefds:指向要做写检测的指针     exceptfds:指向要检测是否出错的指针     timeout:最大等待时间

7、       关闭套接字——closesocket()  

功能:关闭套接字s  

格式:BOOL PASCAL FAR closesocket(SOCKET s);

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

VC++长沙麻将毕业设计论文 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。