网页版 html5 斗地主,HTML5版单机斗地主

本文中所使用的JControls、JFunction和ResourceData在前面的《学习HTML5开发RPG游戏》中都有提到,这里不再重述,详细情况,大家可以查看本文最后的源码。

1、初始化界面及游戏

var DJDDZ={};

DJDDZ.Init=function(canvasID){

JFunction.PreLoadData(GMain.URL).done(function () {

JMain.JForm=new JControls.Form(GMain.Size,canvasID).setBGImage(ResourceData.Images.bg1);

JMain.JForm.clearControls();

GMain.BtnPanel=new JControls.Object({x:100,y:280},{width:600,height:50});//用于显示游戏控制按钮

GMain.PokerPanel0=new GControls.PokerPanel({x:100,y:5},{width:600,height:120},0,0);//用于显示底牌,显示对象存储在GMain.Poker[0]

GMain.PokerPanel1=new GControls.PokerPanel({x:200,y:355},{width:400,height:120},1,20);//用于显示自己的牌,显示对象存储在GMain.Poker[1]

GMain.PokerPanel2=new GControls.PokerPanel({x:695,y:60},{width:100,height:440},2,25);//用于显示右边电脑的牌,显示对象存储在GMain.Poker[2]

GMain.PokerPanel3=new GControls.PokerPanel({x:5,y:60},{width:100,height:440},3,25);//用于显示左边电脑的牌,显示对象存储在GMain.Poker[3]

GMain.PokerPanel4=new GControls.PokerPanel({x:200,y:150},{width:400,height:120},4,20);//用于显示出的最后一手牌,显示对象存储在GMain.Poker[4]

var BeginButton=new JControls.Button({x:235,y:0},{width:130,height:50}).setText("开始").setBGImage(ResourceData.Images.btn);

BeginButton.onClick=function(){

GMain.BtnPanel.visible=false;

DJDDZ.Dealing();

}

GMain.BtnPanel.addControlInLast([BeginButton]);

JMain.JForm.addControlInLast([GMain.PokerPanel0,GMain.PokerPanel1

,GMain.PokerPanel2,GMain.PokerPanel3,GMain.PokerPanel4,GMain.BtnPanel]);

DJDDZ.InitGame();

JMain.JForm.show();

});

}

DJDDZ.InitGame=function(){

GMain.Poker=[];

for(var i=0;i<5;i++)GMain.Poker[i]=[];//初始化扑克对象存储空间

for(var j=0;j<54;j++)GMain.Poker[0][j]=new GControls.Poker(j+1);//生成扑克对象

GMain.PokerPanel0.hidePoker=true;//hidePoker为true,显示扑克背面

GMain.PokerPanel1.hidePoker=false;//hidePoker为false,显示扑克正面

GMain.PokerPanel2.hidePoker=true;

GMain.PokerPanel3.hidePoker=true;

GMain.PokerPanel4.hidePoker=false;

GMain.PokerPanel1.toSelectPoker=false;

GMain.PokerPanel0.density=1;//设置扑克牌显示密度

GMain.ToPlay=false;

GMain.LastHandPokerType=null;

GMain.DealingNum=0;

GMain.DealerNum=JFunction.Random(1,3);

GMain.BeginNum=GMain.DealerNum;//初始化发牌起始标识

}

2、点击开始按钮后开始发牌

DJDDZ.Dealing=function(){//发牌

if(GMain.DealingHandle)clearTimeout(GMain.DealingHandle);

if(GMain.DealingNum>=51) {//已发完牌

GMain.MaxScore=0;

GMain.GrabTime=0;

GMain.PokerPanel0.density=105;

DJDDZ.GrabTheLandlord();//抢地主

}else{

if(GMain.DealerNum>3) GMain.DealerNum=1;

var r=JFunction.Random(0,GMain.Poker[0].length-1);

GMain.Poker[GMain.DealerNum].splice(GMain.Poker[ GMain.DealerNum].length,0,GMain.Poker[0][r]);

GMain.Poker[0].splice(r,1);

GMain.DealingNum++;

GMain.DealerNum++;

GMain.DealingHandle=setTimeout(DJDDZ.Dealing, 40);//40毫秒发一张牌

JMain.JForm.show();

}

}

3、抢地主

DJDDZ.GrabTheLandlord=function(){//抢地主

if(GMain.GrabTime==3&&GMain.MaxScore==0){//没有人抢地主

DJDDZ.GameOver();

return;

}

if(GMain.MaxScore==3||(GMain.MaxScore>0&&GMain.GrabTime==3)){//地主已产生

GMain.DealerNum=GMain.LandlordNum;

GMain.LastHandNum=0;

GMain.PokerPanel0.hidePoker=false;

地主多人网页版游戏V3,完美与论坛积分结合,消耗会员积分,支持X1.5-X3.0本!   游戏特点:   1.可与社区积分数据共享-消耗用户积分(可控制积分消耗数量)。   论坛积分就像是一个国家的货币一样,只有流动起来才能发挥价值,进而提升社区价值;而实际情况是,一些发展有些年限的社区,其会员往往积累了大量积分,而且这些积分的消费处于停滞状态。   让会员参与游戏,那么又要花力气赚取积分,又要消费积分,对社区来说将增加会员活跃度以及促进社区积分流动两不误,用途还是非常大的,我们的口号是让社区的积分流动起来!    2.提高用户之间的粘度与活跃度,提高用户发贴的积极性,增加用户交流途径。    3.斗地主是一种扑克游戏。游戏最少由3个玩家进行,用一副54张牌,其中一方为地主,其余两家为另一方,双方对战,先出完牌的一方获胜。   该扑克游戏最初流行于中国湖北,现已逐漸在各地流行 。    斗地主网络是问答娱乐推出的一套多人网络联机牌类游戏,网络包括高性能服务端 加网页Flash客户端 。   特别说明本是本地安装服务端,服务端需要有独立主机或 VPS才能运行起来   用户数据全部储存在您的服务器上,非第三方接入应用   *游戏服务端需要运行在有EXE权限的主机上,配置好IP   客户端则提高了浏览器的兼容性,各种浏览器都可以正常登陆。 斗地主最近更新: 不出牌自动转为托管 增加快牌场 房间名字可自定 牌可拖选   服务端更新: 通过连续多天外网不重启测试   通过多人外网游戏测试   加入并完善了防作弊自动匹配功能   修复启动.exe设置按钮点击无反应问题   discuz积分字段增加自定义4-8   聊天室脏话和广告过滤功能。 安全:登陆时加入了session验证 服务端传输的数据加入了校验码,可防止非法的篡改数据攻击 性能: V3本的程序全部基于微软.net 4.0框架编写和构建,支持xp sp3 ,win7,win server 2008 的32/64位操作系统 游戏服务支持最大3000人同时在线 帐号服务支持最大170万帐号存储与登录,同时每次启动时会清理(防止有些会员改了密码上不去)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值