1. HOME»
  2. プログラミング・Web»
  3. JavaScript»
  4. JavaScriptでRPGを作ろう!スマホにも対応したゲームの作り方

JavaScriptでRPGを作ろう!スマホにも対応したゲームの作り方

山田

さて、ここまででゲームはほとんど完成かんせいしたべ

りこ

音楽おんがくも入って、いい感じになってきたよね

アル

でもゴールまでが近すぎて、こんなのラビリンスじゃないよ!

山田

まぁまぁ。ではこれから大きなマップを作っていくべか?

アル

ホントに? やったぁ!

りこ

やったぁ!

目次
  1. マップを大きくしてみよう!

マップを大きくしてみよう!

つづいて、マップをもっと広くしてみましょう!

山田

ここまでで、ゲームに必要ひつよう機能きのうそろったべ
では最後さいごに、マップを大きくして、ゴールまでの道をむずかしくするべ

アル

わー、これでもう完全かんぜんにゲームだね!

山田

ただ、マップを大きくすると、かなりの行数ぎょうすうを使うことになって、プログラムがみづらくなってしまうべ
そこで、map.jsファイル追加ついかして、そこにマップを作ることにするべ

rpg/
|-- img (省略)/
|-- index.html
|-- js/
|   |-- engine/
|   |   |-- game.js
|   |   |-- dpad.js
|   |   |-- charactertile.js
|   |   |-- party.js
|   |   |-- scene.js
|   |   |-- sound.js
|   |   |-- sprite.js
|   |   |-- text.js
|   |   |-- tile.js
|   |   `-- tilemap.js
|   |-- main.js
|   `-- map.js (追加)
`-- sound (省略)/
山田

追加したファイルをindex.htmlからむべ!

index.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
	<title>くろねこラビリンス</title>
	<style>
		* {
			padding: 0;
			margin: 0;
		}
		canvas {
			display: block;
		}
	</style>
</head>
<body>
	<script src="js/engine/scene.js"></script>
	<script src="js/engine/sound.js"></script>
	<script src="js/engine/sprite.js"></script>
	<script src="js/engine/dpad.js"></script>
	<script src="js/engine/party.js"></script>
	<script src="js/engine/text.js"></script>
	<script src="js/engine/tile.js"></script>
	<script src="js/engine/charactertile.js"></script>
	<script src="js/engine/tilemap.js"></script>
	<script src="js/engine/game.js"></script>
	<script src="js/map.js"></script>
	<script src="js/main.js"></script>
</body>
</html>
山田

map.jsに、マップを作っていくべ!

js/map.js

'use strict'

//マップの作成
const map = [
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8],
	[11,10,10,10,11,11,10,10,10,10,10,10,10,10,10,11,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 6, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8],
	[11, 5, 5, 5,11,11, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 5, 5,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8],
	[11, 5, 4, 4, 9,10, 5, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8],
	[11, 5, 4, 4, 5, 5, 5, 4,11,11,11,11,11, 4, 4,11, 5,11,11,11, 5, 4,11,11,11,11,11,11,11,11,11,11, 4, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 1, 8, 1, 8, 6, 6, 6, 6, 6, 6, 8, 8, 1, 8, 8, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 4,11,10,10,10,10, 5, 4,11, 5, 9,10,11, 5, 4,11,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11,10,10,10,10,10,11,10,10,10,10,10,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 1, 1, 8, 8, 8, 6, 6, 6, 8, 8, 1, 8],
	[11, 5, 4, 4,11,11,11,11,11, 5, 5, 5, 5, 5, 4,11, 5, 5, 5,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5,11, 5, 5, 5, 5, 5,11, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 8, 8, 8, 1, 7, 7, 7, 7, 7, 1, 1, 8, 8, 8, 1, 1, 1, 8, 8, 1, 8],
	[11, 5, 4,11,11,11,11,11,11, 5, 4, 4, 4, 4, 4,11, 5, 4, 4,11, 5, 4,11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4, 4, 4, 4,11, 5, 4, 4, 4, 4,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 1, 8, 1, 8, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11,10,10,10,10,11, 5, 4,11,11,11,11,11, 5, 4, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 4, 4,11, 5, 4,11, 4, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5, 5, 5, 5,11, 5, 4,11,11,11,10,10, 5, 4, 4,11, 5, 4,11,10,10,10,10,10,11,10,10,10,10,10,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 1, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5, 4, 4, 4,11, 5, 4, 9,10,11, 5, 5, 5, 4, 4, 9, 5, 4,11, 5, 5, 5, 5, 5,11, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 1, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5,11, 4, 4,11, 5, 4, 5, 5,11, 5, 4, 4, 4, 4, 5, 5, 4,11, 5, 4,11, 4, 4,11, 5, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5,11, 5, 4,11, 5, 4, 4, 4,11, 5,11, 5,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5,11, 5, 4,11,11,11,11, 5,11, 5,11, 5, 9,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5,11, 5, 4, 9,10,10,11, 5,11, 5,11, 5, 5,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 1, 6, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5,11, 5, 4, 5, 5, 5,11, 5,11, 5,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8],
	[11, 5, 4, 9, 5,11, 5, 4,11,11, 5,11, 5,11, 5,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 6, 6, 8, 1, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 1, 8, 8, 8, 1, 6, 6, 1, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 1, 6, 6, 1, 8],
	[11, 5, 4, 4, 5,11, 5, 4, 9,11, 5,11, 5,11, 5,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7, 7, 1, 7, 8, 8, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 1, 1, 1, 1, 8],
	[11,11,11,11,11,11,11, 4, 4,11, 5,11, 5,11, 5,11, 5, 4,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 8, 1, 8],
	[11,10,10,10,10,10,10, 5, 4,11, 5,11, 5,11, 5,11, 5, 4,11, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 6, 6, 6, 6, 6, 6, 6, 8, 1, 6, 6, 6, 6, 6, 8, 1, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 4,11, 5,11, 5,11, 5,11, 5, 4,11, 5, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 1, 8, 1, 8],
	[11,11,11,11,11,11,11,11,11,11, 5,11, 5,11, 5,11, 5, 4,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8],
	[11,10,10,10,10,10,10,10,10,10, 5,11, 5, 9, 5,11, 5, 4,11, 5, 4,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 1, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 6, 6, 6, 6, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 1, 8],
	[11, 5,11,11,11,11,11,11,11,11, 5,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 6, 6, 6, 6, 6, 1, 6, 6, 8, 1, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 1, 8],
	[11, 5,11,10,10,10,10,10,10,11, 5, 9,10,11,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 9, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 5, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 6, 6, 6, 8, 8, 1, 8, 8, 8, 8, 1, 8],
	[11, 5,11, 5, 5, 5, 5, 5, 5,11, 5, 5, 5,11, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 5, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 4, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 1, 8, 1, 1, 1, 1, 8, 8, 1, 8, 8, 8, 8, 1, 8],
	[11, 5,11, 5,11,11,11,11,11,11, 5, 4, 4,11, 5, 4, 4, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 4, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 6, 6, 6, 6, 6, 1, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 1, 8],
	[11, 5, 9, 5,11,10,10,10,10,10, 5, 4,11,11, 5, 4,11,11,11, 5, 4, 9,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 6, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 6, 6, 6, 6, 1, 8, 8, 1, 6, 6, 6, 8, 1, 8],
	[11, 5, 5, 5,11, 5, 5, 5, 5, 5, 5, 4,11,10, 5, 4, 9,10,11,11, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 8, 1, 8],
	[11,11,11,11,11, 5, 4, 4, 4, 4, 4, 4,11, 5, 5, 4, 5, 5, 9,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8],
	[11,10,10,10,10, 5, 4,11,11,11,11,11,11,11,11,11, 5, 4, 5,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 1, 8],
	[11, 5, 5, 5, 5, 5, 4,10,10,10,10,10,10,10,10,11,11, 5, 4,11, 5, 4,11,10,10,10,10,10,10,10,10,10,10,10,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5,10,11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8],
	[11, 5, 4,11,11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,11, 5,11,11, 5, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 6, 6, 6, 1, 8, 1, 8, 1, 8],
	[11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11, 5,11, 5,11,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 1, 1, 1, 1, 8, 1, 8, 1, 8],
	[11, 5, 4, 9,10,10,10,10,10,10,10,10,10,10,11, 5,11, 5, 9,11, 5, 4,11, 5, 4,11,10,10,10,10,10,10,10, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5,11, 5, 5,11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 6, 1, 6, 1, 6, 6, 6, 6, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8],
	[11,10,10,10,10,10,10,10,10,10,10,10,10, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 1, 8, 1, 6, 6, 6, 6, 8, 1, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8],
	[11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11,10,10,10,10,10,10,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 8, 8],
	[11, 5, 4,11,10,10,10,10,10,10,10,10,10,10,10,10, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 6, 8, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 6, 6, 8],
	[11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11,11, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 6, 8, 8, 1, 8, 1, 8, 1, 8, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 1, 1, 8],
	[11, 5, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 2, 2, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 1, 8, 1, 6, 6, 6, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 8, 8, 1, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 2, 2, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 6, 8, 1, 8],
	[11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 2, 2, 2, 1, 1, 8, 8, 6, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 6, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 6, 1, 8, 1, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 1, 8, 1, 8, 1, 1, 1, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5, 4,11, 5, 4,11,11,11,11, 5, 4, 5, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 1, 8],
	[11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4,11, 5, 4, 9,10,10,11, 5, 4, 4, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 6, 6, 6, 6, 8, 1, 8],
	[11, 5, 4, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4,11, 5, 4, 5, 5, 5,11,11,11,11, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 6, 6, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 8, 1, 8],
	[11, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4,11,11, 5, 4, 4, 4,11,10,10,11, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 9,11,11,11, 4, 4,11, 5, 5,11, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 1, 1, 1, 8, 1, 8, 1, 6, 6, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 5, 9,10,11, 5, 4,11, 5, 4,11, 2, 2, 2, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 1, 1, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5,11, 5, 4, 9, 5, 4,11, 5, 4,11,11,11,11, 5, 5, 5,11, 5, 4,11, 5, 4,11, 2, 2, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 8, 6, 6, 6, 6, 8, 1, 8, 8, 1, 8, 8, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4, 5, 5, 4,11, 5, 4,11,10,10,11, 5, 4, 4,11, 5, 4,11, 5, 4,11, 2, 2, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 1, 1, 1, 8, 1, 8, 8, 1, 8, 6, 6, 6, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 5, 4, 4, 4,11, 5, 4,11, 5, 5,11, 5, 4, 4,11, 5, 4,11, 5, 4,11, 2, 2, 1, 1, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 6, 1, 8, 1, 1, 1, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4, 4, 4,11, 5, 4,11, 5, 4,11,11,11, 5,11, 5, 4,11, 5, 4,11, 2, 1, 1, 1, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11, 5, 4, 4, 4,11, 5, 4,11, 5, 4, 9,11,10, 5,11, 5, 4,11, 5, 4,11, 2, 1, 1, 8, 8, 6, 6, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4,11,11,11, 5, 4,11,11, 5, 5,11, 5, 5,11, 5, 4,11, 5, 4,11, 1, 1, 1, 8, 8, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11,11,11, 5, 4, 9,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 6, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11, 5, 4,11, 5, 4,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 6, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 6, 6, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11,10,10,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 8, 8, 8, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 1, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 6, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11,10,10,10,10,10,10,10,10,10,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 6, 6, 6, 6, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 1, 1, 8, 1, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11,11,11,11,11,11,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 1, 8, 8, 1, 8, 1, 8, 1, 8, 8, 1, 6, 6, 6, 6, 6, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11,10,10,10,10,10,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 1, 8, 1, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 1, 1, 1, 1, 8, 8, 1, 8, 1, 8, 1, 6, 8, 1, 1, 1, 1, 1, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11, 5, 5, 5, 5, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 1, 1, 8, 8, 8, 8, 8, 8, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5,11,11, 4,11,11, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 6, 6, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 9,10, 4, 9,11, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 1, 6, 6, 6, 6, 6, 6, 8, 1, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 1, 1, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5, 5, 4, 5,11, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11, 5,11, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 2, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9,10,10,10,10,10,10, 5,11, 5,11, 5, 4,11, 5, 4, 9, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9, 5, 4,11, 1, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 1, 8, 8, 8, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 2, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5,11, 5, 4,11, 5, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 5, 5, 4,11, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 8, 8, 1, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 6, 6, 2, 2, 2, 0, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11, 5,11, 5, 4,11, 5, 4,11, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9, 5, 4,11,11,11,11, 4, 4,11, 1, 1, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 8, 1, 6, 6, 6, 8, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 6, 1, 1, 2, 2, 2, 0, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4, 9,10,10,10,10,10,10,10,10,10,10,10, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 5, 5, 4, 9,10,10,11, 4, 4,11, 1, 1, 8, 1, 8, 1, 8, 6, 6, 8, 6, 6, 6, 1, 8, 8, 8, 8, 1, 1, 1, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 6, 1, 1, 2, 2, 2, 2, 2, 8],
	[11, 5, 4,11, 5, 4,11, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 4, 4, 5, 5, 5,11,11,11,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 8, 6, 1, 1, 2, 2, 2, 0, 0, 2, 8],
	[11, 5, 4,11, 5, 4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 4, 4, 4, 4, 4,11,10,10,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 1, 1, 1, 8, 8, 6, 6, 8, 6, 6, 6, 6, 6, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 6, 1, 1, 2, 2, 2, 2, 0, 0, 2, 8],
	[11, 5, 4,11, 5, 4, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 4, 4,11, 4, 4,11, 5, 5,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 8, 8, 8, 1, 1, 8, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 1, 1, 1, 2, 2, 2, 0, 0, 0, 2, 8],
	[11, 5, 4,11, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 8, 8, 8, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 8, 1, 8, 8, 8, 8, 6, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 8],
	[11, 5, 4,11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 6, 6, 6, 1, 1, 6, 6, 6, 6, 6, 6, 6, 8, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 8, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 2, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 6, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 8],
	[11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 6, 6, 6, 6, 1, 8, 8, 8, 1, 1, 1, 2, 2, 0, 2, 0, 2, 0, 0, 2, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 8, 8, 6, 1, 1, 2, 2, 0, 0, 2, 0, 2, 0, 0, 2, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 1, 8, 8, 8, 8, 8, 1, 1, 2, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 1, 8, 8, 8, 8, 6, 1, 2, 2, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 8],
	[11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 6, 1, 1, 2, 2, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4, 9, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 2, 2, 2, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4,11, 1, 1, 8, 1, 8, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 8],
	[11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 9, 5, 4,11, 1, 1, 8, 8, 8, 1, 8, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 0, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4,11, 5, 4,11, 5, 4, 5, 5, 4,11, 1, 1, 8, 6, 6, 1, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 8],
	[11, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,11, 5, 4,11, 5, 4,11, 5, 4, 4, 4, 4,11, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 2, 8],
	[11, 5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 5, 4,11, 5, 4,11,11,11,11,11,11,11, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8],
	[11, 5, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,11, 5, 4, 9,10,10,10,10,10,11, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 8],
	[11, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4,11, 5, 4, 5, 5, 5, 5, 5, 5,11, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 8],
	[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]
];
山田

さらに、main.jsもなおしていくべ!

js/main.js

'use strict'

//ブラウザがページを完全に読みこむまで待つ
addEventListener( 'load', () => {

	//変数gameに、あなたはゲームですよ、と教える
	const game = new Game();
	//ゲームに使う画像などの素材を先に読み込んでおく(プリロード)
	game.preload( 'img/yamada.png', 'img/rico.png', 'img/aru.png', 'img/start.png', 'img/goal.png', 'img/tile.png', 'img/dpad.png', 'sound/bgm.mp3', 'sound/start.mp3', 'sound/clear.mp3' );
	//使いたいキーとして、スペースキーを登録する
	game.keybind( 'space', ' ' );
	//ゲームを開始する準備ができたあとに実行する
	game.main( () => {

		//タイトルシーン
		const titleScene = () => {

			//変数sceneに、あなたはシーンですよ、と教える
			const scene = new Scene();

			//変数titleTextに、あなたは「くろねこラビリンス」というテキストだよ、と教える
			const titleText = new Text( 'くろねこラビリンス' );
			//テキストを上下左右中央の位置にする
			titleText.center().middle();
			//シーンにテキストを追加
			scene.add( titleText );

			//シーンが切り替わったときに、一度だけ呼ばれる
			scene.onchangescene = () => {
				//clear.mp3をストップ
				game.sounds[ 'sound/clear.mp3' ].stop();
				//start.mp3を再生
				game.sounds[ 'sound/start.mp3' ].start();
			}

			//シーンがタッチされたとき
			scene.ontouchstart = () => {
				//メインシーンに切り替える
				game.currentScene = mainScene();
			} //scene.ontouchstart() 終了

			//ループから常に呼び出される
			scene.onenterframe = () => {
				//スペースキーが押されたとき、メインシーンに切り替える
				if ( game.input.space ) game.currentScene = mainScene();
			} //scene.onenterframe() 終了

			//作ったシーンを返す
			return scene;

		} //titleScene() 終了

		//メインシーン
		const mainScene = () => {

			//(削除)
			/*
			//マップの作成
			const map = [
				[11,11,11,11,11,11,11,11,11,11],
				[11,10,10,10,10,10,10,10,10,11],
				[11, 4, 4, 4, 4, 4, 4, 4, 4,11],
				[11, 4,11, 4, 4,11,11,11, 4,11],
				[11, 4,11,11,11,11,10,10, 4,11],
				[11, 4,11,10,10,11, 4, 4, 4,11],
				[11, 4,11, 4, 4,11,11,11, 4,11],
				[11, 4, 9, 4, 4, 9,10,11, 4,11],
				[11, 4, 4, 4, 4, 4, 4,11, 4,11],
				[11,11,11,11,11,11,11,11,11,11]
			];
			*/
			//タイルのサイズ
			const TILE_SIZE = 32;
			//歩く速さ
			const WALKING_SPEED = 4;

			//変数sceneに、あなたはシーンですよ、と教える
			const scene = new Scene();

			//変数tilemapに、あなたはタイルマップですよ、と教える
			const tilemap = new Tilemap( 'img/tile.png' );
			//tilemap.dataに、どんなマップなのか教える
			tilemap.data = map;
			//マップ全体の位置をずらす
			tilemap.x = TILE_SIZE*4 - TILE_SIZE/2;
			tilemap.y = TILE_SIZE*3 - TILE_SIZE/2;
			//移動できないタイルを指定する
			tilemap.obstacles = [0, 3, 6, 7, 8, 9, 10, 11];
			//マップを登録する
			scene.add( tilemap );

			//変数startに、あなたはスタートのタイルですよ、と教える
			const start = new Tile( 'img/start.png' );
			//マップ左上からの座標を指定する
			start.x = TILE_SIZE;
			start.y = TILE_SIZE*2;
			//スタートのタイルを、tilemapに追加して、とお願いする
			tilemap.add( start );

			//変数goalに、あなたはゴールのタイルですよ、と教える
			const goal = new Tile( 'img/goal.png' );
			//マップ左上からの座標を指定する
			goal.x = TILE_SIZE*98;
			goal.y = TILE_SIZE*98;
			//ゴールのタイルを、tilemapに追加して、とお願いする
			tilemap.add( goal );

			//変数yamadaに、あなたは山田先生のキャラクタータイルですよ、と教える
			const yamada = new CharacterTile( 'img/yamada.png' );
			//山田先生を画面の中央に配置
			yamada.x = yamada.y = TILE_SIZE*5 - TILE_SIZE/2;
			//タイルマップの動きと同期させない
			yamada.isSynchronize = false;
			//tilemapに、山田先生のタイルを追加して、とお願いする
			tilemap.add( yamada );

			//変数ricoに、あなたはりこちゃんのキャラクタータイルですよ、と教える
			const rico = new CharacterTile( 'img/rico.png' );
			//りこちゃんの位置を決める
			rico.x = TILE_SIZE*7 - TILE_SIZE/2;
			rico.y = TILE_SIZE*5 - TILE_SIZE/2;
			//タイルマップの動きと同期させない
			rico.isSynchronize = false;
			//tilemapに、りこちゃんのキャラクタータイルを追加して、とお願いする
			tilemap.add( rico );

			//変数aruに、あなたはアルくんのキャラクタータイルですよ、と教える
			const aru = new CharacterTile( 'img/aru.png' );
			//アルくんの位置を決める
			aru.x = TILE_SIZE*7 - TILE_SIZE/2;
			aru.y = TILE_SIZE*6 - TILE_SIZE/2;
			//タイルマップの動きと同期させない
			aru.isSynchronize = false;
			//tilemapに、アルくんのキャラクタータイルを追加して、とお願いする
			tilemap.add( aru );

			//変数partyに、あなたは山田先生とりこちゃんとアルくんのパーティですよ、と教える
			const party = new Party( yamada, rico, aru );
			//パーティの歩く速さに、WALKING_SPEEDの値を代入する
			party.speed = WALKING_SPEED;

			//変数dpadに、あなたはD-Padですよ、と教える
			const dpad = new DPad( 'img/dpad.png', 80 );
			//D-Padの位置を指定する
			dpad.x = 10;
			dpad.y = 230;
			//sceneに、D-Padを追加して、とお願いする
			scene.add( dpad );

			//シーンが切り替わったときに、一度だけ呼ばれる
			scene.onchangescene = () => {
				//start.mp3をストップ
				game.sounds[ 'sound/start.mp3' ].stop();
				//bgm.mp3をループ再生
				game.sounds[ 'sound/bgm.mp3' ].loop();
			}

			//キャラクターのアニメーションのための変数
			let toggleForAnimation = 0;
			//ゴールのテキストが表示されているかどうかの変数
			let hasDisplayedGoalText = false;
			//移動可能かどうかの変数
			let isMovable = true;

			//ループから常に呼び出される
			scene.onenterframe = () => {
				//タイルマップの位置がタイルのサイズで割り切れるとき
				if ( ( tilemap.x - TILE_SIZE/2 ) % TILE_SIZE === 0 && ( tilemap.y - TILE_SIZE/2 ) % TILE_SIZE === 0 ) {
					//タイルマップの移動速度に0を代入する
					tilemap.vx = tilemap.vy = 0;
					//パーティ全員の数だけ繰り返す
					for ( let i in party.member ) {
						//パーティ全員の移動速度を0にする
						party.member[i].vx = party.member[i].vy = 0;
						//パーティ全員の画像を切り替える
						party.member[i].animation = 1;
					}

					//山田先生のタイルがゴールのタイルと重なっているとき、イベントを発生させる
					if ( yamada.isOverlapped( goal ) ) {
						//ゴールのテキストが表示されていないとき
						if ( !hasDisplayedGoalText ) {
							//変数goalTextに、あなたは「ゴールだべ!」というテキストだよ、と教える
							const goalText = new Text( 'ゴールだべ!' );
							//テキストサイズを変更
							goalText.size = 50;
							//テキストを上下左右中央の位置にする
							goalText.center().middle();
							//シーンにテキストを追加
							scene.add( goalText );
							//ゴールのテキストが表示されているかどうかの変数にtrueを代入
							hasDisplayedGoalText = true;
							//移動ができないようにする
							isMovable = false;
							//bgm.mp3をストップ
							game.sounds[ 'sound/bgm.mp3' ].stop();
							//clear.mp3を再生
							game.sounds[ 'sound/clear.mp3' ].start();
							//6秒たったら、タイトルシーンに切り替える
							setTimeout( () => {
								game.currentScene = titleScene();
							}, 6000 );
						}
					}

					//移動可能なとき
					if ( isMovable ) {
						//方向キー、もしくはD-Padが押されているときは、setMemberVelocityメソッドを呼び出し、タイルマップの移動速度と、山田先生の向きに、それぞれの値を代入する
						if ( game.input.left || dpad.arrow.left ) {
							party.setMemberVelocity( 'left' );
							tilemap.vx = WALKING_SPEED;
							yamada.direction = 1;
						}
						else if ( game.input.right || dpad.arrow.right ) {
							party.setMemberVelocity( 'right' );
							tilemap.vx = -1 * WALKING_SPEED;
							yamada.direction = 2;
						}
						else if ( game.input.up || dpad.arrow.up ) {
							party.setMemberVelocity( 'up' );
							tilemap.vy = WALKING_SPEED;
							yamada.direction = 3;
						}
						else if ( game.input.down || dpad.arrow.down ) {
							party.setMemberVelocity( 'down' );
							tilemap.vy = -1 * WALKING_SPEED;
							yamada.direction = 0;
						}

						//移動後のマップ座標を求める
						const yamadaCoordinateAfterMoveX = yamada.mapX - tilemap.vx/WALKING_SPEED;
						const yamadaCoordinateAfterMoveY = yamada.mapY - tilemap.vy/WALKING_SPEED;
						//もし移動後のマップ座標に障害物があるとき
						if ( tilemap.hasObstacle( yamadaCoordinateAfterMoveX, yamadaCoordinateAfterMoveY ) ) {
							//移動量に0を代入する
							tilemap.vx = tilemap.vy = 0;
							//パーティ全員の移動速度に0を代入する
							for ( let i in party.member ) {
								party.member[i].vx = party.member[i].vy = 0;
							}
						}

						//タイルマップが動いているとき、パーティメンバーの向きを変える
						if ( tilemap.vx !== 0 || tilemap.vy !== 0 ) party.setMemberDirection();
					}
				}
				//タイルマップのXとY座標両方がタイルのサイズで割り切れるとき以外で、タイルの半分のサイズで割り切れるとき
				else if ( ( tilemap.x + TILE_SIZE/2 ) % ( TILE_SIZE/2 ) === 0 && ( tilemap.y + TILE_SIZE/2 ) % ( TILE_SIZE/2 ) === 0 ) {
					//0と1を交互に取得できる
					toggleForAnimation ^= 1;
					//パーティメンバーの数だけ繰り返す
					for ( let i in party.member ) {
						//toggleForAnimationの数値によって、パーティ全員の画像を切り替える
						if ( toggleForAnimation === 0 ) party.member[i].animation = 2;
						else party.member[i].animation = 0;
					}
				}
			} //scene.onenterframe 終了

			//作ったシーンを返す
			return scene;

		} //mainScene() 終了

		//gameに、シーンを追加して、とお願いする
		game.add( titleScene() );
		game.add( mainScene() );

		//gameに、ゲームをスタートして、とお願いする
		game.start();

	} ); //main() 終了

} );
山田

56〜71行目で、作っていたマップは消してしまって、103〜104行目の、ゴールの位置いち変更へんこうするべ!

りこ

どんなマップになったのかな。わくわく

山田

では、ブラウザで見てみるべ!

マップが広くなり、すぐにゴールへは行けなくなったよ!
りこ

わわわっ、まよっちゃうー
ゴールはどこー?

アル

3人で一緒いっしょ冒険ぼうけんできるなんて、ぼく、すごくうれしい

りこ

あれ、またスタートのところに来ちゃったよ……たすけて、錦戸にしきどくーん!

アル

なんだよ、またそれかよ……ちぇ!

山田

まぁまぁ。これでゲームの完成だべよ。こうやって、自分たちだけの世界せかいを作っていくんだべ

りこ

でもわたし、山田先生と、それからアルと……一緒にプログラミングができて、しあわせだな

アル

りこちゃん……

山田

うむ。なによりだべ

アル

よーし、これからもプログラミング、がんばるぞー!

りこ

わたしも!

次のページでは、これまで作ったプログラムをまとめています。

このシリーズの一覧はこちら

  1. 小学生からのプログラミング入門。プログラミングってなぁに?
  2. Scratchの使い方と、ゲーム作りの基礎知識を学ぼう! 小学生からのプログラミング入門
  3. Scratchでじゃんけんゲームを作ろう! 小学生からのプログラミング入門
  4. Scratchでシューティングゲームを作ろう! 小学生からのプログラミング入門
  5. Scratchでピアノ鍵盤を作って音を鳴らそう! 小学生からのプログラミング入門
  6. テキストエディタ(Visual Studio Code)をインストールしてみよう! 小学生からのプログラミング入門
  7. Visual Studio Codeを日本語化してみよう! 小学生からのプログラミング入門
  8. JavaScriptでおみくじを作ろう! 小学生からのプログラミング入門
  9. JavaScriptで今月の残り日数を計算してみよう! 小学生からのプログラミング入門
  10. JavaScriptで画像を表示してみよう! 小学生からのプログラミング入門
  11. JavaScriptで画像を移動してみよう! 小学生からのプログラミング入門
  12. 【JavaScript】キー入力でキャラを動かしてみよう! 小学生からのプログラミング入門
  13. 【JavaScript】ファイルを分けて管理してみよう! 小学生からのプログラミング入門
  14. 【JavaScript】オブジェクトを使ってみよう! 小学生からのプログラミング入門
  15. 【JavaScript】ゲームのメインループを作ってみよう! 小学生からのプログラミング入門
  16. 【JavaScript】キャラを決まった間隔ずつ動かす! 小学生からのプログラミング入門
  17. HTML5とCanvasを使ってみよう! 小学生からのプログラミング入門
  18. 【JavaScript】迷路やRPGで使えるマップを作ってみよう! 小学生からのプログラミング入門
  19. 【JavaScript】マップでキャラを動かせるようにしよう! 小学生からのプログラミング入門
  20. 【JavaScript】クラスの概念をしっかりと理解しよう! 小学生からのプログラミング入門
  21. 【JavaScript】プログラム全体をクラスを使って作ってみよう! 小学生からのプログラミング入門
  22. 【JavaScript】文字を表示するクラスを作ってみよう! 小学生からのプログラミング入門
  23. 【JavaScript】改行と一文字ずつ画面に表示する方法! 小学生からのプログラミング入門
  24. 【JavaScript】ノベルゲーム風にキー入力で文字を切り替える方法! 小学生からのプログラミング入門
  25. JavaScriptでRPGを作ろう!スマホにも対応したゲームの作り方
  26. webpackを使ってゲームエンジンを作ろう!(JSライブラリの作り方)
  27. WindowsにPythonをインストールしてみよう!小学生からのPython入門
  28. MacにPythonをインストールしてみよう!小学生からのPython入門
  29. Pythonでじゃんけんゲームを作ってみよう!小学生からのPython入門
  30. Pythonのtkinterを使って、ウィンドウを表示してみよう!
  31. Pythonのtkinterで、画像つきのおみくじゲームを作ろう!
オリジナルゲーム.com