Re: 又有一個新的弈棋創意:拚數棋!
代码: 全选
規則更改
被「叉零」封住的,都不算是孤獨數。因為孤獨數的定義是被封在一個小正方形的數,而「叉零」為這個數字增加了四分之一的空間。
介面更改
提子階段也去掉可提子的顯示提示,只需要在點擊到一個不可走到己方「叉零」的棋子時在消息欄給出提示。
當輪到一方時,他的控制區的背景應高亮。
程式更改
把所有棋盤svg的屬性,包括stroke,stroke-width,fill等,都改為寫到svg的內聯屬性中,而不再寫到css中。
回答要求:給出一個python修改代碼的腳本。增加規則:在提子階段,當一方在他的回合中只提了一個「叉零」,則為「孤獨叉」,也要扣分,所扣的分數是後手方在落子階段所剩棋子的數值,對方則加上相應分數。
把棋盤svg的style寫進程式中,其width和height屬性都應是480,在頁面中把100%高寬寫到css。去掉其內部的注釋。
上次由 ejsoon 在 2026年 9月 21日 10:53,总共编辑 3 次。
https://ejsoon.vip/
金梭越空:極速暢遊天地
金梭越空:極速暢遊天地
Re: 又有一個新的弈棋創意:拚數棋!
gemini
代码: 全选
針對你設計的這款「拚數棋」,要完全透過 Fairy-Stockfish 的 `variants.ini` 配置文件來完美實現所有規則,需要先了解引擎的技術邊界,並對規則進行技術對接與拆解。
---
### 一、 引擎(Fairy-Stockfish)與介面(GUI/外掛)的技術權責劃分
Fairy-Stockfish 是一個基於 UCI/UGI 協定的「單局棋弈引擎」。它的設計核心是**單局內的合法走法生成與局勢評估**。
1. **`variants.ini` 能幫你做到的部分:**
* 設定 7x7 棋盤與中心點初始擺盤(FEN)。
* 定義 5 種棋子的不同轉向(作為獨立棋子類型)以及各自的移動/提子走法。
* 設定雙方手頭的棋子庫(Pocket)與總量限制(各 25 個)。
* 限制相鄰落子(例如使用 `enclosingDrop = snort` 限制落子不能鄰接特定棋子)。
2. **`variants.ini` 無法單獨實現(需由外部 GUI/裁決程式處理)的部分:**
* **圖論區域與動態分數結算:** 實邊圍成的區域扣分、孤獨數扣分、提子階段的三角形相減累積分數。引擎的核心評估函數(Evaluation)只能預估「盤面優劣」,但遊戲中複雜的區域判分與多階段分數轉化,必須由**外層 GUI / 裁判程式**在局終進行圖論(連通分量/網格圍牆)演算法計算。
* **跨局累計總分(兩局換先後手):** 引擎本身**不具備跨局記憶**。兩局累積總分、互換先後手的邏輯,是由 **GUI(如 CuteChess、PyChess GUI)或賽制平台** 來控制連玩兩局並統計總分。
---
### 二、 Fairy-Stockfish `variants.ini` 設定檔撰寫
你可以將以下內容新增至 Fairy-Stockfish 的 `variants.ini` 中:
```ini
[pinshuqi:fairy]
# 1. 棋盤與基礎規則
boardSize = 7x7
pocketSize = 25
maxMoves = 200
# 2. 落子與提子模式設定
# 允許從手牌中落子 (Drop)
pieceDrops = true
# 限制落子時不能與場上已有棋子的實邊相鄰 (使用 Snort 風格的鄰近限制)
enclosingDrop = snort
# 3. 手牌 (Pocket) 數量限制:雙方各 25 個棋子
# 手牌預設包含所有轉向的棋子,單局總上限各 25 子
pockets = true
# 4. 勝利條件設定
# 以消除對方王將或手牌落盡後結算 (若無王將則以消滅或走盡為終局)
extinctionValue = 0
# 5. 棋子符號與走法定義 (以 Betza 記號法定義提子階段的移動方向)
# -------------------------------------------------------------
# 「單一」(Single): 1實邊1角 -> 前走1步,或兩個斜後方各1步
customPiece1 = s:fW1bF1
# 「雙二」(Double-2): 2分開實邊2角 -> 選擇兩個指定方向走1步
customPiece2 = d:fW1bW1
# 「角二」(Corner-2): 2相連實邊2角 -> 斜向走1步或2步
customPiece3 = c:F1F2
# 「圍三」(Surround-3): 3實邊3角 -> 三個指定方向選一個走1步
customPiece4 = w:fW1lW1rW1
# 「叉零」(Cross-0): 對角線交叉 -> 提子終點 (設定為不可移動或作為固定標記)
customPiece5 = x:
# 6. 棋子不同轉向對映
# 透過字母大小寫與後綴區分不同的方向轉向,GUI 載入時會映射為對應圖片
# N=北, E=東, S=南, W=西
pieceToCharTable = s:s, d:d, c:c, w:w, x:x
```
---
### 三、 兩局統計與計分規則的實現方案
要完全按照你設計的規則遊玩與比賽,建議採用以下架構配合:
1. **單局 AI 算牌(引擎端)**:
* 將上述 `variants.ini` 載入 Fairy-Stockfish。
* 引擎會根據棋子的走法、落子限制與手牌庫進行合法走法搜尋。
2. **區域評分與提子分數(裁判程式/GUI 端)**:
* 撰寫一個輕量級的 Python 腳本(或使用 Custom GUI)監聽引擎輸出的 FEN 碼。
* **落子階段結束時**:腳本執行洪水填充法(Flood Fill)掃描 7x7 棋盤,找出實邊與邊界圍成的區域,計算區域內雙方三角形數量之差、判定孤獨數,並計算出第一階段得分。
* **提子階段**:腳本記錄每一次提子移動(從起點到己方「叉零」的路徑),即時計算三角形數量相減的提子得分。
3. **兩局兩勝/累積總分判決(賽制控制)**:
* 在 CuteChess 或 Python 腳本中設定 **Match 模式**(每輪對局 2 局,第 1 局 Player A 先手,第 2 局 Player B 先手)。
* 第一局結束後記錄玩家 A 與 B 的得分 $S_1(A)$ 與 $S_1(B)$。
* 第二局結束後記錄 $S_2(A)$ 與 $S_2(B)$。
* 最終總分 $Total(A) = S_1(A) + S_2(A)$,總分為正數且高者獲得最終勝利!https://ejsoon.vip/
金梭越空:極速暢遊天地
金梭越空:極速暢遊天地
Re: 又有一個新的弈棋創意:拚數棋!
代码: 全选
<svg id="boardSvg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 480 480" preserveAspectRatio="xMidYMid meet" width="480" height="480" aria-label="Battle Number board" style="display:block;min-width:0;min-height:0;filter:drop-shadow(0 20px 26px rgba(0,0,0,0.27));touch-action:manipulation">
<defs>
<g id="tile0" frontfill="#4965e4" backfill="#c8d2ff" stroke="#ccc">
<path fill="#c8d2ff" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#4965e4" d="M-26-26H26"></path>
<path fill="#4965e4" stroke="none" d="M0-12L15.588 15H-15.588Z"></path>
</g>
<g id="tile1" frontfill="#d54730" backfill="#ffc6bd" stroke="#ccc">
<path stroke="#ccc" fill="#ffc6bd" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#d54730" d="M-26-26H26"></path>
<path fill="#d54730" stroke="none" d="M0-12L15.588 15H-15.588Z"></path>
</g>
<g id="tile2" frontfill="#4965e4" backfill="#c8d2ff" stroke="#ccc">
<path fill="#c8d2ff" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#4965e4" d="M-26 26V-26H26"></path>
<path fill="#4965e4" stroke="none" d="M-16.971-16.971L3.106-11.591-11.591 3.106Z"></path>
<path fill="#4965e4" stroke="none" d="M0 0L20.076 5.38 5.38 20.076Z"></path>
</g>
<g id="tile3" frontfill="#d54730" backfill="#ffc6bd" stroke="#ccc">
<path fill="#ffc6bd" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#d54730" d="M-26 26V-26H26"></path>
<path fill="#d54730" stroke="none" d="M-16.971-16.971L3.106-11.591-11.591 3.106Z"></path>
<path fill="#d54730" stroke="none" d="M0 0L20.076 5.38 5.38 20.076Z"></path>
</g>
<g id="tile4" frontfill="#4965e4" backfill="#c8d2ff" stroke="#ccc">
<path fill="#c8d2ff" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#4965e4" d="M-26 26V-26M26 26V-26"></path>
<path fill="#4965e4" stroke="none" d="M-18 0L-6-12V12Z"></path>
<path fill="#4965e4" stroke="none" d="M18 0L6-12V12Z"></path>
</g>
<g id="tile5" frontfill="#d54730" backfill="#ffc6bd" stroke="#ccc">
<path fill="#ffc6bd" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#d54730" d="M-26 26V-26M26 26V-26"></path>
<path fill="#d54730" stroke="none" d="M-18 0L-6-12V12Z"></path>
<path fill="#d54730" stroke="none" d="M18 0L6-12V12Z"></path>
</g>
<g id="tile6" frontfill="#4965e4" backfill="#c8d2ff" stroke="#ccc">
<path fill="#c8d2ff" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#4965e4" d="M-26 26V-26H26V26"></path>
<path fill="#4965e4" stroke="none" d="M-18 12L-6 0V24Z"></path>
<path fill="#4965e4" stroke="none" d="M18 12L6 0V24Z"></path>
<path fill="#4965e4" stroke="none" d="M0-18L12-6H-12Z"></path>
</g>
<g id="tile7" frontfill="#d54730" backfill="#ffc6bd" stroke="#ccc">
<path fill="#ffc6bd" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#d54730" d="M-26 26V-26H26V26"></path>
<path fill="#d54730" stroke="none" d="M-18 12L-6 0V24Z"></path>
<path fill="#d54730" stroke="none" d="M18 12L6 0V24Z"></path>
<path fill="#d54730" stroke="none" d="M0-18L12-6H-12Z"></path>
</g>
<g id="tile8" frontfill="#4965e4" backfill="#c8d2ff" stroke="#ccc" stroke-linecap="round">
<path fill="#c8d2ff" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#4965e4" d="M-26-26L26 26M-26 26L26-26"></path>
</g>
<g id="tile9" frontfill="#d54730" backfill="#ffc6bd" stroke="#ccc" stroke-linecap="round">
<path fill="#ffc6bd" d="M-30-30H30V30H-30Z"></path>
<path fill="none" stroke-width="6" stroke="#d54730" d="M-26-26L26 26M-26 26L26-26"></path>
</g>
<filter id="lastPlacementShadow" x="-50%" y="-50%" width="200%" height="200%" color-interpolation-filters="sRGB">
<feDropShadow dx="0" dy="1" stdDeviation="1" flood-color="#000000" flood-opacity="0.45"></feDropShadow>
</filter>
</defs>
<rect class="board-bg" x="23" y="23" width="434" height="434" rx="14" fill="#fffaf0" stroke="#d8cdb2" stroke-width="3"></rect>
<rect class="board-frame" x="30" y="30" width="420" height="420" fill="none" stroke="#314e4a" stroke-width="3"></rect>
<path class="board-grid" fill="none" stroke="#9e9b90" stroke-width="1.25" d="
M30 90H450 M30 150H450 M30 210H450
M30 270H450 M30 330H450 M30 390H450
M90 30V450 M150 30V450 M210 30V450
M270 30V450 M330 30V450 M390 30V450
"></path>
<circle id="centerDot" class="center-dot" cx="240" cy="240" r="6" fill="#78499b" style="display: none;"></circle>
<g id="pieceLayer" stroke-linecap="round" stroke-linejoin="round">
<use class="board-piece" href="#tile1" xlink:href="#tile1" transform="translate(60 60) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile7" xlink:href="#tile7" transform="translate(120 60) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile5" xlink:href="#tile5" transform="translate(180 60) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile2" xlink:href="#tile2" transform="translate(240 60) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile6" xlink:href="#tile6" transform="translate(300 60) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile5" xlink:href="#tile5" transform="translate(360 60) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile4" xlink:href="#tile4" transform="translate(420 60) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile2" xlink:href="#tile2" transform="translate(60 120) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile1" xlink:href="#tile1" transform="translate(120 120) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile8" xlink:href="#tile8" transform="translate(180 120) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile4" xlink:href="#tile4" transform="translate(240 120) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile1" xlink:href="#tile1" transform="translate(300 120) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile9" xlink:href="#tile9" transform="translate(360 120) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile6" xlink:href="#tile6" transform="translate(420 120) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile6" xlink:href="#tile6" transform="translate(60 180) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile0" xlink:href="#tile0" transform="translate(120 180) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile7" xlink:href="#tile7" transform="translate(180 180) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile8" xlink:href="#tile8" transform="translate(240 180) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile1" xlink:href="#tile1" transform="translate(300 180) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile7" xlink:href="#tile7" transform="translate(360 180) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile0" xlink:href="#tile0" transform="translate(420 180) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile8" xlink:href="#tile8" transform="translate(60 240) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile5" xlink:href="#tile5" transform="translate(120 240) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile9" xlink:href="#tile9" transform="translate(180 240) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile2" xlink:href="#tile2" transform="translate(240 240) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile5" xlink:href="#tile5" transform="translate(300 240) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile8" xlink:href="#tile8" transform="translate(360 240) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile7" xlink:href="#tile7" transform="translate(420 240) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile2" xlink:href="#tile2" transform="translate(60 300) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile3" xlink:href="#tile3" transform="translate(120 300) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile3" xlink:href="#tile3" transform="translate(180 300) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile4" xlink:href="#tile4" transform="translate(240 300) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile0" xlink:href="#tile0" transform="translate(300 300) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile6" xlink:href="#tile6" transform="translate(360 300) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile1" xlink:href="#tile1" transform="translate(420 300) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile7" xlink:href="#tile7" transform="translate(60 360) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile0" xlink:href="#tile0" transform="translate(120 360) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile5" xlink:href="#tile5" transform="translate(180 360) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile2" xlink:href="#tile2" transform="translate(240 360) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile9" xlink:href="#tile9" transform="translate(300 360) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile0" xlink:href="#tile0" transform="translate(360 360) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile3" xlink:href="#tile3" transform="translate(420 360) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile9" xlink:href="#tile9" transform="translate(60 420) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile6" xlink:href="#tile6" transform="translate(120 420) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile4" xlink:href="#tile4" transform="translate(180 420) rotate(90)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile9" xlink:href="#tile9" transform="translate(240 420) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile4" xlink:href="#tile4" transform="translate(300 420) rotate(270)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile3" xlink:href="#tile3" transform="translate(360 420) rotate(180)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
<use class="board-piece" href="#tile8" xlink:href="#tile8" transform="translate(420 420) rotate(0)" pointer-events="none" stroke-linecap="round" stroke-linejoin="round"></use>
</g>
<g id="highlightLayer"></g>
<g id="pathLayer"></g>
<g id="hitLayer">
<rect class="cell-hit" data-index="0" x="30" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="1" x="90" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="2" x="150" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="3" x="210" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="4" x="270" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="5" x="330" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="6" x="390" y="30" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="7" x="30" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="8" x="90" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="9" x="150" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="10" x="210" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="11" x="270" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="12" x="330" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="13" x="390" y="90" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="14" x="30" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="15" x="90" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="16" x="150" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="17" x="210" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="18" x="270" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="19" x="330" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="20" x="390" y="150" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="21" x="30" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="22" x="90" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="23" x="150" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="24" x="210" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="25" x="270" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="26" x="330" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="27" x="390" y="210" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="28" x="30" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="29" x="90" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="30" x="150" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="31" x="210" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="32" x="270" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="33" x="330" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="34" x="390" y="270" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="35" x="30" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="36" x="90" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="37" x="150" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="38" x="210" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="39" x="270" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="40" x="330" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="41" x="390" y="330" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="42" x="30" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="43" x="90" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="44" x="150" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="45" x="210" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="46" x="270" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="47" x="330" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
<rect class="cell-hit" data-index="48" x="390" y="390" width="60" height="60" fill="transparent" cursor="pointer"></rect>
</g>
</svg>https://ejsoon.vip/
金梭越空:極速暢遊天地
金梭越空:極速暢遊天地
Re: 又有一個新的弈棋創意:拚數棋!
battlenumber231.html
新增「孤獨叉」規則,不要再只提一個「叉」了。
把boardSVG的內聯style全部去掉,把所有元素的屬性全寫到內聯中了。
新增「孤獨叉」規則,不要再只提一個「叉」了。
把boardSVG的內聯style全部去掉,把所有元素的屬性全寫到內聯中了。
- 附件
-
battlenumber231.html.7z- (31.64 KiB) 已下载 1 次
https://ejsoon.vip/
金梭越空:極速暢遊天地
金梭越空:極速暢遊天地
-
- 相似主题
- 回复总数
- 阅读次数
- 最新帖子
在线用户
正浏览此版面之用户: 没有注册用户 和 55 访客