From 56b61f4448d51d40d54451a3701cbdd2f7d8950c Mon Sep 17 00:00:00 2001 From: kg0816 <211191696+kg0816@users.noreply.github.com> Date: Wed, 22 Oct 2025 14:09:55 +0900 Subject: [PATCH 1/5] separate play and pause system from life-game.js --- .../LifeGameFunctions/PlayAndPause.js | 8 ++++-- src/life-game/life-game.html | 7 ++--- src/life-game/life-game.js | 26 ------------------- src/routes/+page.svelte | 12 ++++----- 4 files changed, 14 insertions(+), 39 deletions(-) diff --git a/src/life-game/LifeGameFunctions/PlayAndPause.js b/src/life-game/LifeGameFunctions/PlayAndPause.js index d200c54..4b91b07 100644 --- a/src/life-game/LifeGameFunctions/PlayAndPause.js +++ b/src/life-game/LifeGameFunctions/PlayAndPause.js @@ -1,5 +1,9 @@ window.addEventListener("message", (event) => { - if (event.data.type === "play-pause") { - console.log("Play/Pause toggled"); + if (event.data.type === "play") { + timer = "start"; + timerId = setInterval(progressBoard, 1000); + } else if (event.data.type === "pause") { + timer = "stop"; + clearInterval(timerId); } }); diff --git a/src/life-game/life-game.html b/src/life-game/life-game.html index 4b35c51..c533245 100644 --- a/src/life-game/life-game.html +++ b/src/life-game/life-game.html @@ -6,14 +6,11 @@

第0世代
-
停止中

-                    +        + diff --git a/src/life-game/life-game.js b/src/life-game/life-game.js index 8b00709..17d1403 100644 --- a/src/life-game/life-game.js +++ b/src/life-game/life-game.js @@ -36,10 +36,7 @@ function deadCellJudge(around) { } const generation = document.getElementById("generation"); //世代を表す文(第+数字+世代) -const isProgress = document.getElementById("timer"); //進行中かを表す文(再生中/停止中) //BUTTON -const startButton = document.getElementById("startbutton"); -const stopButton = document.getElementById("stopbutton"); const randomButton = document.getElementById("randombutton"); const resetButton = document.getElementById("resetbutton"); //Boardの初期化 @@ -90,35 +87,12 @@ resetButton.onclick = () => { stop(); }; -startButton.onclick = start; -stopButton.onclick = stop; - -function timerChange(sentence) { - //現在再生中かを表すtimer変数を変更し、文章も変更 - timer = sentence; - isProgress.textContent = timer === "start" ? "再生中" : "停止中"; -} - function generationChange(num) { //現在の世代を表すgenerationFigureを変更し、文章も変更 generationFigure = num; generation.textContent = "第" + generationFigure + "世代"; } -function start() { - if (timer === "stop") { - timerId = setInterval(progressBoard, 1000); - timerChange("start"); - } -} - -function stop() { - if (timer === "start") { - clearInterval(timerId); - timerChange("stop"); - } -} - function progressBoard() { const newBoard = structuredClone(board); for (let i = 0; i < boardSize; i++) { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 8277def..ae55ae6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -17,7 +17,7 @@ let previewDoc = $derived(code); let showEditor = $state(true); let preview_iframe: HTMLIFrameElement | undefined = $state(); - let PlayAndPause = $state(true); + let isProgress = $state(false);