diff --git a/dist/css/app.1475b526.css b/dist/css/app.1475b526.css deleted file mode 100644 index a47e20afffa9b8408ddfa2c4a5de0db0a836ab20..0000000000000000000000000000000000000000 --- a/dist/css/app.1475b526.css +++ /dev/null @@ -1 +0,0 @@ -.poker[data-v-b556cf7e]{height:100%;width:100px;border:1px solid;border-radius:8px;float:left;margin-left:-50px;background-color:azure}.poker[data-v-b556cf7e]:hover{background-color:#faebd7}.selected[data-v-b556cf7e]{margin-top:-20px} \ No newline at end of file diff --git a/dist/css/app.dcc00d5a.css b/dist/css/app.dcc00d5a.css new file mode 100644 index 0000000000000000000000000000000000000000..58985ef6a112d32f7727ea8f9979ad54f1b77205 --- /dev/null +++ b/dist/css/app.dcc00d5a.css @@ -0,0 +1 @@ +.poker[data-v-3cd822ae],.pokerDesk[data-v-3cd822ae]{height:100%;width:100px;border:1px solid;border-radius:16px;float:left;margin-left:-50px;background-color:azure;font-size:30px}.poker[data-v-3cd822ae]:hover{background-color:#faebd7}.selected[data-v-3cd822ae]{margin-top:-20px} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index e32547b3eebb3f17fccd3666122c70119819a995..4c37930479a0a6810c2ae8298ded1aa52c265bde 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/dist/js/app.2113c29b.js b/dist/js/app.2113c29b.js deleted file mode 100644 index 0fe3a751273aa5be45acca2b383826e8c7ba6b12..0000000000000000000000000000000000000000 --- a/dist/js/app.2113c29b.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var n,o,l=t[0],a=t[1],h=t[2],u=0,c=[];u=5&&o.length===t.length&&t[0].number+t.length-1===t[t.length-1].number?{type:"oneList",poker:t,list:o.map((function(e){return{one:e}}))}:t.length>=6&&t.length%2===0&&l.length===t.length/2&&t[0].number+t.length/2-1===t[t.length-1].number&&{type:"twoList",poker:t,list:l.map((function(e){return{two:e}}))}}},{key:"pokerListToString",value:function(e){for(var t="",r=0;r0)u={type:e,poker:o[0],one:o[0]};else if(l.length>0){var c=l[0].slice(0,1);u={type:e,poker:c,one:c}}else if(a.length>0){var f=a[0].slice(0,1);u={type:e,poker:f,one:f}}}else if("two"===e){if(l.length>0)u={type:e,poker:l[0],two:l[0]};else if(a.length>0){var g=a[0].slice(0,2);u={type:e,poker:g,one:g}}}else if("threeWithOne"===e){if(a.length>0){var y;if(o.length>0)y=o[0];else if(l.length>0)y=l[0].slice(0,1);else if(a.length>0)for(var k=0;k0&&(u={type:e,poker:h[0],four:h[0]});else if("threeWithTwo"===e){if(a.length>0){var b;if(l.length>0)b=l[0];else if(a.length>0)for(var v=0;v1)for(var d=0;d0){if(m=o[0],o.length>1)L=o[1];else if(l.length>0)L=l[0].slice(0,1);else if(a.length>0)for(var S=0;S0)m=l[0].slice(0,1),L=l[0].slice(1,2);else if(a.length>0)for(var x=0;x1)for(var w=0;w0)if(P=l[0],l.length>1)O=l[1];else for(var _=0;_=5)for(var j=0;j=3)for(var B=0;B=2)for(var A=0;A0){for(var f=0;fe.one[0].number){c={type:u,poker:o[f],one:o[f]};break}}else if(l.length>0){for(var g=0;ge.one[0].number){var y=l[g].slice(0,1);c={type:u,poker:y,one:y};break}}else if(a.length>0)for(var k=0;ke.one[0].number){var b=a[k].slice(0,1);c={type:u,poker:b,one:b};break}}else if("two"===u){if(l.length>0){for(var v=0;ve.two[0].number){c={type:u,poker:l[v],two:l[v]};break}}else if(a.length>0)for(var d=0;de.two[0].number){var m=a[d].slice(0,2);c={type:u,poker:m,one:m};break}}else if("threeWithOne"===u){if(a.length>0)for(var L=0;Le.three[0].number){var S=void 0;if(o.length>0)S=o[0];else if(l.length>0)S=l[0].slice(0,1);else if(a.length>0)for(var x=0;x0)for(var w=0;we.three[0].number){var P=void 0;if(l.length>0)P=l[0];else if(a.length>0)for(var O=0;O1)for(var _=0;_e.list[0].three[0].number&&a[_][0].number+1===a[_+1][0].number+1){var j=void 0,T=void 0;if(o.length>0){if(j=o[0],o.length>1)T=o[1];else if(l.length>0)T=l[0].slice(0,1);else if(a.length>0)for(var B=0;B0)j=l[0].slice(0,1),T=l[0].slice(1,2);else if(a.length>0)for(var W=0;W1)for(var A=0;Ae.list[0].three[0].number&&a[A][0].number+1===a[A+1][0].number+1){var M=void 0,N=void 0;if(l.length>0)if(M=l[0],l.length>1)N=l[1];else for(var R=0;R=e.list.length)for(var I=0;Ie.list[0].one[0].number&&o[I][0].number+e.list.length-1===o[I+e.list.length-1][0].number){var D=o.slice(I,I+e.list.length);c={type:u,poker:D.flat(1),list:D.map((function(e){return{one:e}}))};break}}else if("twoList"===u){if(l.length>=e.list.length)for(var F=0;Fe.list[0].two[0].number&&l[F][0].number+e.list.length-1===l[F+e.list.length-1][0].number){var z=l.slice(F,F+e.list.length);c={type:u,poker:z.flat(1),list:z.map((function(e){return{two:e}}))};break}}else if("four"===u&&h.length>0)for(var G=0;Ge.four[0].number){c={type:u,poker:h[G],four:h[G]};break}if(c||"four"===u||h.length>0&&(c={type:u,poker:h[0],four:h[0]}),!c&&"sx"!==u&&o.length>1&&16===o[o.length-2]){var J=o[o.length-2].concat(o[o.length-1]);c={type:u,poker:J,sx:J}}return c||(c={type:"pass",poker:["pass"]}),c}},{key:"playByObj",value:function(e){var t=this.getObjByObj(e),r=this.deleteFromPokerListAndSendByObj(t);r||alert("error!")}},{key:"getListByList",value:function(e){var t=[];if("pass"===e[0])return["pass"];for(var r=0;r0){var t=e.splice(0,1)[0];this.pokerList.push(t)}this.sortPoker()}},{key:"handleList",value:function(e){if(e){var t=u.getObjByPokerList(e);if(t){if("pass"===t.type)return this.sendPoker(t),!0;var r=this.getLastObj();if(r){if(r.type===t.type){var n=this.compareTwoObj(t,r);return n?(this.sendPoker(t),!0):(this.listBackToPokerList(e),alert("have to bigger than "+u.pokerListToString(r.poker)),!1)}return this.listBackToPokerList(e),alert("type is not "+r.type+"!"),!1}return this.sendPoker(t),!0}return this.listBackToPokerList(e),alert("type error!"),!1}return alert("poker error!"),!1}},{key:"playByPokerList",value:function(e){if(this.game.currentPlayer!==this)return alert("请等待 "+this.game.currentPlayer.name+" 出牌"),!1;var t=this.getListByList(e);return this.handleList(t)}},{key:"playByString",value:function(e){if(this.game.currentPlayer!==this)return alert("请等待 "+this.game.currentPlayer.name+" 出牌"),!1;var t=this.getListByString(e);return this.handleList(t)}},{key:"compareTwoObj",value:function(e,t){return"one"===e.type?e.one[0].number>t.one[0].number:"two"===e.type?e.two[0].number>t.two[0].number:"threeWithOne"===e.type||"threeWithTwo"===e.type?e.three[0].number>t.three[0].number:"threeWithOneList"===e.type||"threeWithTwoList"===e.type?e.list[0].three[0].number>t.list[0].three[0].number:"oneList"===e.type?e.list[0].one[0].number>t.list[0].one[0].number:"twoList"===e.type?e.list[0].two[0].number>t.list[0].two[0].number:"four"===e.type?e.four[0].number>t.four[0].number:void 0}},{key:"getAndDeleteOnePokerByNumber",value:function(e){for(var t=0;t3);do{var n=this.pokerList.splice(0,1)[0];this.dizhu.addPoker(n)}while(this.pokerList.length>0);for(var i=0;i= 5 && Count1List.length === pokerList.length && pokerList[0].number+pokerList.length-1===pokerList[pokerList.length-1].number){\r\n return {\r\n type:'oneList',\r\n poker: pokerList,\r\n list: Count1List.map(function (item) {\r\n return {\r\n one: item,\r\n }\r\n }),\r\n }\r\n }\r\n\r\n //判断twoList\r\n if(pokerList.length >= 6 && pokerList.length%2 === 0 && Count2List.length === pokerList.length/2 && pokerList[0].number+pokerList.length/2-1===pokerList[pokerList.length-1].number){\r\n return {\r\n type:'twoList',\r\n poker: pokerList,\r\n list: Count2List.map(function (item) {\r\n return {\r\n two: item,\r\n }\r\n }),\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n static pokerListToString(pokerList){\r\n let result = '';\r\n for(let i=0; i0){\r\n obj = {\r\n type: type,\r\n poker: Count1List[0],\r\n one: Count1List[0],\r\n };\r\n }else if(Count2List.length>0){\r\n let poker = Count2List[0].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }else if(Count3List.length>0){\r\n let poker = Count3List[0].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }\r\n }else if(type === 'two'){\r\n if(Count2List.length>0){\r\n obj = {\r\n type: type,\r\n poker: Count2List[0],\r\n two: Count2List[0],\r\n };\r\n }else if(Count3List.length>0){\r\n let poker = Count3List[0].slice(0,2);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }\r\n }else if(type === 'threeWithOne'){\r\n if(Count3List.length>0){\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0],\r\n four: Count4List[0],\r\n };\r\n }\r\n }else if(type === 'threeWithTwo'){\r\n if(Count3List.length>0){\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n for(let j=0; j1){\r\n for(let i=0; i0){\r\n one1 = Count1List[0];\r\n if(Count1List.length>1){\r\n one2 = Count1List[1];\r\n }else{\r\n if(Count2List.length>0){\r\n one2 = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n one1 = Count2List[0].slice(0,1);\r\n one2 = Count2List[0].slice(1,2);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j1){\r\n for(let i=0; i0){\r\n two1 = Count2List[0];\r\n if(Count2List.length>1){\r\n two2 = Count2List[1];\r\n }else{\r\n for(let j=0; j=5 ){\r\n for(let i=0; i=3 ){\r\n for(let i=0; i=2){\r\n for(let i=0; i0){\r\n for(let i=0; ilastObj.one[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count1List[i],\r\n one: Count1List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count2List.length>0){\r\n for(let i=0; ilastObj.one[0].number){\r\n let poker = Count2List[i].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count3List.length>0){\r\n for(let i=0; ilastObj.one[0].number){\r\n let poker = Count3List[i].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'two'){\r\n if(Count2List.length>0){\r\n for(let i=0; ilastObj.two[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count2List[i],\r\n two: Count2List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count3List.length>0){\r\n for(let i=0; ilastObj.two[0].number){\r\n let poker = Count3List[i].slice(0,2);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'threeWithOne'){\r\n if(Count3List.length>0){\r\n for(let i=0; ilastObj.three[0].number){\r\n\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n for(let i=0; ilastObj.three[0].number){\r\n\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n for(let j=0; j1){\r\n for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+1===Count3List[i+1][0].number+1){\r\n\r\n let one1,one2;\r\n if(Count1List.length>0){\r\n one1 = Count1List[0];\r\n if(Count1List.length>1){\r\n one2 = Count1List[1];\r\n }else{\r\n if(Count2List.length>0){\r\n one2 = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n one1 = Count2List[0].slice(0,1);\r\n one2 = Count2List[0].slice(1,2);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j1){\r\n for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+1===Count3List[i+1][0].number+1){\r\n\r\n let two1,two2;\r\n if(Count2List.length>0){\r\n two1 = Count2List[0];\r\n if(Count2List.length>1){\r\n two2 = Count2List[1];\r\n }else{\r\n for(let j=0; j=lastObj.list.length ){\r\n for(let i=0; ilastObj.list[0].one[0].number && Count1List[i][0].number+lastObj.list.length-1===Count1List[i+lastObj.list.length-1][0].number){\r\n let list = Count1List.slice(i,i+lastObj.list.length);\r\n obj = {\r\n type: type,\r\n poker: list.flat(1),\r\n list: list.map(function (item) {\r\n return {\r\n one: item,\r\n }\r\n }),\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'twoList'){\r\n if(Count2List.length>=lastObj.list.length ){\r\n for(let i=0; ilastObj.list[0].two[0].number && Count2List[i][0].number+lastObj.list.length-1===Count2List[i+lastObj.list.length-1][0].number){\r\n let list = Count2List.slice(i,i+lastObj.list.length);\r\n obj = {\r\n type: type,\r\n poker: list.flat(1),\r\n list: list.map(function (item) {\r\n return {\r\n two: item,\r\n }\r\n }),\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'four'){\r\n if(Count4List.length>0){\r\n for(let i=0; ilastObj.four[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count4List[i],\r\n four: Count4List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(!obj && type!=='four'){\r\n\r\n if(Count4List.length>0){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0],\r\n four: Count4List[0],\r\n };\r\n }\r\n\r\n }\r\n\r\n if(!obj && type!=='sx'){\r\n\r\n if(Count1List.length>1){\r\n if(Count1List[Count1List.length-2] === 16){\r\n let poker = Count1List[Count1List.length-2].concat(Count1List[Count1List.length-1]);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n sx: poker,\r\n };\r\n }\r\n }\r\n\r\n }\r\n\r\n if(!obj){\r\n obj = {\r\n type: 'pass',\r\n poker: ['pass'],\r\n };\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n playByObj(lastObj){\r\n\r\n let obj = this.getObjByObj(lastObj);\r\n let success = this.deleteFromPokerListAndSendByObj(obj);\r\n if(!success){\r\n alert('error!');\r\n }\r\n\r\n }\r\n\r\n getListByList(list){\r\n let tempList = [];\r\n if(list[0] === 'pass'){\r\n return ['pass'];\r\n }\r\n for(let i=0; i0){\r\n let poker = list.splice(0,1)[0];\r\n this.pokerList.push(poker);\r\n }\r\n this.sortPoker();\r\n }\r\n\r\n handleList(list){\r\n if(list){\r\n let obj = Poker.getObjByPokerList(list);\r\n if(obj){\r\n if(obj.type === 'pass'){\r\n this.sendPoker(obj);\r\n return true;\r\n }\r\n let lastObj = this.getLastObj();\r\n if(lastObj){\r\n if(lastObj.type === obj.type){\r\n let comp = this.compareTwoObj(obj, lastObj);\r\n if(comp){\r\n this.sendPoker(obj);\r\n return true;\r\n }else{\r\n this.listBackToPokerList(list);\r\n alert('have to bigger than '+Poker.pokerListToString(lastObj.poker));\r\n return false;\r\n }\r\n\r\n }else{\r\n this.listBackToPokerList(list);\r\n alert('type is not '+lastObj.type+'!');\r\n return false;\r\n }\r\n }else{\r\n this.sendPoker(obj);\r\n return true;\r\n }\r\n\r\n }else{\r\n this.listBackToPokerList(list);\r\n alert('type error!');\r\n return false;\r\n }\r\n\r\n }else{\r\n alert('poker error!');\r\n return false;\r\n }\r\n }\r\n\r\n playByPokerList(pokerList){\r\n if(this.game.currentPlayer!==this){\r\n alert('请等待 '+this.game.currentPlayer.name+' 出牌');\r\n return false;\r\n }\r\n\r\n let list = this.getListByList(pokerList);\r\n return this.handleList(list);\r\n }\r\n\r\n playByString(str){\r\n if(this.game.currentPlayer!==this){\r\n alert('请等待 '+this.game.currentPlayer.name+' 出牌');\r\n return false;\r\n }\r\n\r\n let list = this.getListByString(str);\r\n return this.handleList(list);\r\n }\r\n\r\n compareTwoObj(obj1, obj2) {\r\n if (obj1.type === 'one') {\r\n return obj1.one[0].number > obj2.one[0].number;\r\n } else if (obj1.type === 'two') {\r\n return obj1.two[0].number > obj2.two[0].number;\r\n } else if (obj1.type === 'threeWithOne') {\r\n return obj1.three[0].number > obj2.three[0].number;\r\n } else if (obj1.type === 'threeWithTwo') {\r\n return obj1.three[0].number > obj2.three[0].number;\r\n } else if (obj1.type === 'threeWithOneList') {\r\n return obj1.list[0].three[0].number > obj2.list[0].three[0].number;\r\n } else if (obj1.type === 'threeWithTwoList') {\r\n return obj1.list[0].three[0].number > obj2.list[0].three[0].number;\r\n } else if (obj1.type === 'oneList') {\r\n return obj1.list[0].one[0].number > obj2.list[0].one[0].number;\r\n } else if (obj1.type === 'twoList') {\r\n return obj1.list[0].two[0].number > obj2.list[0].two[0].number;\r\n } else if (obj1.type === 'four') {\r\n return obj1.four[0].number > obj2.four[0].number;\r\n }\r\n }\r\n\r\n\r\n getAndDeleteOnePokerByNumber(number){\r\n for(let i=0; i3);\r\n\r\n do{\r\n let poker = this.pokerList.splice(0,1)[0];\r\n this.dizhu.addPoker(poker);\r\n }while(this.pokerList.length>0);\r\n\r\n for(let i=0; i\n
\n
\n \n {{player2Str[0]}}\n
\n {{player2Str[1]}}\n

\n {{player2Str[2]}}\n
\n
\n\n
\n \n {{player1Str[0]}}\n
\n {{player1Str[1]}}\n

\n {{player1Str[2]}}\n
\n
\n\n
\n \n {{player0Str[0]}}\n
\n {{player0Str[1]}}\n

\n {{player0Str[2]}}\n
\n
\n \n \n \n
\n
\n\n
\n
\n {{deskStr[0]}}\n
\n {{deskStr[1]}}\n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelloWorld.vue?vue&type=template&id=62298b0c&scoped=true&\"\nimport script from \"./HelloWorld.vue?vue&type=script&lang=js&\"\nexport * from \"./HelloWorld.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62298b0c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"user-select\":\"none\"}},[_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"0px\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.player2Str[0])+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.player2Str[1])+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.player2Str[2])+\" \")])]),_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"600px\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.player1Str[0])+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.player1Str[1])+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.player1Str[2])+\" \")])]),_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"300px\",\"top\":\"300px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.player0Str[0])+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.player0Str[1])+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.player0Str[2])+\" \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.playerStr),expression:\"playerStr\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.playerStr)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.playerStr=$event.target.value}}}),_c('button',{on:{\"click\":_vm.sendPoker}},[_vm._v(\"send\")]),_c('button',{on:{\"click\":_vm.pass}},[_vm._v(\"pass\")])])]),_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"300px\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('div',{staticStyle:{\"width\":\"300px\",\"word-wrap\":\"break-word\"}},[_vm._v(\" \"+_vm._s(_vm.deskStr[0])+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.deskStr[1])+\" \")])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"left\":\"300px\",\"top\":\"600px\"}},[_c('button',{on:{\"click\":_vm.reStart}},[_vm._v(\"reStart\")])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"0\",\"width\":\"100%\",\"height\":\"200px\"},style:({ marginLeft: _vm.playerMarginLeft + 'px' })},_vm._l((_vm.game.playerList[0].pokerList),function(item){return _c('div',{staticClass:\"poker\",class:{ selected: item.selected },on:{\"mouseenter\":function($event){return _vm.enter($event,item)},\"mousedown\":function($event){return _vm.pickPoker(item)}}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])}),0),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"200px\",\"width\":\"100%\",\"height\":\"100px\",\"text-align\":\"left\"}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"30px\"},style:({ marginLeft: _vm.buttonMarginLeft + 'px' })},[_c('button',{staticStyle:{\"height\":\"30px\",\"border-radius\":\"4px\",\"float\":\"left\"},on:{\"click\":_vm.sendPoker2}},[_vm._v(\"出牌\")]),_c('button',{staticStyle:{\"height\":\"30px\",\"border-radius\":\"4px\",\"margin-left\":\"20px\",\"float\":\"right\"},on:{\"click\":_vm.pass}},[_vm._v(\"不出\")])])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"400px\",\"width\":\"100%\",\"height\":\"200px\"},style:({ marginLeft: _vm.deskPokerMarginLeft + 'px' })},_vm._l((_vm.deskPoker),function(item){return _c('div',{staticStyle:{\"height\":\"100%\",\"width\":\"100px\",\"border\":\"solid 1px\",\"border-radius\":\"8px\",\"float\":\"left\",\"margin-left\":\"-50px\",\"background-color\":\"azure\"}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Game.vue?vue&type=template&id=b556cf7e&scoped=true&\"\nimport script from \"./Game.vue?vue&type=script&lang=js&\"\nexport * from \"./Game.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Game.vue?vue&type=style&index=0&id=b556cf7e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b556cf7e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=51e9b17b&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false;\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app');\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.4f03e253.js b/dist/js/app.4f03e253.js new file mode 100644 index 0000000000000000000000000000000000000000..6b8b449f5b9e79ae51c71444242547ff6363c0f9 --- /dev/null +++ b/dist/js/app.4f03e253.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var n,l,o=t[0],a=t[1],h=t[2],p=0,g=[];p=2&&a[a.length-1][0].number<=14&&a[0][0].number+a.length-1===a[a.length-1][0].number){if(t.length-3*a.length===a.length)return{type:"threeWithOneList",poker:t,list:a.map((function(e){return{three:e}}))};if(o.length===a.length)return{type:"threeWithTwoList",poker:t,list:a.map((function(e){return{three:e}}))}}return t.length>=5&&t[t.length-1].number<=14&&l.length===t.length&&t[0].number+t.length-1===t[t.length-1].number?{type:"oneList",poker:t,list:l.map((function(e){return{one:e}}))}:t.length>=6&&t[t.length-1].number<=14&&t.length%2===0&&o.length===t.length/2&&t[0].number+t.length/2-1===t[t.length-1].number?{type:"twoList",poker:t,list:o.map((function(e){return{two:e}}))}:t.length>=6&&t[t.length-1].number<=14&&t.length%3===0&&a.length===t.length/3&&t[0].number+t.length/3-1===t[t.length-1].number&&{type:"threeList",poker:t,list:a.map((function(e){return{three:e}}))}}},{key:"pokerListToString",value:function(e){for(var t="",r=0;r0)p={type:e,poker:l[0],one:l[0]};else if(o.length>0){var g=o[0].slice(0,1);p={type:e,poker:g,one:g}}else if(a.length>0){var f=a[0].slice(0,1);p={type:e,poker:f,one:f}}}else if("two"===e){if(o.length>0)p={type:e,poker:o[0],two:o[0]};else if(a.length>0){var c=a[0].slice(0,2);p={type:e,poker:c,one:c}}}else if("three"===e)a.length>0&&(p={type:e,poker:a[0],three:a[0]});else if("threeWithOne"===e){if(a.length>0){var y;if(l.length>0)y=l[0];else if(o.length>0)y=o[0].slice(0,1);else if(a.length>0)for(var k=0;k0&&(p={type:e,poker:h[0],four:h[0]});else if("threeWithTwo"===e){if(a.length>0){var m;if(o.length>0)m=o[0];else if(a.length>0)for(var v=0;v0)l.length>0?b=l[0]:o.length>0?b=o[0].slice(0,1):a.length>0&&(b=a[0].slice(0,1)),b&&(p={type:e,poker:h[0].concat(b),four:h[0],one:b})}else if("fourWithTwo"===e){var d;if(h.length>0)o.length>0?d=o[0]:a.length>0&&(d=a[0].slice(0,2)),d&&(p={type:e,poker:h[0].concat(d),four:h[0],two:d})}else if("threeWithOneList"===e){if(a.length>=2)for(var L=0;L=2)for(var B=0;B=5)for(var D=0;D=3)for(var G=0;G=2)for(var $=0;$=2)for(var H=0;H0){for(var f=0;fe.one[0].number){g={type:p,poker:l[f],one:l[f]};break}}else if(o.length>0){for(var c=0;ce.one[0].number){var y=o[c].slice(0,1);g={type:p,poker:y,one:y};break}}else if(a.length>0)for(var k=0;ke.one[0].number){var m=a[k].slice(0,1);g={type:p,poker:m,one:m};break}}else if("two"===p){if(o.length>0){for(var v=0;ve.two[0].number){g={type:p,poker:o[v],two:o[v]};break}}else if(a.length>0)for(var b=0;be.two[0].number){var d=a[b].slice(0,2);g={type:p,poker:d,one:d};break}}else if("three"===p){if(a.length>0)for(var L=0;Le.three[0].number){g={type:p,poker:a[L],three:a[L]};break}}else if("threeWithOne"===p){if(a.length>0)for(var x=0;xe.three[0].number){var S=void 0;if(l.length>0)S=l[0];else if(o.length>0)S=o[0].slice(0,1);else if(a.length>0)for(var w=0;w0)for(var P=0;Pe.three[0].number){var O=void 0;if(o.length>0)O=o[0];else if(a.length>0)for(var _=0;_0)for(var T=0;Te.four[0].number){var j=void 0;l.length>0?j=l[0]:o.length>0?j=o[0].slice(0,1):a.length>0&&(j=a[0].slice(0,1)),j&&(g={type:p,poker:h[T].concat(j),four:h[T],one:j});break}}else if("fourWithTwo"===p){if(h.length>0)for(var B=0;Be.four[0].number){var W=void 0;o.length>0?W=o[0]:a.length>0&&(W=a[0].slice(0,2)),W&&(g={type:p,poker:h[B].concat(W),four:h[B],two:W});break}}else if("threeWithOneList"===p){if(a.length>=e.list.length)for(var M=0;Me.list[0].three[0].number&&a[M][0].number+e.list.length-1===a[M+e.list.length-1][0].number&&a[M+e.list.length-1][0].number<=14){for(var A=[],N=0;N=e.list.length)for(var J=0;Je.list[0].three[0].number&&a[J][0].number+e.list.length-1===a[J+e.list.length-1][0].number&&a[J+e.list.length-1][0].number<=14){for(var $=[],E=0;E=e.list.length)for(var q=0;qe.list[0].one[0].number&&l[q][0].number+e.list.length-1===l[q+e.list.length-1][0].number&&l[q+e.list.length-1][0].number<=14){var U=l.slice(q,q+e.list.length);g={type:p,poker:U.flat(1),list:U.map((function(e){return{one:e}}))};break}}else if("twoList"===p){if(o.length>=e.list.length)for(var V=0;Ve.list[0].two[0].number&&o[V][0].number+e.list.length-1===o[V+e.list.length-1][0].number&&o[V+e.list.length-1][0].number<=14){var Y=o.slice(V,V+e.list.length);g={type:p,poker:Y.flat(1),list:Y.map((function(e){return{two:e}}))};break}}else if("threeList"===p){if(a.length>=e.list.length)for(var Z=0;Ze.list[0].two[0].number&&a[Z][0].number+e.list.length-1===a[Z+e.list.length-1][0].number&&a[Z+e.list.length-1][0].number<=14){var ee=a.slice(Z,Z+e.list.length);g={type:p,poker:ee.flat(1),list:ee.map((function(e){return{three:e}}))};break}}else if("four"===p&&h.length>0)for(var te=0;tee.four[0].number){g={type:p,poker:h[te],four:h[te]};break}if(g||"four"===p||h.length>0&&(g={type:p,poker:h[0],four:h[0]}),!g&&"sx"!==p&&l.length>1&&16===l[l.length-2]){var re=l[l.length-2].concat(l[l.length-1]);g={type:p,poker:re,sx:re}}return g||(g={type:"pass",poker:["pass"]}),g}},{key:"playByObj",value:function(e){var t=this.getObjByObj(e),r=this.deleteFromPokerListAndSendByObj(t);r||alert("error!")}},{key:"getListByList",value:function(e){var t=[];if("pass"===e[0])return["pass"];for(var r=0;r0){var t=e.splice(0,1)[0];this.pokerList.push(t)}this.sortPoker()}},{key:"handleList",value:function(e){if(e){var t=p.getObjByPokerList(e);if(t){if("pass"===t.type)return this.sendPoker(t),!0;var r=this.getLastObj();if(r){if(r.type===t.type){var n=this.compareTwoObj(t,r);return n?(this.sendPoker(t),!0):(this.listBackToPokerList(e),alert("have to bigger than "+p.pokerListToString(r.poker)),!1)}return"sx"===t.type||"four"===t.type&&"sx"!==r.type?(this.sendPoker(t),!0):(this.listBackToPokerList(e),alert("type is not "+r.type+"!"),!1)}return this.sendPoker(t),!0}return this.listBackToPokerList(e),alert("type error!"),!1}return alert("poker error!"),!1}},{key:"playByPokerList",value:function(e){if(this.game.currentPlayer!==this)return alert("请等待 "+this.game.currentPlayer.name+" 出牌"),!1;var t=this.getListByList(e);return this.handleList(t)}},{key:"playByString",value:function(e){if(this.game.currentPlayer!==this)return alert("请等待 "+this.game.currentPlayer.name+" 出牌"),!1;var t=this.getListByString(e);return this.handleList(t)}},{key:"compareTwoObj",value:function(e,t){return(!e.list||!t.list||e.list.length===t.list.length)&&("one"===e.type?e.one[0].number>t.one[0].number:"two"===e.type?e.two[0].number>t.two[0].number:"three"===e.type||"threeWithOne"===e.type||"threeWithTwo"===e.type?e.three[0].number>t.three[0].number:"fourWithOne"===e.type||"fourWithTwo"===e.type?e.four[0].number>t.four[0].number:"threeWithOneList"===e.type||"threeWithTwoList"===e.type?e.list[0].three[0].number>t.list[0].three[0].number:"oneList"===e.type?e.list[0].one[0].number>t.list[0].one[0].number:"twoList"===e.type?e.list[0].two[0].number>t.list[0].two[0].number:"threeList"===e.type?e.list[0].three[0].number>t.list[0].three[0].number:"four"===e.type?e.four[0].number>t.four[0].number:void 0)}},{key:"getAndDeleteOnePokerByNumber",value:function(e){for(var t=0;t3);do{var n=this.pokerList.splice(0,1)[0];this.dizhu.addPoker(n)}while(this.pokerList.length>0);for(var i=0;i0,expression:"deskPoker.length>0"}],staticClass:"pokerDesk"},[e._v(" "+e._s(t.text)+" ")])})),r("div",{directives:[{name:"show",rawName:"v-show",value:0===e.deskPoker.length,expression:"deskPoker.length===0"}],staticStyle:{height:"100%",width:"100px",float:"left","margin-left":"-50px","font-size":"50px"}},[e._v(" pass ")])],2),r("div",{staticStyle:{position:"fixed",top:"40px",left:"20px",height:"200px",width:"100px",border:"solid 1px","border-radius":"8px","background-color":"azure","text-align":"center"}},[r("p",[e._v(" "+e._s("nongmin"===e.game.playerList[2].type?"农民":"地主")+" ")]),r("p",[e._v(" "+e._s(e.game.playerList[2].name)+" ")]),r("p",[e._v(" 剩余 "+e._s(e.game.playerList[2].pokerList.length)+" 张 ")]),r("div",{directives:[{name:"show",rawName:"v-show",value:e.game.currentPlayer===e.game.playerList[2],expression:"game.currentPlayer===game.playerList[2]"}],staticStyle:{color:"red",width:"150px",border:"solid","border-radius":"4px",position:"absolute",bottom:"-50px",left:"0"}},[e._v(" 请在"+e._s(e.game.second)+"秒内出牌 ")])]),r("div",{staticStyle:{position:"fixed",top:"40px",right:"20px",height:"200px",width:"100px",border:"solid 1px","border-radius":"8px","background-color":"azure","text-align":"center"}},[r("p",[e._v(" "+e._s("nongmin"===e.game.playerList[1].type?"农民":"地主")+" ")]),r("p",[e._v(" "+e._s(e.game.playerList[1].name)+" ")]),r("p",[e._v(" 剩余 "+e._s(e.game.playerList[1].pokerList.length)+" 张 ")]),r("div",{directives:[{name:"show",rawName:"v-show",value:e.game.currentPlayer===e.game.playerList[1],expression:"game.currentPlayer===game.playerList[1]"}],staticStyle:{color:"red",width:"150px",border:"solid","border-radius":"4px",position:"absolute",bottom:"-50px",right:"0"}},[e._v(" 请在"+e._s(e.game.second)+"秒内出牌 ")])])])},x=[],S={name:"HelloWorld",data:function(){return{data:"fuck1",game:new y,playerStr:"",pokerList:[]}},computed:{playerMarginLeft:function(){return(window.innerWidth-50*this.game.playerList[0].pokerList.length)/2},deskPokerMarginLeft:function(){return(window.innerWidth-50*this.deskPoker.length)/2},buttonMarginLeft:function(){return(window.innerWidth-200)/2},deskPoker:function(){return this.game.deskPokerObj&&this.game.deskPokerObj.poker&&this.game.deskPokerObj.poker[0]&&this.game.deskPokerObj.poker[0].text?this.game.deskPokerObj.poker:[]},player2Str:function(){var e=this.game,t=2;return[e.playerList[t].name+" : "+e.playerList[t].type+" : "+e.playerList[t].pokerList.length,e.playerList[t].pokerListToString(),e.playerList[t].lastSendObjToString()]},player1Str:function(){var e=this.game,t=1;return[e.playerList[t].name+" : "+e.playerList[t].type+" : "+e.playerList[t].pokerList.length,e.playerList[t].pokerListToString(),e.playerList[t].lastSendObjToString()]},player0Str:function(){var e=this.game,t=0;return[e.playerList[t].name+" : "+e.playerList[t].type+" : "+e.playerList[t].pokerList.length,e.playerList[t].pokerListToString(),e.playerList[t].lastSendObjToString()]},deskStr:function(){var e=this.game;return["desk",e.pokerListToString()]}},mounted:function(){this.data=this.game.playerList[1].name},methods:{enter:function(e,t){1===e.buttons&&this.pickPoker(t)},pickPoker:function(e){if(e.selected){e.selected=!1;for(var t=0;t=2 && Count3List[Count3List.length-1][0].number<=14 && Count3List[0][0].number+Count3List.length-1===Count3List[Count3List.length-1][0].number){\r\n //threeWithOneList\r\n if(pokerList.length-3*Count3List.length===Count3List.length){\r\n return {\r\n type:'threeWithOneList',\r\n poker: pokerList,\r\n list: Count3List.map(function (item) {\r\n return {\r\n three: item,\r\n };\r\n }),\r\n };\r\n }else{\r\n //threeWithTwoList\r\n if(Count2List.length===Count3List.length){\r\n return {\r\n type:'threeWithTwoList',\r\n poker: pokerList,\r\n list: Count3List.map(function (item) {\r\n return {\r\n three: item,\r\n };\r\n }),\r\n };\r\n }\r\n }\r\n }\r\n\r\n //判断oneList\r\n if(pokerList.length >= 5 && pokerList[pokerList.length-1].number<=14 && Count1List.length === pokerList.length && pokerList[0].number+pokerList.length-1===pokerList[pokerList.length-1].number){\r\n return {\r\n type:'oneList',\r\n poker: pokerList,\r\n list: Count1List.map(function (item) {\r\n return {\r\n one: item,\r\n }\r\n }),\r\n }\r\n }\r\n\r\n //判断twoList\r\n if(pokerList.length >= 6 && pokerList[pokerList.length-1].number<=14 && pokerList.length%2 === 0 && Count2List.length === pokerList.length/2 && pokerList[0].number+pokerList.length/2-1===pokerList[pokerList.length-1].number){\r\n return {\r\n type:'twoList',\r\n poker: pokerList,\r\n list: Count2List.map(function (item) {\r\n return {\r\n two: item,\r\n }\r\n }),\r\n }\r\n }\r\n\r\n //判断threeList\r\n if(pokerList.length >= 6 && pokerList[pokerList.length-1].number<=14 && pokerList.length%3 === 0 && Count3List.length === pokerList.length/3 && pokerList[0].number+pokerList.length/3-1===pokerList[pokerList.length-1].number){\r\n return {\r\n type:'threeList',\r\n poker: pokerList,\r\n list: Count3List.map(function (item) {\r\n return {\r\n three: item,\r\n }\r\n }),\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n static pokerListToString(pokerList){\r\n let result = '';\r\n for(let i=0; i0){\r\n obj = {\r\n type: type,\r\n poker: Count1List[0],\r\n one: Count1List[0],\r\n };\r\n }else if(Count2List.length>0){\r\n let poker = Count2List[0].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }else if(Count3List.length>0){\r\n let poker = Count3List[0].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }\r\n }else if(type === 'two'){\r\n if(Count2List.length>0){\r\n obj = {\r\n type: type,\r\n poker: Count2List[0],\r\n two: Count2List[0],\r\n };\r\n }else if(Count3List.length>0){\r\n let poker = Count3List[0].slice(0,2);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n }\r\n }else if(type === 'three'){\r\n if(Count3List.length>0){\r\n obj = {\r\n type: type,\r\n poker: Count3List[0],\r\n three: Count3List[0],\r\n };\r\n }\r\n }else if(type === 'threeWithOne'){\r\n if(Count3List.length>0){\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0],\r\n four: Count4List[0],\r\n };\r\n }\r\n }else if(type === 'threeWithTwo'){\r\n if(Count3List.length>0){\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n one = Count3List[0].slice(0,1);\r\n }\r\n\r\n if(one){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0].concat(one),\r\n four: Count4List[0],\r\n one: one,\r\n };\r\n }\r\n }\r\n }else if(type === 'fourWithTwo'){\r\n if(Count4List.length>0){\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n two = Count3List[0].slice(0,2);\r\n }\r\n\r\n if(two){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0].concat(two),\r\n four: Count4List[0],\r\n two: two,\r\n };\r\n }\r\n }\r\n }else if(type === 'threeWithOneList'){\r\n if(Count3List.length>=2){\r\n for(let i=0; i=2){\r\n for(let i=0; i=5){\r\n for(let i=0; i=3 ){\r\n for(let i=0; i=2 ){\r\n for(let i=0; i=2){\r\n for(let i=0; i0){\r\n for(let i=0; ilastObj.one[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count1List[i],\r\n one: Count1List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count2List.length>0){\r\n for(let i=0; ilastObj.one[0].number){\r\n let poker = Count2List[i].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count3List.length>0){\r\n for(let i=0; ilastObj.one[0].number){\r\n let poker = Count3List[i].slice(0,1);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'two'){\r\n if(Count2List.length>0){\r\n for(let i=0; ilastObj.two[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count2List[i],\r\n two: Count2List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }else if(Count3List.length>0){\r\n for(let i=0; ilastObj.two[0].number){\r\n let poker = Count3List[i].slice(0,2);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n one: poker,\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'three'){\r\n if(Count3List.length>0){\r\n for(let i=0; ilastObj.three[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count3List[i],\r\n three: Count3List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'threeWithOne'){\r\n if(Count3List.length>0){\r\n for(let i=0; ilastObj.three[0].number){\r\n\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n for(let i=0; ilastObj.three[0].number){\r\n\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n for(let j=0; j0){\r\n for(let i=0; ilastObj.four[0].number){\r\n\r\n let one;\r\n if(Count1List.length>0){\r\n one = Count1List[0];\r\n }else if(Count2List.length>0){\r\n one = Count2List[0].slice(0,1);\r\n }else if(Count3List.length>0){\r\n one = Count3List[0].slice(0,1);\r\n }\r\n\r\n if(one){\r\n obj = {\r\n type: type,\r\n poker: Count4List[i].concat(one),\r\n four: Count4List[i],\r\n one: one,\r\n };\r\n }\r\n break;\r\n\r\n }\r\n }\r\n }\r\n }else if(type === 'fourWithTwo'){\r\n if(Count4List.length>0){\r\n for(let i=0; ilastObj.four[0].number){\r\n\r\n let two;\r\n if(Count2List.length>0){\r\n two = Count2List[0];\r\n }else if(Count3List.length>0){\r\n two = Count3List[0].slice(0,2);\r\n }\r\n\r\n if(two){\r\n obj = {\r\n type: type,\r\n poker: Count4List[i].concat(two),\r\n four: Count4List[i],\r\n two: two,\r\n };\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'threeWithOneList'){\r\n if(Count3List.length>=lastObj.list.length){\r\n for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){\r\n\r\n let oneList = [];\r\n\r\n for(let j=0; j=lastObj.list.length){\r\n for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){\r\n\r\n let twoList = [];\r\n\r\n for(let j=0; j=lastObj.list.length ){\r\n for(let i=0; ilastObj.list[0].one[0].number && Count1List[i][0].number+lastObj.list.length-1===Count1List[i+lastObj.list.length-1][0].number && Count1List[i+lastObj.list.length-1][0].number<=14){\r\n let list = Count1List.slice(i,i+lastObj.list.length);\r\n obj = {\r\n type: type,\r\n poker: list.flat(1),\r\n list: list.map(function (item) {\r\n return {\r\n one: item,\r\n }\r\n }),\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'twoList'){\r\n if(Count2List.length>=lastObj.list.length ){\r\n for(let i=0; ilastObj.list[0].two[0].number && Count2List[i][0].number+lastObj.list.length-1===Count2List[i+lastObj.list.length-1][0].number && Count2List[i+lastObj.list.length-1][0].number<=14){\r\n let list = Count2List.slice(i,i+lastObj.list.length);\r\n obj = {\r\n type: type,\r\n poker: list.flat(1),\r\n list: list.map(function (item) {\r\n return {\r\n two: item,\r\n }\r\n }),\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'threeList'){\r\n if(Count3List.length>=lastObj.list.length ){\r\n for(let i=0; ilastObj.list[0].two[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){\r\n let list = Count3List.slice(i,i+lastObj.list.length);\r\n obj = {\r\n type: type,\r\n poker: list.flat(1),\r\n list: list.map(function (item) {\r\n return {\r\n three: item,\r\n }\r\n }),\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }else if(type === 'four'){\r\n if(Count4List.length>0){\r\n for(let i=0; ilastObj.four[0].number){\r\n obj = {\r\n type: type,\r\n poker: Count4List[i],\r\n four: Count4List[i],\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(!obj && type!=='four'){\r\n\r\n if(Count4List.length>0){\r\n obj = {\r\n type: type,\r\n poker: Count4List[0],\r\n four: Count4List[0],\r\n };\r\n }\r\n\r\n }\r\n\r\n if(!obj && type!=='sx'){\r\n\r\n if(Count1List.length>1){\r\n if(Count1List[Count1List.length-2] === 16){\r\n let poker = Count1List[Count1List.length-2].concat(Count1List[Count1List.length-1]);\r\n obj = {\r\n type: type,\r\n poker: poker,\r\n sx: poker,\r\n };\r\n }\r\n }\r\n\r\n }\r\n\r\n if(!obj){\r\n obj = {\r\n type: 'pass',\r\n poker: ['pass'],\r\n };\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n playByObj(lastObj){\r\n\r\n let obj = this.getObjByObj(lastObj);\r\n let success = this.deleteFromPokerListAndSendByObj(obj);\r\n if(!success){\r\n alert('error!');\r\n }\r\n\r\n }\r\n\r\n getListByList(list){\r\n let tempList = [];\r\n if(list[0] === 'pass'){\r\n return ['pass'];\r\n }\r\n for(let i=0; i0){\r\n let poker = list.splice(0,1)[0];\r\n this.pokerList.push(poker);\r\n }\r\n this.sortPoker();\r\n }\r\n\r\n handleList(list){\r\n if(list){\r\n let obj = Poker.getObjByPokerList(list);\r\n if(obj){\r\n if(obj.type === 'pass'){\r\n this.sendPoker(obj);\r\n return true;\r\n }\r\n let lastObj = this.getLastObj();\r\n if(lastObj){\r\n if(lastObj.type === obj.type){\r\n let comp = this.compareTwoObj(obj, lastObj);\r\n if(comp){\r\n this.sendPoker(obj);\r\n return true;\r\n }else{\r\n this.listBackToPokerList(list);\r\n alert('have to bigger than '+Poker.pokerListToString(lastObj.poker));\r\n return false;\r\n }\r\n\r\n }else{\r\n\r\n if(obj.type === 'sx'){\r\n this.sendPoker(obj);\r\n return true;\r\n }else if(obj.type === 'four' && lastObj.type!=='sx'){\r\n this.sendPoker(obj);\r\n return true;\r\n }\r\n\r\n this.listBackToPokerList(list);\r\n alert('type is not '+lastObj.type+'!');\r\n return false;\r\n }\r\n }else{\r\n this.sendPoker(obj);\r\n return true;\r\n }\r\n\r\n }else{\r\n this.listBackToPokerList(list);\r\n alert('type error!');\r\n return false;\r\n }\r\n\r\n }else{\r\n alert('poker error!');\r\n return false;\r\n }\r\n }\r\n\r\n playByPokerList(pokerList){\r\n if(this.game.currentPlayer!==this){\r\n alert('请等待 '+this.game.currentPlayer.name+' 出牌');\r\n return false;\r\n }\r\n\r\n let list = this.getListByList(pokerList);\r\n return this.handleList(list);\r\n }\r\n\r\n playByString(str){\r\n if(this.game.currentPlayer!==this){\r\n alert('请等待 '+this.game.currentPlayer.name+' 出牌');\r\n return false;\r\n }\r\n\r\n let list = this.getListByString(str);\r\n return this.handleList(list);\r\n }\r\n\r\n compareTwoObj(obj1, obj2) {\r\n if(obj1.list && obj2.list){\r\n if(obj1.list.length!==obj2.list.length){\r\n return false;\r\n }\r\n }\r\n\r\n if (obj1.type === 'one') {\r\n return obj1.one[0].number > obj2.one[0].number;\r\n } else if (obj1.type === 'two') {\r\n return obj1.two[0].number > obj2.two[0].number;\r\n } else if (obj1.type === 'three') {\r\n return obj1.three[0].number > obj2.three[0].number;\r\n } else if (obj1.type === 'threeWithOne') {\r\n return obj1.three[0].number > obj2.three[0].number;\r\n } else if (obj1.type === 'threeWithTwo') {\r\n return obj1.three[0].number > obj2.three[0].number;\r\n } else if (obj1.type === 'fourWithOne') {\r\n return obj1.four[0].number > obj2.four[0].number;\r\n } else if (obj1.type === 'fourWithTwo') {\r\n return obj1.four[0].number > obj2.four[0].number;\r\n } else if (obj1.type === 'threeWithOneList') {\r\n return obj1.list[0].three[0].number > obj2.list[0].three[0].number;\r\n } else if (obj1.type === 'threeWithTwoList') {\r\n return obj1.list[0].three[0].number > obj2.list[0].three[0].number;\r\n } else if (obj1.type === 'oneList') {\r\n return obj1.list[0].one[0].number > obj2.list[0].one[0].number;\r\n } else if (obj1.type === 'twoList') {\r\n return obj1.list[0].two[0].number > obj2.list[0].two[0].number;\r\n } else if (obj1.type === 'threeList') {\r\n return obj1.list[0].three[0].number > obj2.list[0].three[0].number;\r\n } else if (obj1.type === 'four') {\r\n return obj1.four[0].number > obj2.four[0].number;\r\n }\r\n }\r\n\r\n\r\n getAndDeleteOnePokerByNumber(number){\r\n for(let i=0; i3);\r\n\r\n do{\r\n let poker = this.pokerList.splice(0,1)[0];\r\n this.dizhu.addPoker(poker);\r\n }while(this.pokerList.length>0);\r\n\r\n for(let i=0; i\n
\n
\n \n {{player2Str[0]}}\n
\n {{player2Str[1]}}\n

\n {{player2Str[2]}}\n
\n
\n\n
\n \n {{player1Str[0]}}\n
\n {{player1Str[1]}}\n

\n {{player1Str[2]}}\n
\n
\n\n
\n \n {{player0Str[0]}}\n
\n {{player0Str[1]}}\n

\n {{player0Str[2]}}\n
\n
\n \n \n \n
\n
\n\n
\n
\n {{deskStr[0]}}\n
\n {{deskStr[1]}}\n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelloWorld.vue?vue&type=template&id=62298b0c&scoped=true&\"\nimport script from \"./HelloWorld.vue?vue&type=script&lang=js&\"\nexport * from \"./HelloWorld.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62298b0c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"user-select\":\"none\"}},[_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"0\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('span',[_vm._v(\" 手牌:\"+_vm._s(_vm.player2Str[1])+\" \"),_c('br'),_vm._v(\" 上次出牌:\"+_vm._s(_vm.player2Str[2])+\" \")])]),_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"right\":\"0\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('span',[_vm._v(\" 手牌:\"+_vm._s(_vm.player1Str[1])+\" \"),_c('br'),_vm._v(\" 上次出牌:\"+_vm._s(_vm.player1Str[2])+\" \")])]),_c('div',{staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"float\":\"left\",\"position\":\"fixed\",\"left\":\"600px\",\"top\":\"0px\",\"background-color\":\"aliceblue\",\"text-align\":\"center\"}},[_c('div',{staticStyle:{\"width\":\"300px\",\"word-wrap\":\"break-word\"}},[_vm._v(\" 已出的牌: \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.deskStr[1])+\" \")])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"left\":\"600px\",\"top\":\"300px\"}},[_c('button',{on:{\"click\":_vm.reStart}},[_vm._v(\"开始新一局\")])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"0\",\"width\":\"100%\",\"height\":\"200px\",\"line-height\":\"200px\"},style:({ marginLeft: _vm.playerMarginLeft-150 + 'px' })},[_vm._v(\" 你是 \"+_vm._s(_vm.game.playerList[0].type==='nongmin'?'农民':'地主')+\" \")]),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"0\",\"width\":\"100%\",\"height\":\"200px\"},style:({ marginLeft: _vm.playerMarginLeft + 'px' })},_vm._l((_vm.game.playerList[0].pokerList),function(item){return _c('div',{staticClass:\"poker\",class:{ selected: item.selected },on:{\"mouseenter\":function($event){return _vm.enter($event,item)},\"mousedown\":function($event){return _vm.pickPoker(item)}}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])}),0),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"200px\",\"width\":\"100%\",\"height\":\"100px\",\"text-align\":\"left\"}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"30px\"},style:({ marginLeft: _vm.buttonMarginLeft + 'px' })},[_c('button',{staticStyle:{\"height\":\"30px\",\"border-radius\":\"4px\",\"float\":\"left\"},on:{\"click\":_vm.sendPoker2}},[_vm._v(\"出牌\")]),_c('button',{staticStyle:{\"height\":\"30px\",\"border-radius\":\"4px\",\"margin-left\":\"20px\",\"float\":\"right\"},on:{\"click\":_vm.pass}},[_vm._v(\"不出\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.game.currentPlayer===_vm.game.playerList[0]),expression:\"game.currentPlayer===game.playerList[0]\"}],staticStyle:{\"color\":\"red\",\"width\":\"150px\",\"border\":\"solid\",\"border-radius\":\"4px\",\"float\":\"left\"}},[_vm._v(\" 请在\"+_vm._s(_vm.game.second)+\"秒内出牌 \")])])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"bottom\":\"400px\",\"width\":\"100%\",\"height\":\"200px\"},style:({ marginLeft: _vm.deskPokerMarginLeft + 'px' })},[_vm._l((_vm.deskPoker),function(item){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.deskPoker.length>0),expression:\"deskPoker.length>0\"}],staticClass:\"pokerDesk\"},[_vm._v(\" \"+_vm._s(item.text)+\" \")])}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.deskPoker.length===0),expression:\"deskPoker.length===0\"}],staticStyle:{\"height\":\"100%\",\"width\":\"100px\",\"float\":\"left\",\"margin-left\":\"-50px\",\"font-size\":\"50px\"}},[_vm._v(\" pass \")])],2),_c('div',{staticStyle:{\"position\":\"fixed\",\"top\":\"40px\",\"left\":\"20px\",\"height\":\"200px\",\"width\":\"100px\",\"border\":\"solid 1px\",\"border-radius\":\"8px\",\"background-color\":\"azure\",\"text-align\":\"center\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.game.playerList[2].type==='nongmin'?'农民':'地主')+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.game.playerList[2].name)+\" \")]),_c('p',[_vm._v(\" 剩余 \"+_vm._s(_vm.game.playerList[2].pokerList.length)+\" 张 \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.game.currentPlayer===_vm.game.playerList[2]),expression:\"game.currentPlayer===game.playerList[2]\"}],staticStyle:{\"color\":\"red\",\"width\":\"150px\",\"border\":\"solid\",\"border-radius\":\"4px\",\"position\":\"absolute\",\"bottom\":\"-50px\",\"left\":\"0\"}},[_vm._v(\" 请在\"+_vm._s(_vm.game.second)+\"秒内出牌 \")])]),_c('div',{staticStyle:{\"position\":\"fixed\",\"top\":\"40px\",\"right\":\"20px\",\"height\":\"200px\",\"width\":\"100px\",\"border\":\"solid 1px\",\"border-radius\":\"8px\",\"background-color\":\"azure\",\"text-align\":\"center\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.game.playerList[1].type==='nongmin'?'农民':'地主')+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.game.playerList[1].name)+\" \")]),_c('p',[_vm._v(\" 剩余 \"+_vm._s(_vm.game.playerList[1].pokerList.length)+\" 张 \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.game.currentPlayer===_vm.game.playerList[1]),expression:\"game.currentPlayer===game.playerList[1]\"}],staticStyle:{\"color\":\"red\",\"width\":\"150px\",\"border\":\"solid\",\"border-radius\":\"4px\",\"position\":\"absolute\",\"bottom\":\"-50px\",\"right\":\"0\"}},[_vm._v(\" 请在\"+_vm._s(_vm.game.second)+\"秒内出牌 \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Game.vue?vue&type=template&id=3cd822ae&scoped=true&\"\nimport script from \"./Game.vue?vue&type=script&lang=js&\"\nexport * from \"./Game.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Game.vue?vue&type=style&index=0&id=3cd822ae&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3cd822ae\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=51e9b17b&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false;\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app');\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=style&index=0&id=3cd822ae&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=style&index=0&id=3cd822ae&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/src/doudizhu/Game.js b/src/doudizhu/Game.js index e08d4d29dc52590931aeb16159bdf30ad5a74dae..56837a4ee12f1545181948f0d9188076599d10b1 100644 --- a/src/doudizhu/Game.js +++ b/src/doudizhu/Game.js @@ -9,7 +9,9 @@ class Game{ this.oldPokerList = []; this.currentPlayer = []; this.dizhu = null; - this.second = 20; + this.MaxSecond = 999999; + this.second = this.MaxSecond; + this.isOver = true; this.init(); } @@ -23,10 +25,13 @@ class Game{ } resetTime(){ - this.second = 20; + this.second = this.MaxSecond; } timeLoop(){ + if(this.isOver){ + return; + } this.second--; if(this.second === 0){ @@ -44,6 +49,7 @@ class Game{ } start(){ + this.isOver = false; this.timeLoop(); this.currentPlayer = this.dizhu; if(this.currentPlayer.isRobot){ @@ -66,6 +72,7 @@ class Game{ gameOver(){ alert('gameOver! '+this.currentPlayer.name+' ['+this.currentPlayer.type+'] win!'); + this.isOver = true; } checkGameOver(){ diff --git a/src/doudizhu/Player.js b/src/doudizhu/Player.js index e21041cfc6693f66bb330f1cfe35a83ce94e97ef..9725160b2cb5d2a736567d7a7415bd66b44fbb38 100644 --- a/src/doudizhu/Player.js +++ b/src/doudizhu/Player.js @@ -59,8 +59,8 @@ class Player{ } playByAllType(){ - let types2 = ['one','two','threeWithOne','threeWithTwo','threeWithOneList','threeWithTwoList','oneList','twoList','four','sx','pass']; - let types = ['threeWithTwoList','threeWithOneList','twoList','threeWithTwo','oneList','threeWithOne','two','one','four','sx','pass']; + let types2 = ['one','two','three','threeWithOne','threeWithTwo','fourWithOne','fourWithTwo','threeWithOneList','threeWithTwoList','oneList','twoList','threeList','four','sx','pass']; + let types = ['threeWithTwoList','threeWithOneList','threeList','twoList','fourWithTwo','fourWithOne','threeWithTwo','oneList','threeWithOne','three','two','one','four','sx','pass']; for(let i=0; i0){ + obj = { + type: type, + poker: Count3List[0], + three: Count3List[0], + }; + } }else if(type === 'threeWithOne'){ if(Count3List.length>0){ let one; @@ -222,55 +230,90 @@ class Player{ }; } } + }else if(type === 'fourWithOne'){ + if(Count4List.length>0){ + let one; + if(Count1List.length>0){ + one = Count1List[0]; + }else if(Count2List.length>0){ + one = Count2List[0].slice(0,1); + }else if(Count3List.length>0){ + one = Count3List[0].slice(0,1); + } + + if(one){ + obj = { + type: type, + poker: Count4List[0].concat(one), + four: Count4List[0], + one: one, + }; + } + } + }else if(type === 'fourWithTwo'){ + if(Count4List.length>0){ + let two; + if(Count2List.length>0){ + two = Count2List[0]; + }else if(Count3List.length>0){ + two = Count3List[0].slice(0,2); + } + + if(two){ + obj = { + type: type, + poker: Count4List[0].concat(two), + four: Count4List[0], + two: two, + }; + } + } }else if(type === 'threeWithOneList'){ - if(Count3List.length>1){ - for(let i=0; i=2){ + for(let i=0; i0){ - one1 = Count1List[0]; - if(Count1List.length>1){ - one2 = Count1List[1]; - }else{ - if(Count2List.length>0){ - one2 = Count2List[0].slice(0,1); - }else if(Count3List.length>0){ - for(let j=0; j0){ - one1 = Count2List[0].slice(0,1); - one2 = Count2List[0].slice(1,2); - }else if(Count3List.length>0){ - for(let j=0; j1){ - for(let i=0; i=2){ + for(let i=0; i0){ - two1 = Count2List[0]; - if(Count2List.length>1){ - two2 = Count2List[1]; - }else{ - for(let j=0; j=5 ){ + if(Count1List.length>=5){ for(let i=0; i=3 ){ for(let i=0; i=2 ){ + for(let i=0; i=2){ for(let i=0; i0){ + for(let i=0; ilastObj.three[0].number){ + obj = { + type: type, + poker: Count3List[i], + three: Count3List[i], + }; + break; + } + } + } }else if(type === 'threeWithOne'){ if(Count3List.length>0){ for(let i=0; i1){ - for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+1===Count3List[i+1][0].number+1){ + }else if(type === 'fourWithOne'){ + if(Count4List.length>0){ + for(let i=0; ilastObj.four[0].number){ - let one1,one2; + let one; if(Count1List.length>0){ - one1 = Count1List[0]; - if(Count1List.length>1){ - one2 = Count1List[1]; - }else{ - if(Count2List.length>0){ - one2 = Count2List[0].slice(0,1); - }else if(Count3List.length>0){ - for(let j=0; j0){ - one1 = Count2List[0].slice(0,1); - one2 = Count2List[0].slice(1,2); + one = Count2List[0].slice(0,1); }else if(Count3List.length>0){ - for(let j=0; j1){ - for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+1===Count3List[i+1][0].number+1){ + }else if(type === 'fourWithTwo'){ + if(Count4List.length>0){ + for(let i=0; ilastObj.four[0].number){ - let two1,two2; + let two; if(Count2List.length>0){ - two1 = Count2List[0]; - if(Count2List.length>1){ - two2 = Count2List[1]; - }else{ - for(let j=0; j0){ + two = Count3List[0].slice(0,2); + } + + if(two){ + obj = { + type: type, + poker: Count4List[i].concat(two), + four: Count4List[i], + two: two, + }; + } + break; + } + } + } + }else if(type === 'threeWithOneList'){ + if(Count3List.length>=lastObj.list.length){ + for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){ + + let oneList = []; + + for(let j=0; j=lastObj.list.length){ + for(let i=0; ilastObj.list[0].three[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){ + + let twoList = []; + + for(let j=0; j=lastObj.list.length ){ for(let i=0; ilastObj.list[0].one[0].number && Count1List[i][0].number+lastObj.list.length-1===Count1List[i+lastObj.list.length-1][0].number){ + if(Count1List[i][0].number>lastObj.list[0].one[0].number && Count1List[i][0].number+lastObj.list.length-1===Count1List[i+lastObj.list.length-1][0].number && Count1List[i+lastObj.list.length-1][0].number<=14){ let list = Count1List.slice(i,i+lastObj.list.length); obj = { type: type, @@ -655,7 +776,7 @@ class Player{ }else if(type === 'twoList'){ if(Count2List.length>=lastObj.list.length ){ for(let i=0; ilastObj.list[0].two[0].number && Count2List[i][0].number+lastObj.list.length-1===Count2List[i+lastObj.list.length-1][0].number){ + if(Count2List[i][0].number>lastObj.list[0].two[0].number && Count2List[i][0].number+lastObj.list.length-1===Count2List[i+lastObj.list.length-1][0].number && Count2List[i+lastObj.list.length-1][0].number<=14){ let list = Count2List.slice(i,i+lastObj.list.length); obj = { type: type, @@ -670,6 +791,24 @@ class Player{ } } } + }else if(type === 'threeList'){ + if(Count3List.length>=lastObj.list.length ){ + for(let i=0; ilastObj.list[0].two[0].number && Count3List[i][0].number+lastObj.list.length-1===Count3List[i+lastObj.list.length-1][0].number && Count3List[i+lastObj.list.length-1][0].number<=14){ + let list = Count3List.slice(i,i+lastObj.list.length); + obj = { + type: type, + poker: list.flat(1), + list: list.map(function (item) { + return { + three: item, + } + }), + }; + break; + } + } + } }else if(type === 'four'){ if(Count4List.length>0){ for(let i=0; i obj2.one[0].number; } else if (obj1.type === 'two') { return obj1.two[0].number > obj2.two[0].number; + } else if (obj1.type === 'three') { + return obj1.three[0].number > obj2.three[0].number; } else if (obj1.type === 'threeWithOne') { return obj1.three[0].number > obj2.three[0].number; } else if (obj1.type === 'threeWithTwo') { return obj1.three[0].number > obj2.three[0].number; + } else if (obj1.type === 'fourWithOne') { + return obj1.four[0].number > obj2.four[0].number; + } else if (obj1.type === 'fourWithTwo') { + return obj1.four[0].number > obj2.four[0].number; } else if (obj1.type === 'threeWithOneList') { return obj1.list[0].three[0].number > obj2.list[0].three[0].number; } else if (obj1.type === 'threeWithTwoList') { @@ -866,6 +1017,8 @@ class Player{ return obj1.list[0].one[0].number > obj2.list[0].one[0].number; } else if (obj1.type === 'twoList') { return obj1.list[0].two[0].number > obj2.list[0].two[0].number; + } else if (obj1.type === 'threeList') { + return obj1.list[0].three[0].number > obj2.list[0].three[0].number; } else if (obj1.type === 'four') { return obj1.four[0].number > obj2.four[0].number; } diff --git a/src/doudizhu/Poker.js b/src/doudizhu/Poker.js index fc3004dbc17df7ac13729fcb1d239b3ec7c79d71..44940846fffd86a06c874ad5944acf532e2163df 100644 --- a/src/doudizhu/Poker.js +++ b/src/doudizhu/Poker.js @@ -131,6 +131,16 @@ class Poker{ }; } + }else if(pokerList.length === 3){ + + if(Count3List.length === 1){ + return { + type:'three', + poker: pokerList, + three: pokerList, + }; + } + }else if(pokerList.length === 4){ if(Count3List.length === 1){ @@ -157,54 +167,58 @@ class Poker{ three: Count3List[0], two: Count2List[0], }; + }else if(Count4List.length === 1 && Count1List.length === 1){ + return { + type:'fourWithOne', + poker: pokerList, + four: Count4List[0], + one: Count1List[0], + }; } - }else if(pokerList.length === 8){ + }else if(pokerList.length === 6){ - if(Count3List.length === 2 && Count3List[0][0].number+1===Count3List[1][0].number){ - if(Count2List.length === 1){ - Count1List.push(Count2List[0].splice(0,1)); - Count1List.push(Count2List[0].splice(0,1)); - } + if(Count4List.length === 1 && Count2List.length === 1){ return { - type:'threeWithOneList', + type:'fourWithTwo', poker: pokerList, - list: [ - { - three: Count3List[0], - one: Count1List[0], - }, - { - three: Count3List[1], - one: Count1List[1], - } - ], + four: Count4List[0], + two: Count2List[0], }; } - }else if(pokerList.length === 10){ + } - if(Count3List.length === 2 && Count3List[0][0].number+1===Count3List[1][0].number && Count2List.length === 2){ + if(Count3List.length>=2 && Count3List[Count3List.length-1][0].number<=14 && Count3List[0][0].number+Count3List.length-1===Count3List[Count3List.length-1][0].number){ + //threeWithOneList + if(pokerList.length-3*Count3List.length===Count3List.length){ return { - type:'threeWithTwoList', + type:'threeWithOneList', poker: pokerList, - list: [ - { - three: Count3List[0], - two: Count2List[0], - }, - { - three: Count3List[1], - two: Count2List[1], - } - ], + list: Count3List.map(function (item) { + return { + three: item, + }; + }), }; + }else{ + //threeWithTwoList + if(Count2List.length===Count3List.length){ + return { + type:'threeWithTwoList', + poker: pokerList, + list: Count3List.map(function (item) { + return { + three: item, + }; + }), + }; + } } - } //判断oneList - if(pokerList.length >= 5 && Count1List.length === pokerList.length && pokerList[0].number+pokerList.length-1===pokerList[pokerList.length-1].number){ + if(pokerList.length >= 5 && pokerList[pokerList.length-1].number<=14 && Count1List.length === pokerList.length && pokerList[0].number+pokerList.length-1===pokerList[pokerList.length-1].number){ return { type:'oneList', poker: pokerList, @@ -217,7 +231,7 @@ class Poker{ } //判断twoList - if(pokerList.length >= 6 && pokerList.length%2 === 0 && Count2List.length === pokerList.length/2 && pokerList[0].number+pokerList.length/2-1===pokerList[pokerList.length-1].number){ + if(pokerList.length >= 6 && pokerList[pokerList.length-1].number<=14 && pokerList.length%2 === 0 && Count2List.length === pokerList.length/2 && pokerList[0].number+pokerList.length/2-1===pokerList[pokerList.length-1].number){ return { type:'twoList', poker: pokerList, @@ -229,6 +243,19 @@ class Poker{ } } + //判断threeList + if(pokerList.length >= 6 && pokerList[pokerList.length-1].number<=14 && pokerList.length%3 === 0 && Count3List.length === pokerList.length/3 && pokerList[0].number+pokerList.length/3-1===pokerList[pokerList.length-1].number){ + return { + type:'threeList', + poker: pokerList, + list: Count3List.map(function (item) { + return { + three: item, + } + }), + } + } + return false; }