Skip to content

Repository files navigation

pg-freecell

瀏覽器新接龍(FreeCell):八列牌、四個暫存格、四座回收格;純前端單機小局。依需求把所有牌排入回收座即勝。mobile-first,桌面加寬。

也可當作 Playgrounds(遊樂場)SAMindex.html 入口)。

一鍵開 SAM 小

https://play.samkuo.me/?open=sampot/pg-freecell&name=新接龍&fresh=1

同源會重用本機已匯入的沙盒;要強制新建可加 &fresh=1

試玩(本機)

npx --yes serve .
#
python3 -m http.server 8080

點一下頁面後音效才會出聲。

操作

操作 說明
點牌列底部 選取「可一次搬走的整段 run」
拖牌到目的地 拖到底即可分批搬
點暫存/回收格 當目標;或當來源(暫存格)
自動歸位 把能安全放上回收座的牌全部送上去
重來本局 重新洗牌(同發牌)
開新局 重新洗牌並清空快照/最快紀錄

規則

  • 52 張全數翻開,依序發成 8 列(前 4 列 7 張,後 4 列 6 張)。
  • 回收格:依花色從 A 排到 K,完成四座即勝利。
  • 暫存格:4 格,各可暫放一張,隨時取回。
  • 牌列:同名異色、由大到小(例:黑 6 可接紅 7);可一次搬走整段連續合法 run。
  • 複數移動上限 = (空格暫存數 + 1) × 2^(空列數);剛開局可搬 1 張,1 個空列就能搬 2 張……依此推。
  • 「自動歸位」會把能安全回收的牌一次清掉,省力又防錯。

檔案

檔案 說明
index.html 結構
styles.css 手機優先/桌面遞增、牌桌視覺
app.js UI、點選/拖放、自動歸位、KV 紀錄
game.js 發牌、規則(純函式,方便單元測試)
audio.js Web Audio 合成音效
game.test.js Vitest 規則/移動單元測試
assets/cards/ 52 張 PNG(Kenney.nl CC0)
functions.js Playgrounds 可選 stub

最快紀錄

前端透過 GET /api/kv/pg-freecell-best 讀、PUT /api/kv/pg-freecell-best 寫;過關時若當前步數更低即更新。沒有 KV 環境(純本機 serve)時也照玩,只是不跨場保存。

License

MIT

About

新接龍(FreeCell):電腦課經典;八列牌、四暫存、四回收格。純前端 SAM,mobile-first。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages