diff --git a/src/iframe/life-game.js b/src/iframe/life-game.js
index 0923633..fa05c5c 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 = (ms) => {
+ timerTime = ms;
+ 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..5bd3234 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 intervalMs = 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 @@
>
+
+
+
+
+
+