山田
さて、ここまででゲームはほとんど完成したべ
りこ
音楽も入って、いい感じになってきたよね
アル
でもゴールまでが近すぎて、こんなのラビリンスじゃないよ!
山田
まぁまぁ。ではこれから大きなマップを作っていくべか?
アル
ホントに? やったぁ!
りこ
やったぁ!
マップを大きくしてみよう!
つづいて、マップをもっと広くしてみましょう!
山田
ここまでで、ゲームに必要な機能は揃ったべ
では最後に、マップを大きくして、ゴールまでの道をむずかしくするべ
アル
わー、これでもう完全にゲームだね!
山田
ただ、マップを大きくすると、かなりの行数を使うことになって、プログラムがみづらくなってしまうべ
そこで、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人で一緒に冒険できるなんて、ぼく、すごく嬉しい
りこ
あれ、またスタートのところに来ちゃったよ……たすけて、錦戸くーん!
アル
なんだよ、またそれかよ……ちぇ!
山田
まぁまぁ。これでゲームの完成だべよ。こうやって、自分たちだけの世界を作っていくんだべ
りこ
でもわたし、山田先生と、それからアルと……一緒にプログラミングができて、しあわせだな
アル
りこちゃん……
山田
うむ。なによりだべ
アル
よーし、これからもプログラミング、がんばるぞー!
りこ
わたしも!
次のページでは、これまで作ったプログラムをまとめています。
このシリーズの一覧はこちら
- 小学生からのプログラミング入門。プログラミングってなぁに?
- Scratchの使い方と、ゲーム作りの基礎知識を学ぼう! 小学生からのプログラミング入門
- Scratchでじゃんけんゲームを作ろう! 小学生からのプログラミング入門
- Scratchでシューティングゲームを作ろう! 小学生からのプログラミング入門
- Scratchでピアノ鍵盤を作って音を鳴らそう! 小学生からのプログラミング入門
- テキストエディタ(Visual Studio Code)をインストールしてみよう! 小学生からのプログラミング入門
- Visual Studio Codeを日本語化してみよう! 小学生からのプログラミング入門
- JavaScriptでおみくじを作ろう! 小学生からのプログラミング入門
- JavaScriptで今月の残り日数を計算してみよう! 小学生からのプログラミング入門
- JavaScriptで画像を表示してみよう! 小学生からのプログラミング入門
- JavaScriptで画像を移動してみよう! 小学生からのプログラミング入門
- 【JavaScript】キー入力でキャラを動かしてみよう! 小学生からのプログラミング入門
- 【JavaScript】ファイルを分けて管理してみよう! 小学生からのプログラミング入門
- 【JavaScript】オブジェクトを使ってみよう! 小学生からのプログラミング入門
- 【JavaScript】ゲームのメインループを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】キャラを決まった間隔ずつ動かす! 小学生からのプログラミング入門
- HTML5とCanvasを使ってみよう! 小学生からのプログラミング入門
- 【JavaScript】迷路やRPGで使えるマップを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】マップでキャラを動かせるようにしよう! 小学生からのプログラミング入門
- 【JavaScript】クラスの概念をしっかりと理解しよう! 小学生からのプログラミング入門
- 【JavaScript】プログラム全体をクラスを使って作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】文字を表示するクラスを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】改行と一文字ずつ画面に表示する方法! 小学生からのプログラミング入門
- 【JavaScript】ノベルゲーム風にキー入力で文字を切り替える方法! 小学生からのプログラミング入門
- JavaScriptでRPGを作ろう!スマホにも対応したゲームの作り方
- webpackを使ってゲームエンジンを作ろう!(JSライブラリの作り方)
- WindowsにPythonをインストールしてみよう!小学生からのPython入門
- MacにPythonをインストールしてみよう!小学生からのPython入門
- Pythonでじゃんけんゲームを作ってみよう!小学生からのPython入門
- Pythonのtkinterを使って、ウィンドウを表示してみよう!
- Pythonのtkinterで、画像つきのおみくじゲームを作ろう!