一切的故事,就由你来书写吧,总队长。
交错战线WIKI攻略组,NERI调查组诚招有志的你与我们一起书写百科全书
点击此处加入我们
一切的故事,就由你来书写吧,总队长。
交错战线WIKI攻略组,NERI调查组诚招有志的你与我们一起书写百科全书
点击此处加入我们
Widget:构建模拟器抽卡计算
<style> select {
width: 100%; color: black;
}
</style> <script> document.addEventListener('DOMContentLoaded', function() { // 定义一个函数来获取指定ID的元素内容,并返回分割后的数组 function getContentAsArray(id, delimiter) {
var element = document.getElementById(id); if (element) { return element.textContent.trim().split(delimiter); } return []; // 如果元素不存在,返回空数组
}
// 定义一个函数来将文本内容分割为数组 function cutContentAsArray(id, delimiter) {
// 获取div元素 var divElement = document.getElementById(id); // 检查元素是否存在 if (divElement) { // 获取元素的文本内容 var textContent = divElement.textContent || divElement.innerText; // 兼容不同的浏览器 // 将文本内容按逗号分割为数组 return textContent.trim().split(delimiter); // 使用trim()去除可能的前后空格 } else { } return []; // 如果元素不存在,返回空数组
}
// 定义一个函数来创建下拉框并设置选项 function createSelect(id, options) {
// 获取原始的元素
var td = document.getElementById(id);
// 清空的HTML内容
td.innerHTML = ; // 创建<select>元素 var select = document.createElement('select');
// 复制元素的类名到<select>元素(如果有的话)
if (td.className) { select.className = td.className; } // 为<select>添加选项 for (var i = 0; i < options.length; i++) { var option = document.createElement('option'); option.textContent = options[i]; //option.value = options[i]; option.value = i; if (i === 0) { option.setAttribute('selected', 'selected'); // 设置第一个选项为默认选中 } select.appendChild(option); }
// 将<select>添加到的父元素中,并替换
td.parentNode.replaceChild(select, td);
}
// 定义一个函数来改变下拉框选项
function changeSelect(id, RtableArray) {
var RSelectchange = document.querySelector(id);
// 清空select元素的所有选项 while (RSelectchange.firstChild) { RSelectchange.removeChild(RSelectchange.firstChild); }
//console.log(RSelectchange); //console.log(RtableArray);
// 遍历数组,为每个文本创建新的<option>元素并添加到<select>中 RtableArray.forEach(function(optionText) { var option = document.createElement("option"); option.textContent = optionText.trim(); // 确保选项文本没有额外的空格 RSelectchange.appendChild(option); });
}
// 为创建下拉框并添加选项,以后更新只需在该数组后面按格式添加版本号即可
createSelect('VersionSelect', ['v1.0:6★荧', 'v1.1:6★纳格陵、哈迪斯', 'v1.2:6★莉普丝', 'v1.3:6★阿瑞斯、5★雅典娜', 'v1.4:6★布伦希尔德、坍陨、5★格恩达尔', 'v1.5:6★哈托莉', 'v1.6:6★袅韵', 'v1.7:6★丝卡蒂、5★洛基', 'v1.8:6★乌斯怀亚']);
// 从ID="gettableR60"获取内容,并使用split(",")将其设置为数组 var R6contentArray = getContentAsArray('gettableR60', ','); // 如果数组不为空,则在数组第一项添加"无" if (R6contentArray.length > 0) {
R6contentArray.unshift('无'); // 在数组开头添加"无"
} else {
R6contentArray = ['无']; // 如果数组为空,则创建一个只包含"无"的数组
}
// 为创建下拉框并添加选项
createSelect('getSixUpSelect', R6contentArray);
// 从ID="gettableR50"获取内容,并使用split(",")将其设置为数组 var R5contentArray = getContentAsArray('gettableR50', ','); // 如果数组不为空,则在数组第一项添加"无" if (R5contentArray.length > 0) {
R5contentArray.unshift('无'); // 在数组开头添加"无"
} else {
R5contentArray = ['无']; // 如果数组为空,则创建一个只包含"无"的数组
}
// 为创建下拉框并添加选项
createSelect('getFiveUpSelect', R5contentArray);
// 获取下拉框元素 let Selectchange = document.querySelector('.VersionSelect');
// 添加事件监听器 Selectchange.addEventListener('change', function() {
// 移除所有class为"active"的表格的"active"标签 var tables = document.querySelectorAll('.wikitable.gettable'); tables.forEach(function(table) { table.classList.remove('active'); }); // 获取当前选中的值,这里假设它是表格的ID var selectedId = this.value; // 查找与选中ID对应的表格,并添加"active"标签 var selectedTable = document.getElementById(selectedId); if (selectedTable && selectedTable.classList.contains('wikitable') && selectedTable.classList.contains('gettable')) { selectedTable.classList.add('active'); //计算新的表格ID var R6tableId = 'gettableR6' + selectedId; var R5tableId = 'gettableR5' + selectedId;
// 替换六星定向下拉框选项 var R6tableArray = getContentAsArray(R6tableId, ','); // 如果数组不为空,则在数组第一项添加"无" if (R6tableArray.length > 0) { R6tableArray.unshift('无'); // 在数组开头添加"无" } else { R6tableArray = ['无']; // 如果数组为空,则创建一个只包含"无"的数组 } changeSelect('.getSixUpSelect', R6tableArray) // 替换五星定向下拉框选项 var R5tableArray = getContentAsArray(R5tableId, ','); // 如果数组不为空,则在数组第一项添加"无" if (R5tableArray.length > 0) { R5tableArray.unshift('无'); // 在数组开头添加"无" } else { R5tableArray = ['无']; // 如果数组为空,则创建一个只包含"无"的数组 } changeSelect('.getFiveUpSelect', R5tableArray) //console.log(R6tableIdelement); } else { // 如果没有找到匹配的表格或者找到的表格不具有所需的类,可以执行一些错误处理 alert('没有找到匹配的表格或表格不具有所需的类'); } // 显示选中的ID(可选) // alert(selectedId); // 初始化变量 PullNum = 0; R6upNum = 0; R6Num = 0; R5upNum = 0; R5Num = 0; R4Num = 0; R3Num = 0; // 十连抽必出一个五星角色;每50抽保底必出一个六星角色; // 连续两次抽不到定向六星角色,第三个六星角色必为定向六星角色(获得定向六星角色后重置该次数) costNum = 0; //保底五十抽 notR6upNum = 2; //连续两次抽不到定向六星角色(获得定向六星角色后重置该次数) showPullNumDiv.innerHTML = '已构建次数:' + PullNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150; showPullDiv.innerHTML = ; //更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num;
});
// 获取下拉框元素 let SixUpSelectchange = document.querySelector('.getSixUpSelect');
// 添加事件监听器 SixUpSelectchange.addEventListener('change', function() {
// 初始化变量 PullNum = 0; R6upNum = 0; R6Num = 0; R5upNum = 0; R5Num = 0; R4Num = 0; R3Num = 0; // 十连抽必出一个五星角色;每50抽保底必出一个六星角色; // 连续两次抽不到定向六星角色,第三个六星角色必为定向六星角色(获得定向六星角色后重置该次数) costNum = 0; //保底五十抽 notR6upNum = 2; //连续两次抽不到定向六星角色(获得定向六星角色后重置该次数) showPullNumDiv.innerHTML = '已构建次数:' + PullNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150; showPullDiv.innerHTML = ; //更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num;
});
// 获取下拉框元素 let FiveUpSelectchange = document.querySelector('.getFiveUpSelect');
// 添加事件监听器 FiveUpSelectchange.addEventListener('change', function() {
// 初始化变量 PullNum = 0; R6upNum = 0; R6Num = 0; R5upNum = 0; R5Num = 0; R4Num = 0; R3Num = 0; // 十连抽必出一个五星角色;每50抽保底必出一个六星角色; // 连续两次抽不到定向六星角色,第三个六星角色必为定向六星角色(获得定向六星角色后重置该次数) costNum = 0; //保底五十抽 notR6upNum = 2; //连续两次抽不到定向六星角色(获得定向六星角色后重置该次数) showPullNumDiv.innerHTML = '已构建次数:' + PullNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150; showPullDiv.innerHTML = ; //更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num;
});
// 获取需要的DOM元素 var onePullDiv = document.getElementById('one-pull'); var tenPullDiv = document.getElementById('ten-pull'); var cleanbtn = document.getElementById('cleanbtn'); var showPullDiv = document.getElementById('show-pull'); var showPullNumDiv = document.getElementById('show-pull-num'); var ResourceTablecard = document.getElementById('ResourceTable-card'); var ResourceTablefree = document.getElementById('ResourceTable-free'); var ResourceTablegold = document.getElementById('ResourceTable-gold'); var ResultTableR6up = document.getElementById('ResultTable-R6up'); var ResultTableR6 = document.getElementById('ResultTable-R6'); var ResultTableR5up = document.getElementById('ResultTable-R5up'); var ResultTableR5 = document.getElementById('ResultTable-R5'); var ResultTableR4 = document.getElementById('ResultTable-R4'); var ResultTableR3 = document.getElementById('ResultTable-R3'); // 获取测试角色图鉴的DOM元素 //var showTemplateDiv = document.getElementById('show-template'); //获取预存角色图鉴DOM元素并调整以" "分隔符的数组 var SixStarsDiv = document.getElementById('SixStars').innerHTML.split(" "); if (SixStarsDiv.length > 1) { //预处理,删除最后一个多余的空数组 SixStarsDiv.length--; } //console.log('获得的六星角色为:' + SixStarsDiv); var FiveStarsDiv = document.getElementById('FiveStars').innerHTML.split(" "); if (FiveStarsDiv.length > 1) { //预处理,删除最后一个多余的空数组 FiveStarsDiv.length--; } //console.log('获得的五星角色为:' + FiveStarsDiv); var FourStarsDiv = document.getElementById('FourStars').innerHTML.split(" "); if (FourStarsDiv.length > 1) { //预处理,删除最后一个多余的空数组 FourStarsDiv.length--; } //console.log('获得的四星角色为:' + FourStarsDiv); var ThreeStarsDiv = document.getElementById('ThreeStars').innerHTML.split(" "); if (ThreeStarsDiv.length > 1) { //预处理,删除最后一个多余的空数组 ThreeStarsDiv.length--; } //console.log('获得的三星角色为:' + ThreeStarsDiv); // 定义全局权重 var sixStarsUPWeight; var fiveStarsUPWeight; var sixStarsWeight; var fiveStarsWeight; var fourStarsWeight; var threeStarsWeight; // 初始化变量 var PullNum = 0;// 抽卡次数 var R6upNum = 0;// 定向六星角色获得数 var R6Num = 0;// 六星角色获得数 var R5upNum = 0;// 定向五星角色获得数 var R5Num = 0;// 五星角色获得数 var R4Num = 0;// 四星角色获得数 var R3Num = 0;// 三星角色获得数 // 10连构建必得一个五星角色;最多50次构建必定获得一个六星角色; // 如果连续2次,没有获得定向六星角色,则下一次构建获得的六星角色必为定向六星角色(获得定向六星角色后重置该次数) //定向六星角色占六星角色出率的50%;定向五星角色占五星角色出率的50% var costNum = 0; //保底五十抽 var notR6upNum = 2; //连续两次抽不到定向六星角色(获得定向六星角色后重置该次数)
// 设置一个函数实时计算权重
function CalculateWeights(Rtype) {
let nowtable = document.querySelector('.wikitable.gettable.active'); if (nowtable) { // 获取并打印元素的ID var nowtableId = nowtable.id; //console.log('找到的表格的ID是: ' + nowtableId); } else { //console.log('没有找到匹配的表格'); } // 调整为对应的单元格ID let R6tableID='gettableR6' + nowtableId; let R5tableID='gettableR5' + nowtableId; let R4tableID='gettableR4' + nowtableId; let R3tableID='gettableR3' + nowtableId; //获得当前下拉框文本内容 let nowR6Select = document.querySelector('.getSixUpSelect'); // 获取当前选中的option元素 var R6selectedOption = nowR6Select.options[nowR6Select.selectedIndex]; // 获取当前选项的文本内容 var R6optionText = R6selectedOption.text.trim(); // 根据选项文本内容设置sixStarsUP var sixStarsUP = R6optionText === "无" ? [] : [R6optionText];
let nowR5Select = document.querySelector('.getFiveUpSelect'); // 获取当前选中的option元素 var R5selectedOption = nowR5Select.options[nowR5Select.selectedIndex]; // 获取当前选项的文本内容 var R5optionText = R5selectedOption.text.trim(); // 根据选项文本内容设置sixStarsUP var fiveStarsUP = R5optionText === "无" ? [] : [R5optionText];
let sixStars=getContentAsArray(R6tableID, ','); let fiveStars=getContentAsArray(R5tableID, ','); let fourStars=getContentAsArray(R4tableID, ','); let threeStars=getContentAsArray(R3tableID, ',');
// 计算权重 sixStarsUPWeight = sixStarsUP.length > 0 ? 1 / sixStarsUP.length : 0; fiveStarsUPWeight = fiveStarsUP.length > 0 ? 4 / fiveStarsUP.length : 0;
if (sixStarsUP.length > 0) { sixStarsWeight = sixStars.length > 0 ? 1 / sixStars.length : 1; } else { sixStarsWeight = sixStars.length > 0 ? 2 / sixStars.length : 2; } if (fiveStarsUP.length > 0) { fiveStarsWeight = fiveStars.length > 0 ? 4 / fiveStars.length : 4; } else { fiveStarsWeight = fiveStars.length > 0 ? 8 / fiveStars.length : 8; }
fourStarsWeight = fourStars.length > 0 ? 40 / fourStars.length : 40; threeStarsWeight = threeStars.length > 0 ? 50 / threeStars.length : 50; //console.log('6星up权重为:' + sixStarsUPWeight + ',5星up权重为:' + fiveStarsUPWeight + ',6星权重为:' + sixStarsWeight + ',5星权重为:' + fiveStarsWeight + ',4星权重为:' + fourStarsWeight + ',3星权重为:' + threeStarsWeight);
let totalWeight = sixStarsUPWeight * sixStarsUP.length + fiveStarsUPWeight * fiveStarsUP.length + sixStarsWeight * sixStars.length + fiveStarsWeight * fiveStars.length + fourStarsWeight * fourStars.length + threeStarsWeight * threeStars.length; if (Rtype === 'R6') { var randomNum = Math.floor(Math.random() * sixStars.length); if (sixStarsUP.length > 0) { var compareone = sixStarsUP[0].trim(); var comparetwo= sixStars[randomNum].trim(); if (compareone === comparetwo) { return '六星限时,' + sixStarsUP[0]; } else { return '六星,' + sixStars[randomNum]; } } else { return '六星,' + sixStars[randomNum]; } //console.log('角色为:' + sixStars[randomNum]); } else if (Rtype === 'R6up') { if (sixStarsUP.length > 0) { var randomNum = Math.floor(Math.random() * sixStarsUP.length); return '六星限时,' + sixStarsUP[randomNum]; } else { return '六星限时,无'; } } else if (Rtype === 'R5') { var randomNum = Math.floor(Math.random() * fiveStars.length); if (fiveStarsUP.length > 0) { var compareone = fiveStarsUP[0].trim(); var comparetwo= fiveStars[randomNum].trim(); if (compareone === comparetwo) { R5upNum++; return '五星限时,' + fiveStarsUP[0]; } else { R5Num++; return '五星,' +fiveStars[randomNum]; } } else { R5Num++; return '五星,' +fiveStars[randomNum]; } //console.log('角色为:' + fiveStars[randomNum]); } else { var randomNum = Math.random() * totalWeight; //console.log('总权重为:' + totalWeight + ',随机数为:' + randomNum); }
if (randomNum < sixStarsUPWeight * sixStarsUP.length) { // 六星限时出货 var randomindex = Math.floor(randomNum / sixStarsUPWeight); return '六星限时,' + sixStarsUP[randomindex]; } else if (randomNum < sixStarsUPWeight * sixStarsUP.length + fiveStarsUPWeight * fiveStarsUP.length) { // 五星限时出货 R5upNum++; var randomindex = Math.floor((randomNum - sixStarsUPWeight * sixStarsUP.length) / fiveStarsUPWeight); return '五星限时,' + fiveStarsUP[randomindex]; } else if (randomNum < sixStarsUPWeight * sixStarsUP.length + fiveStarsUPWeight * fiveStarsUP.length + sixStarsWeight * sixStars.length) { // 六星出货 var randomindex = Math.floor((randomNum - sixStarsUPWeight * sixStarsUP.length - fiveStarsUPWeight * fiveStarsUP.length) / sixStarsWeight); return '六星,' + sixStars[randomindex]; } else if (randomNum < sixStarsUPWeight * sixStarsUP.length + fiveStarsUPWeight * fiveStarsUP.length + sixStarsWeight * sixStars.length + fiveStarsWeight * fiveStars.length) { // 五星出货 R5Num++; var randomindex = Math.floor((randomNum - sixStarsUPWeight * sixStarsUP.length - fiveStarsUPWeight * fiveStarsUP.length - sixStarsWeight * sixStars.length) / fiveStarsWeight); return '五星,' + fiveStars[randomindex]; } else if (randomNum < sixStarsUPWeight * sixStarsUP.length + fiveStarsUPWeight * fiveStarsUP.length + sixStarsWeight * sixStars.length + fiveStarsWeight * fiveStars.length + fourStarsWeight * fourStars.length) { // 四星出货 R4Num++; var randomindex = Math.floor((randomNum - sixStarsUPWeight * sixStarsUP.length - fiveStarsUPWeight * fiveStarsUP.length - sixStarsWeight * sixStars.length - fiveStarsWeight * fiveStars.length) / fourStarsWeight ); return '四星,' + fourStars[randomindex]; } else { // 三星出货 R3Num++; var randomindex = Math.floor((randomNum - sixStarsUPWeight * sixStarsUP.length - fiveStarsUPWeight * fiveStarsUP.length - sixStarsWeight * sixStars.length - fiveStarsWeight * fiveStars.length - fourStarsWeight * fourStars.length) / threeStarsWeight); return '三星,' + threeStars[randomindex]; }
}
//单抽事件 // 为onePullDiv绑定点击事件 onePullDiv.addEventListener('click', function() {
// 清除showPullDiv的内容 showPullDiv.innerHTML = ; PullNum++; costNum++; // 获取showTemplateDiv中的HTML内容 //var templateHtml = showTemplateDiv.innerHTML; // 将获取到的HTML内容(包括其样式)设置到showPullDiv中 showPullNumDiv.innerHTML = '已构建次数:' + PullNum + ',保底50次已构建:' + costNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150;
//提前获取6星限时角色名称,以备后面比较 var upCharacter = CalculateWeights('R6up') ; var upCharacterArray = upCharacter.trim().split(','); var upCharacteStar = upCharacterArray[0].trim(); var upCharacteName = upCharacterArray[1].trim(); //console.log('六星限时角色星级为:' + upCharacteStar + ',名称为' + upCharacteName ); if ( costNum >= 50) { //50抽保底
if ( notR6upNum <= 0 ) { //150抽保底 if ( upCharacteName === '无' ) { var Character = CalculateWeights('R6') ; R6Num++; } else { var Character = CalculateWeights('R6up') ; R6upNum++; } var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); console.log('大保底获得角色星级为:' + CharacteStar + ',名称为' + CharacteName ); costNum = 0; notR6upNum = 2; } else { var Character = CalculateWeights('R6') ; var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); console.log('小保底获得角色星级为:' + CharacteStar + ',名称为' + CharacteName ); R6Num++; costNum = 0; if (CharacteName === upCharacteName) { notR6upNum = 2; } else { notR6upNum--; } } } else { var Character = CalculateWeights() ; var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); if (CharacteStar.includes('六星')) { if (CharacteName === upCharacteName) { let CharacteStar = '六星限时'; costNum = 0; notR6upNum = 2; R6upNum++;
} else { costNum = 0; notR6upNum--; R6Num++; } } else { } console.log('获得角色星级为:' + CharacteStar + ',名称为' + CharacteName );
} for (let i = 0; i < SixStarsDiv.length; i++) { // 检查当前元素是否包含CharacteName if (SixStarsDiv[i].includes('"' + CharacteName + '"')) { // 如果包含,则将当前元素的赋值给showPullDiv的innerHTML showPullDiv.innerHTML = SixStarsDiv[i] ; // 找到后跳出循环,因为题目要求找到第一个包含CharacteName的元素 break; } }
//更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num; //showPullDiv.innerHTML = SixStarsDiv[0]; // 显示showPullDiv showPullDiv.style.display = 'flex'; }); //10连事件 // 为tenPullDiv绑定点击事件 tenPullDiv.addEventListener('click', function() { var newHtml = ; // 初始化一个空字符串来保存将要添加的HTML for (let q = 0; q < 10; q++){// 10连循环 // 清除showPullDiv的内容 showPullDiv.innerHTML = ; PullNum++; costNum++; // 获取showTemplateDiv中的HTML内容 //var templateHtml = showTemplateDiv.innerHTML; // 将获取到的HTML内容(包括其样式)设置到showPullDiv中 showPullNumDiv.innerHTML = '已构建次数:' + PullNum + ',保底50次已构建:' + costNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150;
//提前获取6星限时角色名称,以备后面比较 var upCharacter = CalculateWeights('R6up') ; var upCharacterArray = upCharacter.trim().split(','); var upCharacteStar = upCharacterArray[0].trim(); var upCharacteName = upCharacterArray[1].trim(); //console.log('六星限时角色星级为:' + upCharacteStar + ',名称为' + upCharacteName ); if ( costNum >= 50) { //50抽保底
if ( notR6upNum <= 0 ) { //150抽保底 if ( upCharacteName === '无' ) { var Character = CalculateWeights('R6') ; R6Num++; } else { var Character = CalculateWeights('R6up') ; R6upNum++; } var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); console.log('大保底获得角色星级为:' + CharacteStar + ',名称为' + CharacteName ); costNum = 0; notR6upNum = 2; } else { var Character = CalculateWeights('R6') ; var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); console.log('小保底获得角色星级为:' + CharacteStar + ',名称为' + CharacteName ); R6Num++; costNum = 0; if (CharacteName === upCharacteName) { notR6upNum = 2; } else { notR6upNum--; } } } else { if (q === 0) {//十连必出5星 var Character = CalculateWeights('R5') ; var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); } else { var Character = CalculateWeights() ; var CharacterArray = Character.trim().split(','); var CharacteStar = CharacterArray[0].trim(); var CharacteName = CharacterArray[1].trim(); if (CharacteStar.includes('六星')) { if (CharacteName === upCharacteName) { let CharacteStar = '六星限时'; costNum = 0; notR6upNum = 2; R6upNum++;
} else { costNum = 0; notR6upNum--; R6Num++; } } else { } } console.log('获得角色星级为:' + CharacteStar + ',名称为' + CharacteName );
} for (let i = 0; i < SixStarsDiv.length; i++) { // 检查当前元素是否包含CharacteName if (SixStarsDiv[i].includes('"' + CharacteName + '"')) { // 如果包含,则将当前元素的赋值给showPullDiv的innerHTML newHtml += SixStarsDiv[i]; //showPullDiv.innerHTML = '"' + SixStarsDiv[i] +'"'; // 找到后跳出循环,因为题目要求找到第一个包含CharacteName的元素 break; } }
//更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num;
}// 十连循环结束 // 显示showPullDiv showPullDiv.innerHTML = newHtml; showPullDiv.style.display = 'flex';
}); // 重置次数,初始化变量 cleanbtn.addEventListener('click', function() { // 初始化变量 PullNum = 0; R6upNum = 0; R6Num = 0; R5upNum = 0; R5Num = 0; R4Num = 0; R3Num = 0; // 十连抽必出一个五星角色;每50抽保底必出一个六星角色; // 连续两次抽不到定向六星角色,第三个六星角色必为定向六星角色(获得定向六星角色后重置该次数) costNum = 0; //保底五十抽 notR6upNum = 2; //连续两次抽不到定向六星角色(获得定向六星角色后重置该次数) showPullNumDiv.innerHTML = '已构建次数:' + PullNum; ResourceTablecard.innerHTML = PullNum; ResourceTablefree.innerHTML = PullNum * 150; ResourceTablegold.innerHTML = PullNum * 150; showPullDiv.innerHTML = ; //更新角色获得数 ResultTableR6up.innerHTML = R6upNum; ResultTableR6.innerHTML = R6Num; ResultTableR5up.innerHTML = R5upNum; ResultTableR5.innerHTML = R5Num; ResultTableR4.innerHTML = R4Num; ResultTableR3.innerHTML = R3Num;
});
});
</script>