
SERVICE PHONE
363050.com发布时间:2025-06-13 17:35:26 点击量:
开元棋牌,开元棋牌官网,开元棋牌下载,开元娱乐,棋牌游戏平台,棋牌真钱游戏,注册送彩金棋牌,棋牌游戏,棋牌平台
网络棋牌游戏,作为一个新生事物,从诞生到现在不过几年时间。随着互联网在我国的飞速发展,网络棋牌以其足不出户便能决胜于千里之外的独有魅力,早已将那些以往只能面对面博弈的棋友们,从棋桌上拉到了电脑屏幕前。这是世界棋牌运动的未来发展趋势[1]。
棋牌类游戏是网络游戏中非常流行的游戏种类,它简单易学、趣味性强,与其它大型网游相比,游戏设计和实现的难度相对较低[2]。本文首先将阐述网络棋牌游戏的背景和研究的意义,接着简单介绍基于VC++和开源的2D游戏引擎HGE设计的局域网对战“跑得快”游戏的一种实现方法。并介绍了套接字(SOCKET)的使用,多线程通信的实现,HGE引擎的简单使用以及HGE引擎中GUI(图形用户界面)的简单应用。该系统界面友好,功能实现起来容易,对编写棋牌游戏的入门有着很好的帮助。
中华民族是一个有着几千年悠久历史和璀璨文化的国家,而棋牌娱乐却早已突破了纯游戏的范畴而成为中国传统文化的一个分支。棋牌娱乐在中国拥有良好的群众基础好,得到了广泛的普及,在经过几千年的衍化之后,其精髓已经达到了登峰造极的地步。他旺盛的生命力非一般性娱乐项目所能比拟。而象棋、围棋这种国粹级娱乐方式在经过千百年来的不断发展后,已经成为民族文化不可分割的一个重要组成部分。
1992-1996年,中国网络游戏的“史前文明”时期,以《侠客行》为代表的文字网络游戏(Mud,中文译称“泥巴”)[3]游戏开始盛行, 它们类似于一个大的交互聊天室,是以文字叙述的形式来体现游戏性。比如一个玩家进入游戏,所有玩家就会受到一条信息:XXX骑着马飞驰而来。就是现在看似如此简单的游戏,写下了中国的网络游戏的第一页。
1998年6月,鲍岳桥、简晶、王建华始创的联众游戏世界,开始在东方网景架设游戏服务器[3],免费提供给国内上网用户围棋、中国象棋、跳棋、拖拉机、拱猪等共计5种网络棋牌游戏的服务,一代世界网络游戏巨人开始迈出了它的第一步。
1999年7月,网络创世纪(Ultima Online)民间模拟服务器出现[3],深圳、北京、上海等地先后出现了大量的模拟服务器,从那时起,国内的玩家们才开始实质性地接触到了真正的优秀的图形网络游戏。
2000年3月,联众创造网络竞技吉尼斯世界记录。联众在拓展海外市场时选择韩国,在联众游戏世界韩文版开始运行的同时,中韩合作双方联袂举办首届“中韩网络围棋对抗赛”,创下了当时规模最大的网络围棋比赛人数记录——12140人,该赛事创下吉尼斯世界纪录并得到吉尼斯的正式认证[3]。
2001年5月,“联众世界”成长为世界最大在线年多的迅速成长,联众已经发展到同时在线万的规模,一举成为全球最大的在线日,由国家新闻出版总署批准的、唯一全国性的游戏出版行业组织--中国出版工作者协会游戏工作委员会在京成立。
2003年9月,网络游戏正式被列入国家863计划,政府将投入500万支持原创网游开发,金山和世模成为863计划的第一批收益者。
近年来,我国经济发展,科技进步,网络文化市场也发展很快,为网络游戏市场的发展创造了条件。我国网络游戏市场发展迅速并进入了一个高速增长期,而在线棋牌也出现了许多生产和运营企业。而棋牌类游戏中最有影响力的还属联众,腾讯和中国游戏中心。联众是国内最有影响的棋牌类游戏网站,它致力于把拥有悠久文化传统和深厚群众基础的传统棋牌类游戏搬上网,在探索具有网络特色的比赛规则、比赛形式、比赛制度等方面,取得了大量有益的经验。“中国游戏中心”是由深圳电信运营维护的,作为全国最知名的综合游戏网站之一,其拥有9000多万的注册用户,娱乐平台繁忙时的同时在线月推出的QQ游戏中心,在其主流通信软件腾讯QQ的强大影响力下吸引了巨大的用户群,目前已经拥有了9款成熟的棋牌游戏,目前最高在线家知名的棋牌游戏公司外,各地方性的棋牌公司也层出不穷,比如赖子山庄、红心棋牌、黄金岛、踢狗、凤凰山庄、边锋以及一向低调行事却快速发展的金游世界等,他们都有着本地棋牌游戏的特色。各自占据了本地的市场。
网络棋牌,作为一个新生事物,从诞生到现在不过几年时间。但随着互联网在我国的飞速发展,网络棋牌以其足不出户便能决胜于千里之外的独有魅力,早已将那些以往只能面对面博弈的棋友们,从棋桌上拉到了电脑屏幕前。这是世界棋牌运动的未来发展趋势。
近年来,我国经济发展,科技进步,网络文化市场也发展很快,为网络游戏市场的发展创造了条件。我国网络游戏市场发展迅速并进入了一个高速增长期,而网络棋牌,作为其一个重要的部分,也在飞速发展。不仅出现了如联众,中国游戏中心,腾讯等知名的游戏平台,赖子山庄、红心棋牌、黄金岛、踢狗、凤凰山庄、边锋以及金游世界等有着浓重地方特色的游戏平台也纷纷出现占据了不同的省份和地市[4],在短短的10几年的发展中棋牌娱乐平台制作更加得精美,系统功能更加完善、互动性更加强,还出现了像是视频棋牌游戏等吸引人的新形式,吸引了越来越多的用户,且都收到了十分不错的效益。
随着休闲网络游戏市场竞争的升级,尤其是网络棋牌游戏的巨大市场前景的吸引,许多公司都加入到棋牌游戏的竞争之列,竞争十分激烈。目前全国流行的棋牌游戏市场(斗地主、象棋、军旗、梭哈)已经基本被几个大的游戏厂商(联众、腾讯、边锋、远航、中游)所占据。由于中国不同的省份都有自己独特的文化特性,各个省份也都有自己区域内流行的有别其他省份的扑克或者麻将的规则,地方棋牌游戏,这块市场现在正处于高速成长阶段。因此,研究与实现区域性棋牌游戏的设计与实现具有现实意义。本系统是基于VC++和开源的2D引擎HGE的局域网对战游戏,系统结构是C/S结构[5],主要功能是三个人在局域网内能够实现牌类型游戏跑得快的对战。既锻炼了软件系统开发能力,也提高了对理论知识的理解。
跑得快:跑得快打一副牌时,也称为“关牌”,主要流行于江浙一带,大学校园当中亦很盛行。游戏规则类似北方流行的“斗地主”。此游戏的目的是想方设法地将自己手中的牌尽快打出去,谁先把手中的牌出完,即为胜。
(2) 使用HGE引擎中的GUI(图形用户界面)对图形进行操作实现出牌。
网络棋牌游戏是一个广阔的市场,很多公司看见了其中的商机,随之而来的各种游戏平台如雨后春笋般得出现。至2008年,国内的棋牌平台已经呈现割据状态,陆续出现了许多中小平台,打着本地游戏的旗帜,分别占据了不同的省份和地市。这些棋牌游戏极大的丰富了人们网络娱乐生活的作用,也给各公司带来了客观的利润。
(5) 游戏操作介绍:在进行游戏前都有本棋牌游戏规则的介绍,方便玩家能更好得了解而本棋牌游戏,从而能更好得进行游戏
(6) 记分系统:每个玩家的进行游戏后系统会根据输赢状况按照规则对玩家进行记分,并计算出玩家在本游戏中的总分,胜率等等,并且根据不同的分数有着不同的头衔。
(7) 聊天系统:在玩家进行游戏的界面上都有聊天框,方便各各玩家间的交流。
(8) 分级模式:有着如新手场,普通场,高手场等等按照分数把各个水平的玩家分开,能让玩家们更好得寻找合适自己的对手,这样能更好地使玩家们找到游戏带来的乐趣。
Visual C++开发环境是一个基于Windows操作系统的可视化、面向对象的集成开发环境(Integrated Development Environment, IDE)。在该环境下用户可以开发有关C和C++的各种应用程序,应用程序包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单选项或工具栏按钮来完成,使用方便、快捷。它提供了项目区( Workspace )、应用程序向导(AppWizard)、类操作向导(Class Wizard)和Wizard Bar等实用编程工具。
正文窗口一般在开发平台的右上部分。程序文件、资源文件、文档文件以及帮助信息等,都可以通过主窗口显示出来。用户可以同时打开多个正文窗口,对每个窗口都可以进行一般Windows窗口的操作,并且可以通过Window菜单中选定特定的窗口或者用鼠标来激活自己想要切换的窗口。
Workspace窗口一般在集成开发环境的左侧。打开一个工程后,该窗口的下端会出现3个标签,它们是:Class View(类视图),Resource View(资源视图), File View(文件视图)。单击某个图标标签会出现相应的页面。如图2-1所示。
HGE-Haafs Game Engine[8]:是一套十分易用的硬件加速2D游戏引擎。它基于DX8,运行于各种Win32平台,同时支持VC,BC,MinGW多种编译环境。它使用“The zlib/libpng license”协议发布,可以自由地使用在包括商业性质的项目上。具有1.专为2D游戏项目提供2. 接口简单且易于扩展3. 完善的文档4. 使用自由等特性。
bool FrameFunc()//逻辑函数,程序开始后HGE将不停调用它,一些逻辑判断或者处理可以写在这里。
如此一个简单的HGE引擎框架就完成我们可以在RenderFunc()和FrameFunc()添加逻辑代码,实现游戏的功能。
本系统是基于VC++和开源的2D游戏引擎HGE的局域网对战游戏,系统结构是C/S结构,通过套接字(SOCKET)[10]进行通信,当有3个用户连接服务器通过服务器进行随机的发牌,主实现三个人在局域网内跑得快的对战。
HGE - Haafs Game Engine:是一套十分易用的硬件加速2D游戏引擎。它基于DX8,运行于各种Win32平台,同时支持VC,BC,MinGW多种编译环境。它使用“The zlib/libpng license”协议发布。具有1.专为2D游戏项目提供2. 接口简单且易于扩展3. 完善的文档4. 使用自由等特性。
Visual C++开发环境是一个基于Windows操作系统的可视化、面向对象的集成开发环境(Integrated Development Environment,IDE)。在该环境下用户可以开发有关C和C++的各种应用程序,应用程序包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单选项或工具栏按钮来完成,使用方便、快捷。
(5) 自动出牌:有简单的AI(人工智能),玩家需要暂时离开的时候辅助出牌。
服务器端使用C++的MFC类库进行设计,主要功能是为用户进行发牌和数据的互相传递。服务器流程图如图3-3所示:
客户端使用开源的2D游戏引擎HGE(HAAF’S GAME ENGINE)设计,实现游戏界面,实现发送出牌的数据,接收他人的出牌数据,以及对出牌进行判断是否符合规则。并且在结束本局游戏后对玩家的分数进行统计。客户端流程图如图3-4所示:
服务器端为使用C++的MFC类库进行设计的一个对线创建对线套接字及地址的初始化
创建完成以后在stdafx.h头文件中添加套接字头文件afxsock.h,且在工程初始化函数InitInstance()中初始化套接字:
然后定义一个套接字SOCKET Soliten用于侦听,定义一个SOCKADDR_IN addr用于设定地址族,IP地址和端口号。并且在对话框初始化函数OnInitDialog()进行初始化。
创建一个套接字组SOCKET clisocket[3];用来存放客户端连接成功后的数据:
然后使用recv();函数和send();函数进行数据的接收和转发。在接收数据时候使用select来判断该套接字上是否有响应。