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
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScriptでライフゲームを作ってみた。
hota1024
November 16, 2019
More Decks by hota1024
See All by hota1024
大学生がフルリモートの会社で1年バイトしてる話
hota1024
0
130
プログラミング言語 Wasabi の設計と実装
hota1024
0
82
ブロックチェーンと Reactでチャットアプリを作った話
hota1024
0
97
ネコ逃げスライド
hota1024
0
81
Scratchに登録しよう
hota1024
0
63
Scratchでネコ逃げ
hota1024
0
130
MaterialJump Next
hota1024
0
150
🐱Nekochat
hota1024
0
170
静岡YLT企画
hota1024
0
99
Other Decks in Technology
See All in Technology
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
220
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
280
そのタスクオンスケですか?
poropinai1966
0
120
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
360
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
580
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
440
NDIAS CTF 2026 問題解説会資料
bata_24
0
170
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
240
10x Speed With QA Agent Platform - How we scaled adoption from individual effort to organizational capability
lycorptech_jp
PRO
0
120
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
240
RAGの精度向上とエージェント活用
kintotechdev
2
120
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
160
Git: the NoSQL Database
bkeepers
PRO
432
67k
Thoughts on Productivity
jonyablonski
76
5.2k
Unsuck your backbone
ammeep
672
58k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Fireside Chat
paigeccino
42
4k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
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