From f402c2565a0e74fa50b05286c5ac9c54611125a0 Mon Sep 17 00:00:00 2001
From: wangfukang <15630117759@163.com>
Date: Tue, 2 Jun 2026 12:52:06 +0800
Subject: [PATCH] 1
---
package1/planet/adventure.vue | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/package1/planet/adventure.vue b/package1/planet/adventure.vue
index de9ffc5..cbe14bf 100644
--- a/package1/planet/adventure.vue
+++ b/package1/planet/adventure.vue
@@ -54,7 +54,7 @@
规则:点选未被压住的卡牌,底部槽内3张相同自动消除,槽满则失败。
- 挑战难度 · 剩余 {{remainingCount}} 张 · 当前可点 {{availableCount}} 张 · {{riskText}}
+ 地狱难度 · 剩余 {{remainingCount}} 张 · 当前可点 {{availableCount}} 张 · {{riskText}}
@@ -70,9 +70,9 @@
- 助推槽 {{slots.length}}/7
+ 助推槽 {{slots.length}}/{{slotLimit}}
-
+
{{slots[i - 1].icon}}
@@ -139,6 +139,7 @@
startTs: 0,
cards: [],
slots: [],
+ slotLimit: 5,
moveCount: 0,
modal: { show: false, title: '', sub: '' }
}
@@ -181,8 +182,8 @@
return this.cards.filter(item => !item.removed && !item.selected && !this.isLocked(item)).length
},
riskText() {
- if (this.slots.length >= 6) return '危险:差1格就满'
- if (this.slots.length >= 5) return '注意槽位'
+ if (this.slots.length >= this.slotLimit - 1) return '危险:差1格就满'
+ if (this.slots.length >= this.slotLimit - 2) return '注意槽位'
return '先看上层再下手'
}
},
@@ -255,7 +256,7 @@
})
},
buildLevel() {
- const icons = ['🍔', '🥤', '📚', '🏀', '🎧', '🚲', '🍜', '📦', '☕', '🧋']
+ const icons = ['🍔', '🥤', '📚', '🏀', '🎧', '🚲', '🍜', '📦', '☕', '🧋', '🎮', '🌟', '🍟', '🥪']
let cards = []
for (let attempt = 0; attempt < 8; attempt++) {
const seed = this.levelSeed() + '_try_' + attempt
@@ -272,21 +273,21 @@
},
buildCardPositions(seed) {
const cards = []
- const layerCounts = [36, 30, 24]
+ const layerCounts = [42, 36, 30, 18]
const rand = this.seededRandom(seed + '_pos')
let idx = 0
layerCounts.forEach((count, layer) => {
for (let i = 0; i < count; i++) {
- const col = i % 6
- const row = Math.floor(i / 6)
- const dx = Math.floor(rand() * 22)
- const dy = Math.floor(rand() * 18)
+ const col = i % 7
+ const row = Math.floor(i / 7)
+ const dx = Math.floor(rand() * 18)
+ const dy = Math.floor(rand() * 14)
const card = {
id: 'c' + idx,
icon: '',
layer,
- x: 16 + col * 80 + (layer * 20) + ((row % 2) * 12) + dx,
- y: 18 + row * 70 + (layer * 42) + dy,
+ x: 12 + col * 70 + (layer * 16) + ((row % 2) * 10) + dx,
+ y: 16 + row * 62 + (layer * 34) + dy,
style: '',
removed: false,
selected: false,
@@ -353,7 +354,7 @@
})
},
isOverlap(a, b) {
- return Math.abs(a.x - b.x) < 72 && Math.abs(a.y - b.y) < 68
+ return Math.abs(a.x - b.x) < 66 && Math.abs(a.y - b.y) < 58
},
pickCard(card) {
if (this.cleared) {
@@ -365,14 +366,14 @@
return
}
if (card.removed || card.selected || this.isLocked(card)) return
- if (this.slots.length >= 7) return
+ if (this.slots.length >= this.slotLimit) return
card.selected = true
this.slots.push(card)
this.moveCount++
this.tryClear(card.icon)
if (this.cards.every(item => item.removed || item.selected)) {
this.finishClear()
- } else if (this.slots.length >= 7) {
+ } else if (this.slots.length >= this.slotLimit) {
this.failLevel()
}
},