1 2 3 4 5 6 7 8 9 10 11 12 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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 華麗大賽計分程式! 使用前請注意: 。只能正確檢測到每一回合擲骰格式皆為【訓練家 名字】+11bz,且評審分為最後一骰的回覆 。同一回覆有其他自訂表符、角色發言與表演敘述沒問題 。以下情況可能造成檢測失誤: 【】替換為其他符號 同一回覆內的BZ數超過正常擲骰數 同一回覆內有其他噗浪隨機骰(dice之類的) 訓練家名牌與11bz不在同一回覆內 其他掛有名牌的回覆內也有噗浪隨機骰(單骰影響不大,但大概會造成回合數怪怪的) 教學: 。將華麗競賽噗另開分頁 。在該分頁中快樂按下F12,會跳出開發者工具 。點選右上的Console 。將本噗浪貼最下面的一整串程式碼複製貼上,按下enter 。撘啦! 。本程式僅供計算參考,若有疑慮請自行驗算 。歡迎回報錯誤! ---<以下請全數複製貼上>--- let colorList = ['黑','紅','藍','綠']; let bzSrc = ['https://emos.plurk.com/c5022c482debf1e676b85ed27a2dfcf4_w27_h27.png', 'https://emos.plurk.com/c718165a2a5a82544b19e16e7e8b60b1_w27_h27.png', 'https://emos.plurk.com/5d60d668f7ac4be891ede34aa26d0e7c_w27_h27.png', 'https://emos.plurk.com/8c44aa62f1d54b659dbdeb8d5cbef332_w27_h27.png'] function judge(){ let bigPlurk = document.getElementsByClassName('bigplurk')[0]; let emoticons = bigPlurk.getElementsByClassName('emoticon_my'); for(i=0;i<emoticons.length;i++){ let emoSrc = bzSrc.indexOf(emoticons[i].src); if(emoSrc > -1){ contests(emoSrc); } } } function contests(judge){ let judgeColor = judge; let judgeScore = [0,0,1,3,5,10]; let trainers = []; let allResponse = document.getElementsByClassName('response') for(r=0;r<allResponse.length;r++){ let response = allResponse[r].getElementsByClassName('text_holder')[0]; let responseHtml = response.innerHTML; let trainer = responseHtml.substring(responseHtml.indexOf('【'),responseHtml.indexOf('】')+1); if(response.getElementsByClassName('emoticon').length > 10){ function isTrainer(trainers) { return trainers.name === trainer; } if (!trainers.find(isTrainer)) { trainers.push({name: trainer, scores: []}) } let getBz = response.getElementsByClassName('emoticon'); let scoreList1 = [0,0,0,0]; let scoreList2 = [0,0,0,0]; let judge; let singalScore = 0; for(i=0;i<10;i++){ let bzColor = parseInt(getBz[i].getAttribute('rndnum'))-1; if(i<5){ scoreList1[bzColor]++; }else{ scoreList2[bzColor]++; } } for(i=0;i<4;i++){ singalScore += judgeScore[scoreList1[i]]; singalScore += judgeScore[scoreList2[i]]; let sameColor = Math.min(scoreList1[i],scoreList2[i]); if(sameColor == 3){ singalScore += 3; }else if(sameColor == 4){ singalScore += 5; }else if(sameColor == 5){ singalScore += 10; } } if(parseInt(getBz[10].getAttribute('rndnum'))-1 == judgeColor){ singalScore += 3; } trainers.find(isTrainer).scores.push(singalScore); } } let result = ''; for(i=0;i<trainers.length;i++){ let trainerName = trainers[i].name; let trainerScores = trainers[i].scores.join(' + ') let trainerTotal = ' = ' + trainers[i].scores.reduce((a, b) => a + b, 0); result += trainerName + trainerScores + trainerTotal + '\n'; } alert(result); } judge(); |
Direct link: https://paste.plurk.com/show/y1Ecjbx3QQKqmNG9JC4t