攻鎖棋
疫途
跳躍森靈
搜索找到 5946 个匹配
- 2026年 6月 16日 20:33
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
gemini 3.1 pro將睡到20:52
沒問題!我已經幫你找出這兩個主要問題的癥結點了。
這幾個 Bug 的核心原因在於:
1. **撤銷/重做邏輯缺陷:** `turnRedo` 在搜尋目標時強制跳過了「佈局階段(`gameplayActive = false`)」的所有步驟;而 `restoreSnapshot` 在還原「行動階段」的快照時,遺漏了更新 `cylindersData`(導致穿透圓柱體),也沒有在佈局階段正確重設立方體的位置。
2. **手機版 UI 擁擠:** 原本按鈕的內邊距(Padding)在小螢幕上佔據太多空間,且中間的分隔線壓縮了按鈕,導致無法維持 1 ...
沒問題!我已經幫你找出這兩個主要問題的癥結點了。
這幾個 Bug 的核心原因在於:
1. **撤銷/重做邏輯缺陷:** `turnRedo` 在搜尋目標時強制跳過了「佈局階段(`gameplayActive = false`)」的所有步驟;而 `restoreSnapshot` 在還原「行動階段」的快照時,遺漏了更新 `cylindersData`(導致穿透圓柱體),也沒有在佈局階段正確重設立方體的位置。
2. **手機版 UI 擁擠:** 原本按鈕的內邊距(Padding)在小螢幕上佔據太多空間,且中間的分隔線壓縮了按鈕,導致無法維持 1 ...
- 2026年 6月 16日 20:26
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
改進:
一,回合後退和前進的問題:
當行動階段,雙方都已經進行了幾個回合之後,點擊「回合後退」和「回合前進」,會出現幾個錯誤。
一是當回到布局階段的最後一步時,藍方的立方體已放置但位置不對。
二是當回到布局階段的某一回合時,只要點擊「回合前進」,則會立即回到行動階段的開始,這是不對的,應能自由在布局階段來回進退。
三是當從布局階段回到行動階段的某個回合時,發現「行動標示」放置的地方是錯誤的,比如有圓柱體阻擋不應能穿過去。
二,手機端適配問題
手機端的div#history-controls確實是把寬度調整至95%,但是裡面的按鈕並不能完全顯示。
在保持每個按鈕的高寬比為1 ...
一,回合後退和前進的問題:
當行動階段,雙方都已經進行了幾個回合之後,點擊「回合後退」和「回合前進」,會出現幾個錯誤。
一是當回到布局階段的最後一步時,藍方的立方體已放置但位置不對。
二是當回到布局階段的某一回合時,只要點擊「回合前進」,則會立即回到行動階段的開始,這是不對的,應能自由在布局階段來回進退。
三是當從布局階段回到行動階段的某個回合時,發現「行動標示」放置的地方是錯誤的,比如有圓柱體阻擋不應能穿過去。
二,手機端適配問題
手機端的div#history-controls確實是把寬度調整至95%,但是裡面的按鈕並不能完全顯示。
在保持每個按鈕的高寬比為1 ...
- 2026年 6月 16日 19:32
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
gemini 3.1 pro還沒有睡:
這三個問題分別涉及到狀態同步機制、防呆還原邏輯以及參數綁定。以下為需要修改及替換的代碼片段:
### 一、 修復「回合前進」在開局階段引發的遊戲板與立方體顯示異常
問題在於從「對戰階段」跳躍回退/前進到「開局階段」時,視圖沒有對遊戲板和圓柱體進行同步與透明度還原。
請找到 `restoreSnapshot(snap)` 函數,將其替換為以下代碼:
```javascript
function restoreSnapshot(snap) {
currentPlayer = snap.currentPlayer;
walkCount ...
這三個問題分別涉及到狀態同步機制、防呆還原邏輯以及參數綁定。以下為需要修改及替換的代碼片段:
### 一、 修復「回合前進」在開局階段引發的遊戲板與立方體顯示異常
問題在於從「對戰階段」跳躍回退/前進到「開局階段」時,視圖沒有對遊戲板和圓柱體進行同步與透明度還原。
請找到 `restoreSnapshot(snap)` 函數,將其替換為以下代碼:
```javascript
function restoreSnapshot(snap) {
currentPlayer = snap.currentPlayer;
walkCount ...
- 2026年 6月 16日 19:14
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
改進:
一,回合前進的問題
回合前進在行動階段是正確的,但如果回退到開局階段,之後再點擊回合前進,則會發生「遊戲板不能正確放置、立方體無故出現」等問題,查明原因。
二,AI防呆之後的問題
在以下這段代碼執行之後:
```
if (!aiPlannedActions || aiPlannedActions.length === 0) {
console.warn('MCTS 未能計算出動作,使用防呆預設');
return;
}
```
AI再也不能重啟。整個視圖也不再能旋轉和移動。
一個原因是,當AI嘗試要行動時,當前行動方已經行走了一步或多步,而AI只能是從回合開始行動 ...
一,回合前進的問題
回合前進在行動階段是正確的,但如果回退到開局階段,之後再點擊回合前進,則會發生「遊戲板不能正確放置、立方體無故出現」等問題,查明原因。
二,AI防呆之後的問題
在以下這段代碼執行之後:
```
if (!aiPlannedActions || aiPlannedActions.length === 0) {
console.warn('MCTS 未能計算出動作,使用防呆預設');
return;
}
```
AI再也不能重啟。整個視圖也不再能旋轉和移動。
一個原因是,當AI嘗試要行動時,當前行動方已經行走了一步或多步,而AI只能是從回合開始行動 ...
- 2026年 6月 16日 14:59
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
代码: 全选
<svg id="btn-maximize" style="cursor:pointer; width:32px; height:32px; fill:white;" viewBox="0 0 24 24"><path d="M4 4h6v2H6v4H4V4zm10 0h6v6h-2V6h-4V4zm6 16h-6v-2h4v-4h2v6zM4 20v-6h2v4h4v2H4z"></path></svg>- 2026年 6月 16日 13:51
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
gemini 3.1 pro需要休息到4:52
這三個問題其實有著連帶關係,以下為您分析原因並提供需要替換的代碼:
### 問題一與問題二的原因
**導入棋譜與 Undo/Redo 失效的原因是同一個**:在執行「快速演算(跳過動畫)」時,`executeCubeMovement` 觸發了瞬間移動,但卻沒有把 `cube.userData.moving` 狀態設為 `false`。這導致下一幀的 `animate()` 迴圈**再次誤判**該立方體正在移動,從而「重複觸發了兩次」行動完成的回呼函數。這不僅導致第一步與第二步的狀態被瞬間跳過(使你無法左右轉向),也讓歷史紀錄堆疊(Undo ...
這三個問題其實有著連帶關係,以下為您分析原因並提供需要替換的代碼:
### 問題一與問題二的原因
**導入棋譜與 Undo/Redo 失效的原因是同一個**:在執行「快速演算(跳過動畫)」時,`executeCubeMovement` 觸發了瞬間移動,但卻沒有把 `cube.userData.moving` 狀態設為 `false`。這導致下一幀的 `animate()` 迴圈**再次誤判**該立方體正在移動,從而「重複觸發了兩次」行動完成的回呼函數。這不僅導致第一步與第二步的狀態被瞬間跳過(使你無法左右轉向),也讓歷史紀錄堆疊(Undo ...
- 2026年 6月 16日 13:13
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
改進:
一,導入文本之後的問題
在導入「棋譜文本」之後,當前行動方如果原本是能往上下左右四個方向行走的,現在不能往左和往右了(行動標示出現之後又消失)。
在導入「棋譜文本」之後,如果點擊「回合後退」,無法再點擊「回合前進」。
二,AI計算或文字提示有誤
當處於這個局面「2TCH1H1/8/4C2H/7C/C4T2/4TC2/(*5)7/1TCH3[5]」時,綠方應為必敗,但是現在卻得出綠方勝率100%,查找原因,可能需要增加「必敗」的文字提示。
需要明確給出所有要修改的地方和要替換的代碼,不用給出全部代碼。
改進:
一,導入文本之後的問題
在導入「棋譜文本」之後 ...
一,導入文本之後的問題
在導入「棋譜文本」之後,當前行動方如果原本是能往上下左右四個方向行走的,現在不能往左和往右了(行動標示出現之後又消失)。
在導入「棋譜文本」之後,如果點擊「回合後退」,無法再點擊「回合前進」。
二,AI計算或文字提示有誤
當處於這個局面「2TCH1H1/8/4C2H/7C/C4T2/4TC2/(*5)7/1TCH3[5]」時,綠方應為必敗,但是現在卻得出綠方勝率100%,查找原因,可能需要增加「必敗」的文字提示。
需要明確給出所有要修改的地方和要替換的代碼,不用給出全部代碼。
改進:
一,導入文本之後的問題
在導入「棋譜文本」之後 ...
- 2026年 6月 16日 11:33
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
改進:
一,移動端的CSS適配
移動端下方的按鈕應始終不超出屏幕,排成一行。
移動端的按鈕應該稍小一些。div#message的字體也應該小一點。
二,導入的問題
當導入「局面文本」時,一些棋子的擺放位置是錯誤的,且「遊戲板」分為「中遊戲板」、「角遊戲板」、「邊遊戲板」,它們的線型都是不一樣的。
在導入「棋譜文本」時,應由程式先演算它的最終局面,然後只展示最終局面。也就是說導入「棋譜文本」時的效果,跟導入「局面文本」的效果是一樣的,只不過導入「棋譜文本」之後可以「回合後退和前進」。
三,AI必殺算法有誤
當局面為「2TCH1H1/8/4C2H/7C/C4T2/4TC2/(*5)7 ...
一,移動端的CSS適配
移動端下方的按鈕應始終不超出屏幕,排成一行。
移動端的按鈕應該稍小一些。div#message的字體也應該小一點。
二,導入的問題
當導入「局面文本」時,一些棋子的擺放位置是錯誤的,且「遊戲板」分為「中遊戲板」、「角遊戲板」、「邊遊戲板」,它們的線型都是不一樣的。
在導入「棋譜文本」時,應由程式先演算它的最終局面,然後只展示最終局面。也就是說導入「棋譜文本」時的效果,跟導入「局面文本」的效果是一樣的,只不過導入「棋譜文本」之後可以「回合後退和前進」。
三,AI必殺算法有誤
當局面為「2TCH1H1/8/4C2H/7C/C4T2/4TC2/(*5)7 ...
- 2026年 6月 16日 08:46
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
gemini 3.1 pro:
這是一份針對您需求的具體代碼修改指南,請依照以下各段落,替換或加入對應的代碼。
### 1. 修改樣式 (Style)
在 `<style>` 中找到 `#message` 的樣式,並補充 flex 佈局與事件穿透設定,以支援右側的「最大化按鈕」點擊:
```css
#message {
position: absolute;
top: 20px;
width: 100%;
text-align: center;
color: #fff;
font-size: 24px;
font-weight: bold;
pointer ...
這是一份針對您需求的具體代碼修改指南,請依照以下各段落,替換或加入對應的代碼。
### 1. 修改樣式 (Style)
在 `<style>` 中找到 `#message` 的樣式,並補充 flex 佈局與事件穿透設定,以支援右側的「最大化按鈕」點擊:
```css
#message {
position: absolute;
top: 20px;
width: 100%;
text-align: center;
color: #fff;
font-size: 24px;
font-weight: bold;
pointer ...
- 2026年 6月 16日 08:41
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
改進:
一,div全屏文字提示的最小化和恢復最大化
當一局棋結束時,會展示一個「div全屏的文字提示」,內容為「第n局結束!本局勝者:……」和「選擇是否再戰一局按鈕」的div元素。現在要在這個div元素的右上角加上一個「最小化svg按鈕」,點擊它將隱藏這個div。同時div#message在棋局結束時立即顯示「第n局結束!本局勝者:……」,其右方將出現一個「最大化svg按鈕」,當點擊時,之前的「div全屏文字提示」將再次顯示。
當兩局棋結束時,或者第一局結束時選擇「結束遊戲顯示總分」,則此時的「div全屏文字提示」也同樣包含這個「最小化按鈕」。
二,歷史回退和前進功能改進
btn-turn ...
一,div全屏文字提示的最小化和恢復最大化
當一局棋結束時,會展示一個「div全屏的文字提示」,內容為「第n局結束!本局勝者:……」和「選擇是否再戰一局按鈕」的div元素。現在要在這個div元素的右上角加上一個「最小化svg按鈕」,點擊它將隱藏這個div。同時div#message在棋局結束時立即顯示「第n局結束!本局勝者:……」,其右方將出現一個「最大化svg按鈕」,當點擊時,之前的「div全屏文字提示」將再次顯示。
當兩局棋結束時,或者第一局結束時選擇「結束遊戲顯示總分」,則此時的「div全屏文字提示」也同樣包含這個「最小化按鈕」。
二,歷史回退和前進功能改進
btn-turn ...
- 2026年 6月 16日 06:40
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
必殺判定仍然存在問題:
在當前局面下,綠方已經必敗,因為藍方只要走「上左下」即可獲勝,如果綠方走「右上左」,則藍方可以走「上左上」。
而在此之前,綠方其實已經必殺,在這個局面下:
綠方只要走「右下左」即可完勝,即使藍方試圖用「右下左」來阻止,但這時藍方所放的新話筒也會被綠方用「上右下」吃掉。
在當前局面下,綠方已經必敗,因為藍方只要走「上左下」即可獲勝,如果綠方走「右上左」,則藍方可以走「上左上」。
而在此之前,綠方其實已經必殺,在這個局面下:
綠方只要走「右下左」即可完勝,即使藍方試圖用「右下左」來阻止,但這時藍方所放的新話筒也會被綠方用「上右下」吃掉。
- 2026年 6月 15日 20:18
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
如果藍方往上走,則會在第三步停留在第一步停留的地方。
規則需要修改:當走完三步後,前兩步停留的地方如果有兩個空位,則選擇其一放置話筒,如果只有一個空位,則把話筒放在這個空位,如果沒有空位,則無需放置。
規則需要修改:當走完三步後,前兩步停留的地方如果有兩個空位,則選擇其一放置話筒,如果只有一個空位,則把話筒放在這個空位,如果沒有空位,則無需放置。
- 2026年 6月 15日 19:34
- 版面: Javascript
- 主题: 「我為歌狂」遊戲製作
- 回复总数: 49
- 阅读次数: 426
Re: 「我為歌狂」遊戲製作
"io-modal"和"io-textarea"的樣式應寫到<style>中。
當進入行動階段,又回退到開局階段,又前進至行動階段時,最後兩個角遊戲板沒有自動補上。
當進入行動階段,又回退到開局階段,又前進至行動階段時,最後兩個角遊戲板沒有自動補上。