From 2378e2019ccab80c78e1abfcd1c1e9910a310cff Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 01:47:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=A0=BC=E5=AD=90=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E8=A2=AB=E5=8D=A0=E6=9C=89=E4=B8=94=E6=B2=A1=E6=9C=89=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=90=88=E5=B9=B6=E7=9A=84JOY=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E5=9B=9E=E6=94=B6=E4=BD=8E=E7=BA=A7=E7=9A=84JOY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8824b85a..ceaf0e1b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -210,6 +210,16 @@ async function jdJxStory() { $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } + + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY + if(checkHasFullOccupied() && !checkCanMerge()) { + const minYoyId = Math.min(...$.joyIds); + const boxId = $.joyIds.indexOf(minYoyId); + console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minYoyId}的JOY`) + await sellJoy(minYoyId, boxId); + await getJoyList(); + } + for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { $.log(`金币不足,跳过购买`) @@ -248,6 +258,26 @@ async function jdJxStory() { console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } +function checkHasFullOccupied() { + return !$.joyIds.includes(0); +} + +function checkCanMerge() { + let obj = {}; + let canMerge = false; + $.joyIds.forEach((vo, idx) => { + if (vo !== 0) { + if (obj[vo]) { + obj[vo].push(idx) + canMerge = true; + } else { + obj[vo] = [idx] + } + } + }); + return canMerge; +} + function getJoyList() { $.joyIds = [] return new Promise(async resolve => { @@ -362,6 +392,38 @@ function buyJoy(joyId) { }) } +// 出售(回收)joy +function sellJoy(joyId, boxId) { + const body = {"action": "SELL", "joyId": joyId, "boxId": boxId} + return new Promise((resolve) => { + $.get(taskUrl('crazyJoy_joy_trade', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + data = JSON.parse(data); + if (data.success) { + if (data.data.eventInfo) { + await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) + $.canBuy = false + return + } + $.log(`回收${joyId}级joy成功,剩余金币【${data.data.totalCoins}】`) + $.coin = data.data.totalCoins + } else { + console.log(data.message) + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} + function hourBenefit() { let body = {"eventType": "HOUR_BENEFIT"} return new Promise(async resolve => { From 6419286ef3927f4a04e8a710f3d1a4e95174bab1 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 01:52:05 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index ceaf0e1b..25969487 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -213,10 +213,10 @@ async function jdJxStory() { // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY if(checkHasFullOccupied() && !checkCanMerge()) { - const minYoyId = Math.min(...$.joyIds); - const boxId = $.joyIds.indexOf(minYoyId); - console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minYoyId}的JOY`) - await sellJoy(minYoyId, boxId); + const minJoyId = Math.min(...$.joyIds); + const boxId = $.joyIds.indexOf(minJoyId); + console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) + await sellJoy(minJoyId, boxId); await getJoyList(); } From d3bb982cf042a0b44609e358210f8b11da1dface Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 10:03:22 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=90=88=E5=B9=B6=EF=BC=8C=E5=BF=BD=E7=95=A5?= =?UTF-8?q?=E6=8E=8934=E7=BA=A7JOY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 25969487..4119d7c7 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -266,7 +266,7 @@ function checkCanMerge() { let obj = {}; let canMerge = false; $.joyIds.forEach((vo, idx) => { - if (vo !== 0) { + if (vo !== 0 && vo !== 34) { if (obj[vo]) { obj[vo].push(idx) canMerge = true; From caaf3922124d8e20e0f7ce41c0b777ed4038c0ac Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 17:57:51 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B2=A1=E6=9C=8934=E7=BA=A7JOY=E6=97=B6?= =?UTF-8?q?=E6=89=8D=E4=BC=9A=E6=89=A7=E8=A1=8C=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4119d7c7..089eac49 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -211,8 +211,8 @@ async function jdJxStory() { $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } - // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY - if(checkHasFullOccupied() && !checkCanMerge()) { + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY (没有34级JOY时才会执行) + if(checkHasFullOccupied() && !checkCanMerge() && !checkHas34Level()) { const minJoyId = Math.min(...$.joyIds); const boxId = $.joyIds.indexOf(minJoyId); console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) @@ -262,6 +262,11 @@ function checkHasFullOccupied() { return !$.joyIds.includes(0); } +// 查询是否有34级JOY +function checkHas34Level() { + return $.joyIds.includes(34); +} + function checkCanMerge() { let obj = {}; let canMerge = false;