欢迎来到天天文库
浏览记录
ID:30775895
大小:113.50 KB
页数:9页
时间:2019-01-03
《javascript实现斗地主游戏的思路_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JavaScript实现斗地主游戏的思路木文知识给大家分享一下使用js写斗地主的思路,代码写的不好,还请见谅。这里说说斗地主主要包含的功能:洗牌,发牌,玩家出牌、电脑出牌,出牌规则的验证,输赢啥的没有判断,只是实现了这几个主耍功能,下面依次说说几个功能的实现:1.洗牌:varpukes二this.manage,pukes;//存放扑克牌的数组〃洗牌for(vari=;i2、ndcx]=tmp;}2•发牌(简版默认是玩家自己为地主,电脑为农民),由于前面洗牌时己经将牌的顺序打乱,所以发牌只是简单的循环把pukes屮的元素添加到每个玩家实例中的pukes字段中。//发牌varstart二;for(vari=;i3、・pukes,push(this,manage.pukes[i]);}for(vari二this,manage,pukes,length-;i4、脑和玩家自己两个步骤,电脑出牌是非常傻瓜的岀牌方式(有牌就岀):〃出牌if(this.options,player!ndex二二this.manage.curPlayerTndex){varspks二[Lgz=false;if(this,manage.curMaxPlayerIndex==this.options.playerindex){this,manage.deskPukes=[];}if(this.isCompute){//电脑自动出牌varstart=;varlen二this,manage.deskPukes.length!I;whi1e(start5、ength){spks二[];for(vari二,j=start;i6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute8、9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
2、ndcx]=tmp;}2•发牌(简版默认是玩家自己为地主,电脑为农民),由于前面洗牌时己经将牌的顺序打乱,所以发牌只是简单的循环把pukes屮的元素添加到每个玩家实例中的pukes字段中。//发牌varstart二;for(vari=;i3、・pukes,push(this,manage.pukes[i]);}for(vari二this,manage,pukes,length-;i4、脑和玩家自己两个步骤,电脑出牌是非常傻瓜的岀牌方式(有牌就岀):〃出牌if(this.options,player!ndex二二this.manage.curPlayerTndex){varspks二[Lgz=false;if(this,manage.curMaxPlayerIndex==this.options.playerindex){this,manage.deskPukes=[];}if(this.isCompute){//电脑自动出牌varstart=;varlen二this,manage.deskPukes.length!I;whi1e(start5、ength){spks二[];for(vari二,j=start;i6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute8、9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
3、・pukes,push(this,manage.pukes[i]);}for(vari二this,manage,pukes,length-;i4、脑和玩家自己两个步骤,电脑出牌是非常傻瓜的岀牌方式(有牌就岀):〃出牌if(this.options,player!ndex二二this.manage.curPlayerTndex){varspks二[Lgz=false;if(this,manage.curMaxPlayerIndex==this.options.playerindex){this,manage.deskPukes=[];}if(this.isCompute){//电脑自动出牌varstart=;varlen二this,manage.deskPukes.length!I;whi1e(start5、ength){spks二[];for(vari二,j=start;i6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute8、9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
4、脑和玩家自己两个步骤,电脑出牌是非常傻瓜的岀牌方式(有牌就岀):〃出牌if(this.options,player!ndex二二this.manage.curPlayerTndex){varspks二[Lgz=false;if(this,manage.curMaxPlayerIndex==this.options.playerindex){this,manage.deskPukes=[];}if(this.isCompute){//电脑自动出牌varstart=;varlen二this,manage.deskPukes.length!I;whi1e(start5、ength){spks二[];for(vari二,j=start;i6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute8、9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
5、ength){spks二[];for(vari二,j=start;i6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute8、9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
6、ukes[i].status){spks.push(this.pukes[i]);}}if(rules.valids(spks,this,memage.dcskPukcs)){gz二true;}else{alertC出牌不符合规则!〃);}}if(gz){this,manage.curMaxPlayerlndex二this,options.playerIndex;this.manage.deskPukes=[];for(vari二;i〈spks.length;i++){this.pukesLen--;this,manage.deskPukes.push(spks[i]);spks[i]
7、.status二false;}}this,manage.renderPukes();this,manage.renderCurDiscard();if(this.isCompute
8、
9、gz){this.manage,nextPlayer();}}else{alertr没轮到你出牌!”);}4•出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为岀牌符合规则://以下为出牌规则varrules={_rules:[newda
此文档下载收益归作者所有