解决按4色搜索的问题

This commit is contained in:
枫谷剑仙 2024-06-21 19:34:26 +08:00
parent d657a6b81d
commit 1ab673f583
7 changed files with 20 additions and 17 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -74,9 +74,9 @@ const teamsCount = 2;
<details class="config-display-list">
<summary></summary>
<div class="in-card">
<div class="monster allowable-assist" title="No.8388 闪亮茵可" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="monster allowable-assist" title="No.99999 博丽灵梦" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="attrs">
<div class="attr" data-attr="1"></div><div class="attr" data-attr="3"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="0"></div>
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="awoken-count-num" data-value="99"></div>

View File

@ -961,6 +961,8 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
//属性
const anyAttrsFlag = 0b1011111; //所有颜色的查找,注意右边才是最低位
sAttrs = sAttrs.map(attr=>attr || anyAttrsFlag); //如果传入搜索为0提高到任意色
console.log(sAttrs);
if (sAttrs.some(attr=>(attr & anyAttrsFlag) !== anyAttrsFlag)) { //当任一属性不为任意颜色时才需要筛选属性,否则跳过属性筛选
//如果固定顺序就直接使用当前颜色顺序;否则不考虑顺序时,去除任意色
const attrNums = sAttrs.filter(attr=>fixMainColor || attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag)

View File

@ -4701,7 +4701,7 @@ function initialize() {
const searchEvolutionByThis = settingBox.querySelector(".row-mon-id .search-evolution-by-this");
searchEvolutionByThis.onclick = function() {showSearch(Cards.filter(card=>card.evoMaterials.includes(editBox.mid)))};
const s_attr_lists = Array.from(searchBox.querySelectorAll(".attrs-div .attr-list")).map(list=>Array.from(list.querySelectorAll("input[type=\"radio\"]")));
//const s_attr_lists = Array.from(searchBox.querySelectorAll(".attrs-div .attr-list")).map(list=>Array.from(list.querySelectorAll("input[type=\"radio\"]")));
const s_fixMainColor = searchBox.querySelector("#fix-main-color");
const s_typesDiv = searchBox.querySelector(".types-div");
const s_typeAndOr = s_typesDiv.querySelector("#type-and-or");
@ -4715,7 +4715,7 @@ function initialize() {
s_AttrForm.onchange = function(event){
event?.preventDefault();
const formData = new FormData(this);
for (let i = 0; i <= 3; i++) {
for (let i = 0; i < s_attr_preview_attrs.length; i++) {
const attr = parseInt(formData.get(`attr-${i+1}`),10);
s_attr_preview_attrs[i].dataset.attr = Number.isNaN(attr) ? "any" : attr;
}
@ -5222,8 +5222,9 @@ function initialize() {
//导出当前的搜索状态
searchBox.getSearchOptions = function(){
const attrs = (function(formData){
const attrsList = s_AttrForm.querySelectorAll(".attr-selecter-list .attr-list:not(.display-none)");
const attrsArr = [];
for (let i = 0; i <= 3; i++) {
for (let i = 0; i < attrsList.length; i++) {
const attrNum = Bin.enflags(formData.getAll(`attr-${i+1}`).map(Str2Int));
attrsArr.push(attrNum);
}

View File

@ -6067,7 +6067,7 @@ const cachesMap = new Map([
],
[
"sound/voice/ja/padv2191.wav",
"d07c2fc9a621d4345c053f3d2187a937"
"143e052f3c15efaadaf7eaae277c68e7"
],
[
"sound/voice/ja/padv2192.wav",
@ -29491,7 +29491,7 @@ const cachesMap = new Map([
],
[
"multi.html",
"a598a7d370517e705b2799104209c960"
"06dfac154d6c8a3fdece2e5695481b03"
],
[
"script-custom_elements.js",
@ -29507,15 +29507,15 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"eb995d69da2ff44026be01f7ba42bee1"
"fa1c29c20ebadf94a9405b9f73e4f85b"
],
[
"script.js",
"8568d24114f2312366edf38bd1552470"
"1329cd6c6afbad409c41146c34b5560e"
],
[
"solo.html",
"f55b918d162de2c14a9cd9374b2d2ad3"
"3b38841a6ed0189065986db5d40f5e03"
],
[
"style-monsterimages.css",
@ -29531,7 +29531,7 @@ const cachesMap = new Map([
],
[
"triple.html",
"26802d635b20aecdd824256243a3286f"
"5c09b746fcb677cb0a468333d1ea4891"
],
[
"languages/en.css",
@ -29583,7 +29583,7 @@ const cachesMap = new Map([
],
[
"images/avatar.webp",
"8b1205de9c876d23562a04a50ca6086a"
"73e05c2a9a536873aee4fafb1edd7b82"
],
[
"images/awoken-count-bg.png",
@ -29867,7 +29867,7 @@ const cachesMap = new Map([
],
[
"doc/images/bluestacks-vhd-mount-vhd-failed.webp",
"7941862be127cb177b86ea4cc2877134"
"e41f2de6990b34ae7995a5acb0e3ea0c"
],
[
"doc/images/bluestacks-vhd-open-disk-management.webp",

View File

@ -53,9 +53,9 @@ const teamsCount = 1;
<details class="config-display-list">
<summary></summary>
<div class="in-card">
<div class="monster allowable-assist" title="No.8388 闪亮茵可" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="monster allowable-assist" title="No.99999 博丽灵梦" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="attrs">
<div class="attr" data-attr="1"></div><div class="attr" data-attr="3"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="0"></div>
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="awoken-count-num" data-value="99"></div>

View File

@ -64,9 +64,9 @@ const teamsCount = 3;
<details class="config-display-list">
<summary></summary>
<div class="in-card">
<div class="monster allowable-assist" title="No.8388 闪亮茵可" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="monster allowable-assist" title="No.99999 博丽灵梦" style="transform: scale(0.75); margin: calc(-100px * (1 - 0.75) / 2);">
<div class="attrs">
<div class="attr" data-attr="1"></div><div class="attr" data-attr="3"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="0"></div>
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="awoken-count-num" data-value="99"></div>