Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
TypeScriptでライフゲームを作ってみた。
hota1024
November 16, 2019
Technology
0
140
TypeScriptでライフゲームを作ってみた。
hota1024
November 16, 2019
Tweet
Share
More Decks by hota1024
See All by hota1024
ブロックチェーンと Reactでチャットアプリを作った話
hota1024
0
32
ネコ逃げスライド
hota1024
0
14
Scratchに登録しよう
hota1024
0
10
Scratchでネコ逃げ
hota1024
0
51
MaterialJump Next
hota1024
0
65
🐱Nekochat
hota1024
0
78
静岡YLT企画
hota1024
0
19
競プロ静岡
hota1024
0
23
Other Decks in Technology
See All in Technology
20220731 如何跟隨開源技術保持你的職涯發展
pichuang
0
120
CityGMLとFBXの連携で地理空間のエンタメ化
soh_mitian
0
770
VS Code Meetup #21 - もう一度知りたい基礎編 - ファイル操作、コーディングの基本編
74th
0
200
殺虫剤のパラドックスの真実 / The Truth of The Pesticide Paradox
kzsuzuki
1
200
CloudWatchアラームによるサービス継続のための監視入門 / Introduction to Monitoring for Service Continuity with CloudWatch Alarms
inomasosan
1
450
漫画で使えそうな背景画像をblenderを使って作ってみた!
nokonoko1203
1
340
森林情報のオープンデータと QGISでの利用
kou_kita
0
340
Goで実装するブランドネットワークとの接続ポイント
pongzu
2
290
ニコニコ生放送におけるWebフロントエンドBFFサーバーのKubernetes移行事例の紹介
himenon
3
630
Djangoで組織とユーザーの権限管理をやってみよう #devio2022
seiichi1101
0
460
AWSを使う上で意識しておきたい、クラウドセキュリティ超入門(駆け足版)
kkmory
0
220
テクニカルライティングの検定を受けてみた話 / "My Story About Taking the Technical Writing Exam
line_developers
PRO
1
220
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Scaling GitHub
holman
451
140k
GraphQLとの向き合い方2022年版
quramy
16
8.5k
Raft: Consensus for Rubyists
vanstee
127
5.5k
Designing for humans not robots
tammielis
242
24k
Automating Front-end Workflow
addyosmani
1351
200k
Web Components: a chance to create the future
zenorocha
303
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
980
Pencils Down: Stop Designing & Start Developing
hursman
113
9.9k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
173
8.6k
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