Иметь игру, которая создает случайный игровой объект при каждом запуске. Я хочу сохранить копию этой случайно сгенерированной игры по уникальному URL, чтобы в одном поколении игр могли играть более одного человека, перейдя по сгенерированному URL.
Проблема: Невозможно получить игровой объект js для сохранения и отправки на только что созданную уникальную веб-страницу
Цель: Код, который сможет взять только что созданный объект js и сохранить его на уникальной странице.
Что я пробовал: Я пробовал скопировать элемент dom, в который заполняется игра, и затем сохранить его в переменной, а затем отправить эту переменную в php и создать новую страницу php с игрой js. Это не сработало. также я попытался скопировать эхо элемента dom с игрой в него на новую страницу, но я продолжаю в конечном итоге всю страницу, включая часть javascript страницы, которая создает новую игру. Это приводит к тому, что сгенерированные страницы воссоздают новую игру каждый раз, когда они обновляются, потому что они содержат один и тот же код создания новой игры, который находится вверху этого файла, поскольку вся эта страница дублируется при создании новой страницы. Чтобы исправить это, я попытался удалить createGame () js вверху сгенерированных страниц, чтобы они не создавали новую игру при каждом обновлении. Это также не сработало, потому что код не удаляет строки за раз, а вместо этого, кажется, удаляет символы один за другим, но, похоже, имеет эффект.
Пожалуйста, помогите решить эту проблему. Я немного новичок в этом, но я определенно даю этому шанс и работаю над этим часами. Спасибо.
Код:
<script>
function createGame(){
if( !document.getElementById) { return; }
if (game1 == null){
var game1 = new Game('newgame1', document.getElementById('putgamehere') );
}
// var game1;
game1.ImagePack('mainset',[['set1', 'Back Set 1']], '.png',25,36,"Main set");
game1.ImagePack('cardset/h96/',[['bluepattern','Blue pattern'],['blue','pink'],['x','Red X']],'.gif',71,96,'oyc');
//
game1.startGame();
//return game1;
}
</script>
</html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="index.css"/>
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/js" href="bootstrap/js/bootstrap.min.js"/>
<!--game files-->
<script src="cgame.js" type="text/javascript"></script>
<script src="cs.js" type="text/javascript"></script>
</head>
<body>
<!--Add Page Header-->
<?php require "header.php" ?>
<?php //eader "creategame.php"?>
<div >
<!--<div id="putgamehere">
</div>-->
<div id="putgamehere1">
</div>
<?php
//$content = ob_get_contents();
//$content = <script>;
//global $content;
$content = '
echo "<div><div class="game" id="putgamehere">
</div>"
$jsgamecontent = document.getElementByClass("game");
;
';
echo $content;
//echo '<div id="putgamehere">
//</div>';
?>
<script>
//Create new game
createGame();
//var content = document.getElementById("putgamehere1");
</script>
<?php
//make new page url
$newpageurl = "page1534";
//make new page page
$newpage = fopen($newpageurl . ".php", "x");
//create start game code variable
//$startgame = "<div id='putgamehere'></div>";
//$startgame = "<div id='putgamehere'></div>";
//$startgame = $startgame . "<script>game1.startGame();</script>";
//$startgame = "<script>game1.startGame();</script>";
//$content = $content . $startgame;
//add game to new page
$newgame = fwrite($newpage, $content);
//Remove create game code from top of new created page
//lines to replace with space
//$char = 0;
//$content = file_get_contents("page152.php");
/* while($char < 100){
$content = str_replace(0, '', $content);
file_put_contents("page151.php", $content);
$char+=1;
}*/
?>
</div>
</body>
</html>
Образец сгенерированного кода:
echo "<div><div id="putgamehere">
</div>";