Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TypeScriptでライフゲームを作ってみた。
Search
hota1024
November 16, 2019
Technology
0
220
TypeScriptでライフゲームを作ってみた。
hota1024
November 16, 2019
Tweet
Share
More Decks by hota1024
See All by hota1024
大学生がフルリモートの会社で1年バイトしてる話
hota1024
0
98
プログラミング言語 Wasabi の設計と実装
hota1024
0
36
ブロックチェーンと Reactでチャットアプリを作った話
hota1024
0
82
ネコ逃げスライド
hota1024
0
68
Scratchに登録しよう
hota1024
0
35
Scratchでネコ逃げ
hota1024
0
91
MaterialJump Next
hota1024
0
120
🐱Nekochat
hota1024
0
130
静岡YLT企画
hota1024
0
67
Other Decks in Technology
See All in Technology
伝わるコードレビュー
abenben
1
100
Google Cloud Next 2025 Recap マーケティング施策の運用及び開発を支援するAIの活用 / Use of AI to support operation and development of marketing campaign
atsushiyoshikawa
0
100
AIとSREで「今」できること
honmarkhunt
3
720
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
5
910
製造業向けIoTソリューション提案資料.pdf
haruki_uiru
0
240
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
370
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
1k
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
180
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
130
OPENLOGI Company Profile
hr01
0
64k
クラウドネイティブ環境の脅威モデリング
kyohmizu
2
400
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
1k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
A designer walks into a library…
pauljervisheath
205
24k
The Invisible Side of Design
smashingmag
299
50k
Practical Orchestrator
shlominoach
187
11k
Fireside Chat
paigeccino
37
3.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Scaling GitHub
holman
459
140k
Done Done
chrislema
184
16k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Transcript
5ZQF4DSJQUͰ ϥΠϑήʔϜ ࡞ͬͯΈͨɻ
ࣗݾհ @hota1024 ߴߍੜ $PEFS%PKP੩ԬϢʔεϝϯλʔ IPUB
ͳΜͰϥΠϑήʔϜʁ
ϥΠϑήʔϜͱ ϥΠϑήʔϜ (Conway's Game of Life[1] ) 1970ʹΠΪϦεͷֶऀδϣϯɾϗʔτϯɾίϯΣΠ (John Horton
Conway) ͕ ߟҊͨ͠ੜ໋ͷੜɺਐԽɺ౫ଡͳͲͷϓϩηεΛ؆қతͳϞσϧͰ࠶ݱͨ͠γϛϡϨʔγϣϯήʔϜͰ͋Δɻ୯७ͳϧʔϧͰ ͦͷ༷ͷมԽΛָ͠ΊΔͨΊɺύζϧͷཁૉΛ͍࣋ͬͯΔɻ By Wikipedia IUUQTKBXJLJQFEJBPSHXJLJϥΠϑήʔϜ
ϥΠϑήʔϜ ʹ ਓੜͷγϡϛϡϨʔγϣϯήʔϜ
ͳΜͰϥΠϑήʔϜʁ
ڵຯ͕͋Δ͜ͱ wઃܭ wςετ
(MPCBM%BZPG$PEFSFUSFBU JO4IJ[VPLB wʹ։࠵ɻ wςʔϚ͕ʮϥΠϑήʔϜʯ w࠷ޙ·ͰͰ͖ͳ͔ͬͨʜ
ϥΠϑήʔϜͷϥΠϒϥϦΛ ࡞ͬͯΈͨ 8*1 wOQNͰެ։ࡁΈ w։ൃ్த
༻ͨ͠ͷ w 7JTVBM4UVEJP$PEF w 5ZQF4DSJQU w 8FCQBDL w FTMJOU !UZQFTDSJQUFTMJOUQMVHJO
w +FTU
։ൃʹ͋ͨͬͯ wઃܭΛͯ͠ΈΔ wςετΛॻ͍ͯΈΔ wˢʹઓͯ͠ΈΔ͜ͱʹɻ
ઃܭʜ w ΫϦʔϯΞʔΩςΫνϟʁ w υϝΠϯۦಈઃܭʁ w Α͔͘ΒΜঢ়ଶˠͱΓ͋͑ͣײͰ࡞ͬͯΈͨ
ηϧͷཧΛߦ͏ 8PSMEΫϥε const world = new ArrayWorld(10, 10, Cell) ྻͰηϧΛཧ͢ΔYͷੈքΛੜ͢Δྫ
ηϧ͕ੜ͖Δ͔ɺࢮ͵͔Λ੍ޚ͢Δ &OWJSPONFOUΫϥε ϥΠϑήʔϜͷجຊͷͭͷϧʔϧΛఆٛͨ͠ڥΛੜ͢Δྫɻ new BasicEnvironment()
ੈքͱڥΛཧ͠ɺ͍͍͢"1*Λఏڙ͢ Δ -JGF(BNFΫϥε ઌఔͷྻͰηϧΛཧ͢ΔΫϥεͱ جຊڥͷΫϥεΛཧ͢ΔϥΠϑήʔϜΛੜ͢Δྫɻ const game = new LifeGame(
new ArrayWorld(10, 10, Cell), new BasicEnvironment() )
ʙσϞʙ
ʙ͜Ε͔Βʙ w #JU#PBSEΛͬͨϥΠϑήʔϜͷߴԽ w #JU#PBSE8PSMEΫϥεΛ࣮ͯ͠ΈΔ w ςετΛॻ͘ w ࣮গ͠ॻ͍ͯͨΓ͢Δ w
ࠓճ࡞ͬͨϥΠϒϥϦͰ7VFKT3FBDU͚ʹϥΠϑήʔ ϜΛ࣮ͯ͠ΈΔ
·ͱΊ w 5ZQF4DSJQU͍͍ͧʂ w ઃܭָ͍͠ʂͬͱษڧ͍ͨ͠ʂ w 5%%Λͬͱษڧͯ͠ΈΔʂ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ʙએʙ
2JJUB ੩Ԭ"EWFOU$BMFOEBS IUUQTRJJUBDPNBEWFOUDBMFOEBSTIJ[VPLB