外国人评论斗地主说说无聊斗地主竟然出来了

【我要说说】好无聊 有没有斗地主啊什么的【海职高吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:28,383贴子:
【我要说说】好无聊 有没有斗地主啊什么的收藏
翡翠原石:购买、加盟、批发-高货翡翠原石尽在鑫劦飞翡翠年代翡翠原石集团
这个高级的游戏我没玩过 要么你还是砍死我算了
放学到家就欢乐斗地主
2个号输完就看电视 每天2集更新看完就无聊了
登录百度帐号推荐应用最近闲了两天没事做,用js写了个斗地主,练习练习。代码和功能都很简陋,还有bug,咋只是聊聊自己的思路。
这里说说斗地主主要包含的功能:洗牌,发牌,玩家出牌、电脑出牌,出牌规则的验证,输赢啥的没有判断,只是实现了这几个主要功能,下面依次说说几个功能的实现:
  1.洗牌:
1 var pukes=this.manage.//存放扑克牌的数组
3 for(var i=0;i&pukes.i++){
var tmp=pukes[i];
var index=util.random(i,pukes.length);//随机交换两张牌
pukes[i]=pukes[index];
pukes[index]=
  2.发牌(简版默认是玩家自己为地主,电脑为农民),由于前面洗牌时已经将牌的顺序打乱,所以发牌只是简单的循环把pukes中的元素添加到每个玩家实例中的pukes字段中。
var start=0;
for(var i=0;i&this.manage.pukes.length-3;i++) {
if(start==this.manage.players.length){
this.manage.pukes[i].status=true;
this.manage.players[start].pukesLen++;
this.manage.players[start++].pukes.push(this.manage.pukes[i]);
for(var i=this.manage.pukes.length-3;i&this.manage.pukes.i++){
//地主多三张
this.manage.pukes[i].status=true;
this.manage.players[this.manage.curPlayerIndex].pukesLen++;
this.manage.players[this.manage.curPlayerIndex].pukes.push(this.manage.pukes[i]);
  3.玩家出牌,玩家出牌分为电脑和玩家自己两个步骤,电脑出牌是非常傻瓜的出牌方式(有牌就出):
if(this.options.playerIndex==this.manage.curPlayerIndex) {
var spks = [],gz=false;
if (this.manage.curMaxPlayerIndex == this.options.playerIndex) {
this.manage.deskPukes = [];
if (this.isCompute) {
//电脑自动出牌
var start = 0;
var len=this.manage.deskPukes.length||1;
while (start & this.pukes.length) {
spks = [];
for (var i = 0,j= i &len&&j&this.pukes. i++) {
//随便选一张 可以出就行
if(this.pukes[j].status) {
spks.push(this.pukes[j++]);
if(spks.length) {
if (rules.valids(spks, this.manage.deskPukes)) {
gz = true;
//玩家选择出牌
for (var i = 0; i & this.pukes. i++) {
if (this.pukes[i].selected && this.pukes[i].status) {
spks.push(this.pukes[i]);
if (rules.valids(spks, this.manage.deskPukes)) {
alert("出牌不符合规则!");
this.manage.curMaxPlayerIndex=this.options.playerI
this.manage.deskPukes = [];
for (var i = 0; i & spks. i++) {
this.pukesLen--;
this.manage.deskPukes.push(spks[i]);
spks[i].status = false;
this.manage.renderPukes();
this.manage.renderCurDiscard();
if(this.isCompute||gz) {
this.manage.nextPlayer();
alert("没轮到你出牌!");
  4.出牌规则的验证,是很多函数组合起来,然后循环调用,如果遇到返回ture的即为出牌符合规则:
1 //以下为出牌规则
2 var rules={
new danzRule(),
new duiRule(),
new sandRule(),
new zandRule(),
new shunzRule(),
new liandRule()
valids:function(_pukes,_curPukes){
for(var i=0;i&this._rules.i++){
if(this._rules[i].valid(_pukes,_curPukes)){
return true;
return false;
21 function danzRule(){
//单张规则
24 danzRule.prototype.valid=function(_pukes,_curPukes){
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&pukes.length==1){
//比较牌面值
if(!curPukes||!curPukes.length){
return true;
if(curPukes[0].dians==2&&pukes[0].dians&15){
//2特殊处理
return false;
if(pukes[0].dians==2&&curPukes[0].dians&15){
//2特殊处理
return true;
return pukes[0].dians&curPukes[0].
return false;
46 function duiRule(_pukes,_curPukes){
//两张规则
50 duiRule.prototype.valid=function(_pukes,_curPukes){
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&pukes.length==2){
//比较牌面值
if(pukes[0].dians&14&&pukes[1].dians&14){
return true;
if(pukes[0].dians!=pukes[1].dians){
return false;
if(!curPukes||!curPukes.length){
return true;
if(curPukes.length!=2){
return false;
if (curPukes[0].dians & 14 && curPukes[1].dians & 14) {
return false;
if (curPukes[0].dians != curPukes[1].dians) {
return false;
if (curPukes[0].dians == 2) {
return false;
if(pukes[0].dians==2){
return true;
return pukes[0].dians&curPukes[0].
return false;
86 function sandRule(){
89 sandRule.prototype.valid=function(_pukes,_curPukes){
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&(pukes.length&=3)){
//比较牌面值
var books=getBooks(pukes);
if(!valid(books))return false;
if(!curPukes||!curPukes.length)return true;
if(curPukes.length!=books.length)return false;
var books2=getBooks(curPukes);
if(!valid(books2))return false;
return getSum(books)&getSum(books2);
return false;
function getSum(books){
var sum=0;
for(var i=0;i&books.i++) {
if(books[i]==3){
if(i==2)return 9999;
function valid(books){
//验证三带是否有效
var counts3= 0,countsd= 0,d2=true,start=false,startIndex=-1;
for(var i=0;i&books.i++) {
if(start&&books[i]==3&&startIndex!=(i-1)){
return false;
startIndex=i;
if(books[i]==3){
if(!start) {
start = true;
startIndex =
counts3++;
if(books[i]==1){
for(var i=0;i&books.i++) {
if(d2&&books[i]==2){
countsd++;
else if(!d2&&books[i]==1){
countsd++;
return counts3&0&&counts3==
function getBooks(pukes){
//返回三带的每个点数的个数
var books=[];
for(var i=0;i&pukes.i++){
if(!books[pukes[i].dians]){
books[pukes[i].dians]=1;
books[pukes[i].dians]++;
165 function zandRule(){
168 zandRule.prototype.valid=function(_pukes,_curPukes){
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&pukes.length==4) {
if(!allEqual(pukes)){
return false;
if(!curPukes||(curPukes.length&0&&curPukes.length!=4)||!allEqual(curPukes)){
return true;
if(pukes[0].dians==2){
return true;
if(curPukes[0].dians==2){
return false;
return pukes[0].dians&curPukes[0].
return false;
function allEqual(pukes){
if(!pukes||!pukes.length)return false;
var base=pukes[0].
for(var i=1;i&pukes.i++){
if(base!=pukes[i].dians){
return false;
return true;
204 function liandRule(){
207 liandRule.prototype.valid=function(_pukes,_curPukes) {
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&pukes.length&=6) {
if(!verificationCoherence(pukes)){
return false;
if(!curPukes||curPukes.length&=0){
return true;
if(!verificationCoherence(curPukes)){
return false;
if(pukes.length!=curPukes.length){
return false;
return getSumDians(pukes)&getSumDians(curPukes);
return false;
function getSumDians(pukes){
var sum=0;
for(var i=0;i&pukes.i++) {
sum+=pukes[i].
function verificationCoherence(pukes){
//验证连贯性
if(!pukes||!pukes.length)return false;
var books=[];
for(var i=0;i&pukes.i++){
if(pukes[i].dians==2||pukes[i].dians&14){
return false;
if(!books[pukes[i].dians]){
books[pukes[i].dians]=1;
books[pukes[i].dians]++;
if(books[pukes[i].dians]&2){
return false;
var start=false;
for(var i=0;i&books.i++) {
if(books[i]&&books[i]!=2){
return false;
if(books[i]==2&&!start){
start=true;
if(start&&books[i]!=2){
return false;
return true;
268 function shunzRule(){
271 shunzRule.prototype.valid=function(_pukes,_curPukes){
var pukes=_//玩家的牌
var curPukes=_curP//左面的牌
if(pukes&&pukes.length&=5) {
if(!verificationCoherence(pukes)){
return false;
if(!curPukes||curPukes.length&=0){
return true;
if(!verificationCoherence(curPukes)){
return false;
if(pukes.length!=curPukes.length){
return false;
return getSumDians(pukes)&getSumDians(curPukes);
return false;
function getSumDians(pukes){
var sum=0;
for(var i=0;i&pukes.i++) {
sum+=pukes[i].
function verificationCoherence(pukes){
//验证连贯性
if(!pukes||!pukes.length)return false;
var books=[];
for(var i=0;i&pukes.i++){
if(pukes[i].dians==2||pukes[i].dians&14){
return false;
if(!books[pukes[i].dians]){
books[pukes[i].dians]=1;
return false;
var start=false;
for(var i=0;i&books.i++) {
if(books[i]==1&&!start){
start=true;
if(start&&!books[i]){
return false;
return true;
  以上4步,是我认为的主要的4个函数,其他的函数,如初始化,事件注册等,在源码已有注释,写的不好勿喷。
& & 附上源码:
阅读(...) 评论()经典一句话心情个性说说_人生就像斗地主_经典说说-酷酷吧
坚持原创精选
经典一句话心情个性说说_人生就像斗地主
1、说真的我不敢太在乎那么多,因为我知道越在乎失去的就越多。2、不管你对多少异性失望,你都没有理由对爱情失望。3、有一种爱叫快乐,只不过是自我敷衍的离开。4、让别人开心不难,难的是让自己开心。5、我妈说了,我在玩游戏的时候,谁要是打扰我,就给他灌瓶妇炎洁。6、给予就会被给予,剥夺就会被剥夺。7、本Q号无人驾驶聊天纯属自作主张有什么要求务必要尽量满足它否则后果自负。8、以往的快乐、随着泪水的消失而消失。9、最能让人感到快乐的事,莫过于经过一番努力后,所有东西正慢慢变成你想要的样子。10、人生就像斗地主,一切都是未知数11、有你在身边的每一天都感到生活丰富多彩,想对你说:你的好,你的坏,都将是我一生的钟爱!12、坚强的人只能救赎自己,伟大的人才能拯救他人。在大学,刻意通过考试一般有3种方式:第一,作弊;第二,找老师拉关系;第三,刻苦攻读!毕业13、姐不想玩躲躲猫了,姐要做回自己!!14、和聪明人交流,和靠谱的人恋爱,和积极的人共事,和幽默的人随行。15、生物课上老师问:如何才能正确分辨章鱼的手和脚?学生答:放个屁给它闻,会捂住鼻子的就是手,其他的就是脚。全班皆倒。16、爱上了你,我才领略思念的滋味、分离的愁苦和妒忌的煎熬,还有那无休止的占有欲为什么你的一举一动都让我心潮起伏?为什么我总害怕时光飞逝而无法与你终生厮守?17、好想假装跑太快不小心和你撞个满怀呀18、失败不是真正意义上的终结,而是另一个探索的开始。19、世界上有两种人可以得到快乐和幸福:一是修善不造罪的人,一是造罪知道忏悔的人。20、我愿意用自己一辈子的桃花运换一个对的人21、能和你走到最后,能和你经历风雨的女人往往都是那些你忽视的女人。22、倾听一段安静的旋律、用一晃想念的时间23、你走了,把我们的未来留在了我的世界里,让我一个人独自用梦去构筑。我只能守候着曾经的那些诺言和誓言,幻想着未来的日子。24、没有任何一种感情是完美无缺的,我们都是感情的裁缝,缝缝又补补。25、一个人身边的位置只有这么多,你能给的也只有这么多,在这个狭小的圈子里,有人要进来,有一些人不得不离开。26、别以为你上课发短信我不知道、 有谁会对着自己的裤裆傻笑 。27、做你想做的自己自然有懂你的人爱你.28、生活,是一种缓缓如夏日流水般地前进,我们不要焦急我们三十岁的时候,不应该去急五十岁的事情,我们生的时候,不必去期望死的来临,这一切,总会来的。29、原来我们都变了,变得不轻易笑了,不再为自由活着,却被生活捆绑着,拥有太多却不够深刻。30、心是个口袋,什么都不装时叫心灵;装一点时叫心眼;装得多时叫心计;装更多时叫心机;装得太多就就心事;装得再多就成了心病了。31、不记得自己唾得不舒服的人就是唾了一 个好觉。32、无论你觉得自己多么的不幸,永远有人比你更加不幸。无论你觉得自己多么的了不起,也永远有人比你更强。33、当你真正爱一样东西的时候你就会发现语言多么的脆弱和无力,文字与感觉永远有隔阂。34、我可以不闻也不问不见也不贱但想念和难过怎么隐藏35、一座城伤一次.换来换去.没有一座城能让我定下心来...36、爱情是醇酿的酒,盛在瓶子里的时候,晶莹剔透,流光溢彩,让人心仪。倒在杯子里的时候,味香色醇,光彩照人,让人心动。喝进口里的时候,酒掩去了一切虚幻的光彩,留下的是涩涩的真实,辣辣的,苦苦的。37、世上许多事情是我们难以预料的,总会遇到很多不如意的事。38、曾经无数次的擦肩而过,衣服都擦破了,也没擦出火花!39、想你,但不打扰,静静的思念就好,把最后一点尊严留给自己。40、有时候,不小心知道了一些事,才发现自己所在乎的事情是那么可笑,不要以为你放不下的人同样会放不下你,鱼没有水会死,水没有鱼却会更清澈。}

我要回帖

更多关于 自己一个人无聊的说说 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信