From 50e6b927a6831977ac4dcf1ca5d050a489d03593 Mon Sep 17 00:00:00 2001 From: kg0816 <211191696+kg0816@users.noreply.github.com> Date: Sun, 9 Nov 2025 11:03:38 +0900 Subject: [PATCH 1/5] delete size change button --- src/iframe/life-game.js | 13 +------------ src/routes/+page.svelte | 17 ----------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/src/iframe/life-game.js b/src/iframe/life-game.js index 1250aec..e66e4b6 100644 --- a/src/iframe/life-game.js +++ b/src/iframe/life-game.js @@ -157,16 +157,6 @@ on.boardrandom = () => { on.pause(); }; -on.sizechange = (newSizenum) => { - const newSize = parseInt(newSizenum, 10); - boardSize = newSize; - CELL_SIZE = Math.floor(defaultCellSize * (defaultBoardSize / newSize)); - board = Array.from({ length: boardSize }, () => Array.from({ length: boardSize }, () => false)); - renderBoard(); - generationChange(0); - on.pause(); -}; - on.timer_change = (ms) => { timerTime = ms; if (timer === "start") { @@ -181,12 +171,11 @@ on.stateupdate = () => { type: "stateupdate", data: { generationFigure: generationFigure, - boardSize: boardSize, }, }, "*", ); - console.log("generationFigure:", generationFigure, "boardSize:", boardSize); + console.log("generationFigure:", generationFigure); }; on.sizechange(boardSize); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b78a836..b47eee4 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -213,23 +213,6 @@ 第 {generationFigure} 世代 -

ボードのサイズ(10~100):

- - - -
From ab0892e2306dac315ac3b0ff88f9583df337af43 Mon Sep 17 00:00:00 2001 From: kg0816 <211191696+kg0816@users.noreply.github.com> Date: Sun, 9 Nov 2025 11:22:50 +0900 Subject: [PATCH 2/5] fix place template function --- src/iframe/life-game.js | 14 +++-- src/iframe/place_template.js | 37 ------------- src/routes/+page.svelte | 100 +++++++++++++++++++++-------------- 3 files changed, 71 insertions(+), 80 deletions(-) delete mode 100644 src/iframe/place_template.js diff --git a/src/iframe/life-game.js b/src/iframe/life-game.js index e66e4b6..80b11b7 100644 --- a/src/iframe/life-game.js +++ b/src/iframe/life-game.js @@ -165,17 +165,25 @@ on.timer_change = (ms) => { } }; -on.stateupdate = () => { +on.requestSync = () => { window.parent.postMessage( { - type: "stateupdate", + type: "Sync", data: { generationFigure: generationFigure, + boardSize: boardSize, }, }, "*", ); - console.log("generationFigure:", generationFigure); + console.log("generationFigure:", generationFigure, "boardSize:", boardSize); +}; + +on.placetemplate = (newBoard) => { + board = newBoard; + renderBoard(); + generationChange(0); + stop(); }; on.sizechange(boardSize); diff --git a/src/iframe/place_template.js b/src/iframe/place_template.js deleted file mode 100644 index a4f016f..0000000 --- a/src/iframe/place_template.js +++ /dev/null @@ -1,37 +0,0 @@ -window.addEventListener("message", (event) => { - if (event.data.type === "setPattern") { - const newBoard = Array.from({ length: boardSize }, () => - Array.from({ length: boardSize }, () => false), - ); - const patternData = event.data.pattern; - - if (boardSize < (patternData.minBoardSize || 0)) { - window.parent.postMessage( - { - type: "patternError", - message: `このパターンには ${patternData.minBoardSize}x${patternData.minBoardSize} 以上の盤面が必要です`, - }, - "*", - ); - return; - } else { - const patternShape = patternData.shape; - const patternHeight = patternShape.length; - const patternWidth = patternShape[0].length; - //↓パターンがボードの中央に来るよう、パターンの右上のセルの位置(startrow,startCol)を調整 - const startRow = Math.floor((boardSize - patternHeight) / 2); - const startCol = Math.floor((boardSize - patternWidth) / 2); - for (let r = 0; r < patternHeight; r++) { - for (let c = 0; c < patternWidth; c++) { - const boardRow = startRow + r; - const boardCol = startCol + c; - newBoard[boardRow][boardCol] = patternShape[r][c] === 1; - } - } - board = newBoard; - renderBoard(); - generationChange(0); - stop(); - } - } -}); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b47eee4..4d3ffb9 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,6 @@