前提・実現したいこと
お世話になります、js初心者です。
jsで簡単なゲームを作成しているのですが、
IEのみゲーム画面が表示されません。
該当のソースコード
// マップデータ var maze = [ [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0, 0], ] // testlog var test = { position: { player: 0, player: 0 }, }; console.log(test.position.player) // playerはオブジェクト配列にする var player = [0, 0] var bag = 0 var ROWS = 7 var COLS = 7 var EMPTY = 0 var WALL = 1 var PLAYER = 2 var EXIT = 3 var EXIT_READY = 6 var FRAG = 4 var FRAG_COUNT = 1 // ロード window.onload = () => { generateFrag() createBoard() createMap() } var generateFrag = () => { var count = 0 do { var row = Math.floor(Math.random() * ROWS) var col = Math.floor(Math.random() * COLS) if (maze[row][col] === EMPTY && row !== 0 && col !== 0 && row !== ROWS - 1 && col !== COLS - 1) { maze[row][col] = FRAG count++ } } while (count !== FRAG_COUNT) } // ゲームパネル var createBoard = () => { for (var row = 0; row < ROWS; row++) { for (var col = 0; col < COLS; col++) { var block = document.createElement("div") block.id = `id-${col}-${row}` document.querySelector(".board").appendChild(block); } } } var createMap = () => { for (var row = 0; row < ROWS; row++) { for (var col = 0; col < COLS; col++) { var itemClass = '' switch (maze[row][col]) { case PLAYER: itemClass = "player"; break case WALL: itemClass = "wall"; break case PLAYER: itemClass = "human"; break case EXIT: itemClass = "exit"; break case EXIT_READY: itemClass = "exit show"; break default: itemClass = "empty" } var id = `#id-${col}-${row}` document.querySelector(id).className = `block ${itemClass}` } } var id = `#id-${player[1]}-${player[0]}` if (!(bag === FRAG_COUNT && player[1] === COLS - 1 && player[0] === ROWS - 1)) { document.querySelector(id).className = "block player" } }
試したこと
var id = #id-${col}-${row} var id =
#id-${player[1]}-${player[0]}`
ここら辺の連結部分の書き方の問題でしょうか。
ご教示頂けますと幸いです。
補足情報(FW/ツールのバージョンなど)
js javascript
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。