Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
形四のWebアプリ作ってみた
Search
西村 備山
February 25, 2026
Technology
16
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
形四のWebアプリ作ってみた
2026.02.21 デジもく会 での発表
西村 備山
February 25, 2026
Transcript
13 slides
2026.02.21 デジもく会 西村備山 (@lipoyang) 形四のWebアプリ作ってみた
自己紹介 •デジもく会 •奈良県在住 •組込み系技術者 西村備山 (@lipoyang)
形四とは? 白黒4つのコマで正方形をつくるボードゲーム 「形四」ゲームの解説 dnjiro's 9VAe blog より
既存の形四アプリ 「形四96番勝負」 by @dnjiro さん Android / Chromebook 版(Google Play)
Windows版 (keishi96w.zip) Mac版 (keishi96m.zip) Amazon Fire タブレット版(Amazonアプリストア) X68000 Z版(kc96x.zip)
まずは C# で自作 • Windows用フォームアプリ • 以前作ったオセロのアプリを改造して作成 • ひとまず動くようになるまで 9時間
(さすがに生成AIの速さには勝てない) • 形四96番勝負 相当のUIに作りこむ
KCSharp https://github.com/lipoyang/KCSharp ←レベル7は かなり強いぞ
Webアプリ版も作ってみた • UIは JavaScript で記述 • 思考エンジンは Rust で記述 •
Rust → WebAssembly にビルド • ネイティブアプリと遜色ない速度
WebKC ↓こちらで遊べます
ネット対戦機能がほしい • 人間 VS 人間 のネット対戦 • ソフト vs ソフト
のネット対戦 • 通信仕様どうする? • サーバどこに立てる?
またね~ Twitter: @lipoyang GitHub: lipoyang SlideShare: lipoyang http://lipoyang.net
高速化の工夫 • ミニマックス法 → アルファ・ベータ法 (アルゴリズムの改良) • 二次元配列 → ビットボード
(データ構造の改良) • 動的なオブジェクト生成をなるべく減らす • 無駄に同じ計算を繰り返さない。(メモ化)
静的評価関数 自乗形四率 (Square Keishi Rate) を以下のように定義 4つの石の座標を P i =
(x i , y i ) (i = 1, 2, 3, 4) とする。 相互の距離の自乗は D(P i , P j ) = (x i – x j )2 + (y i – y j )2 その最大値を D max 、最小値を D min とするとき 自乗形四率 k = D min / D max は 0 < k ≦ ½ であり、 四点が正方形をなすとき k = ½ となる。 どれだけ正方形に近いかの簡易な指標となる。
ヒューリスティック • 「必殺形」全30パターン (トリプル中パンチ) • 「恐怖系」全12パターン (大パンチ + ダブル中パンチ) •
これを評価関数に取り入れるのは… • 判定処理が面倒すぎて断念。 ( パターンは 回転、反転、平行移動 もありうる )
More Decks by 西村 備山
See All by 西村 備山
SPRESENSEで可愛いロボット ~ H/W・S/W設計のポイント
lipoyang
0
150
イチから作る超軽量な音声合成
lipoyang
0
38
製作物紹介 & 小ネタ集
lipoyang
0
15
パワポを操作してカンペを表示するスカウター型デバイス
lipoyang
0
22
マイコンとデジファブによる創作電子楽器の製作
lipoyang
0
49
GitHub Copilot 対 Cursor
lipoyang
0
55
つくろか!3 出展について
lipoyang
0
25
光る縄文土器を作る
lipoyang
0
88
IoT渾天儀で太陽の運行を知る
lipoyang
0
2k
Other Decks in Technology
See All in Technology
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
120
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
230
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
180
JAWS_FESTA2026_オンプレ-AWS間プロキシサーバの移行_性能_障害対応で得た実践ノウハウ_高島一晃.pdf
tkazuaki0820
1
110
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
280
Kiro アップデート 2026 年 11 月号 (11 月 8 日時点) | 目指せ Kiro マスター アップデート編
inariku
PRO
2
110
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.5k
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
850
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
160
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
200
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Color Theory Basics | Prateek | Gurzu
gurzu
1
520
Darren the Foodie - Storyboard
khoart
PRO
5
4.1k
Everyday Curiosity
cassininazir
0
400
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Navigating Weather and Climate Data
rabernat
0
590
Ethics towards AI in product and experience design
skipperchong
2
460
Paper Plane
katiecoart
PRO
6
55k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
830
Designing for Performance
lara
612
70k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470