From b999dbbafb67bf13a8db6d20c493032cbe639e74 Mon Sep 17 00:00:00 2001 From: TKHR-Shiu Date: Wed, 5 Nov 2025 17:50:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8A=A0=E9=80=9F=E3=83=BB=E6=B8=9B?= =?UTF-8?q?=E9=80=9F=E6=A9=9F=E8=83=BD=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/iframe/life-game.js | 17 ++++++++++++++--- src/routes/+page.svelte | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/iframe/life-game.js b/src/iframe/life-game.js index 0923633..410919c 100644 --- a/src/iframe/life-game.js +++ b/src/iframe/life-game.js @@ -3,10 +3,13 @@ let timer = "stop"; let timerId = 0; let generationFigure = 0; +let timerTime = 1000; //変数設定 -let boardSize = 20; -const CELL_SIZE = 22; +const defaultBoardSize = 20; +const defaultCellSize = 22; +let boardSize = defaultBoardSize; +let CELL_SIZE = defaultCellSize; const BOARD_MIN = 100; const BOARD_MAX = 10; @@ -145,7 +148,7 @@ function progressBoard() { on.play = () => { timer = "start"; - timerId = setInterval(progressBoard, 1000); + timerId = setInterval(progressBoard, timerTime); }; on.pause = () => { @@ -161,6 +164,14 @@ on.resize = (newBoardSize) => { boardSize = newBoardSize; }; +on.timer_change = (s) => { + timerTime = s; + if (timer == "start") { + clearInterval(timerId); + timerId = setInterval(progressBoard, timerTime); + } +}; + sizeChangeButton.onclick = () => { const newSize = parseInt(sizeInput.value, 10); if (isNaN(newSize) || newSize < BOARD_MAX || BOARD_MIN < newSize) { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 4006727..1ab1dc2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -24,6 +24,7 @@ let showEditor = $state(true); let preview_iframe: HTMLIFrameElement | undefined = $state(); let isProgress = $state(false); + let timer = 1000; let drawerOpen = $state(false); let resetModalOpen = $state(false); let bottomDrawerOpen = $state(false); @@ -37,7 +38,7 @@ }); function sendEvent(event: string, message?: unknown) { - preview_iframe?.contentWindow?.postMessage({ type: event, date: message }, "*"); + preview_iframe?.contentWindow?.postMessage({ type: event, data: message }, "*"); } @@ -188,4 +189,34 @@ > Right Arrow + + + + + + From 733fee6cfe9d725a9b61ba84a4e41a08885e25b4 Mon Sep 17 00:00:00 2001 From: TKHR-Shiu Date: Thu, 6 Nov 2025 09:48:16 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8A=A0=E9=80=9F=E3=83=BB=E6=B8=9B?= =?UTF-8?q?=E9=80=9F=E6=A9=9F=E8=83=BD=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/iframe/life-game.js | 6 +++--- src/routes/+page.svelte | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/iframe/life-game.js b/src/iframe/life-game.js index 410919c..fa05c5c 100644 --- a/src/iframe/life-game.js +++ b/src/iframe/life-game.js @@ -164,9 +164,9 @@ on.resize = (newBoardSize) => { boardSize = newBoardSize; }; -on.timer_change = (s) => { - timerTime = s; - if (timer == "start") { +on.timer_change = (ms) => { + timerTime = ms; + if (timer === "start") { clearInterval(timerId); timerId = setInterval(progressBoard, timerTime); } diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 1ab1dc2..5bd3234 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -24,7 +24,7 @@ let showEditor = $state(true); let preview_iframe: HTMLIFrameElement | undefined = $state(); let isProgress = $state(false); - let timer = 1000; + let intervalMs = 1000; let drawerOpen = $state(false); let resetModalOpen = $state(false); let bottomDrawerOpen = $state(false); @@ -193,8 +193,8 @@