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 @@