8
4

More than 3 years have passed since last update.

【Robocode】楽しくお勉強できるJavaScriptの戦車ゲームをWindows環境で動作させる。

Last updated at Posted at 2021-01-02

Robocodeとは

『Robocode』は、オープンソースの教育ゲームである。JavaやVer1.7.2以降の.NET Frameworkの熟達に役立つ。 単純なロボットはわずか数分で作成できるが、本格的に完成させる場合は数ヶ月かかることがある。
出典:https://ja.wikipedia.org/wiki/Robocode

学生時代 Javaが全くかけなかった自分は、RobocodeにハマったのをきっかけにJavaにのめり込むようになりました。

image.png

・・・のJavaScript版を発見したので、手軽に動作させる手順をメモ書きで書いておきます。

 

前提となる環境

OS:
 Windows10

他:
 node.js(筆者環境はV14)

 
 

JavaScript版の導入

githubよりソースコードの入手

githubにアクセスします

README.mdに詳しい解説がありますが
Windows環境で動作させるのはちょっと手間がいりそうです。

 
 

gh-pagesブランチに移動します

gh-pagesブランチからコンパイル済のファイルを入手します
※Windows環境で動作させるのはちょっと手間がいりそうなので、あらかじめ動作に必要なファイルがそろっているgh-pagesブランチからファイル一式を取得します。
image.png

 
 
 

cloneするかzipを取得します

Git環境がある方はどちらでも、ないかたはzipで取得するのが良いです。
image.png

 
 

環境の整備を行います。

npmコマンドで動作に必要なファイルを取得し、ファイルを整理します

コマンドプロンプトを立ち上げて
cloneしたフォルダ、若しくは解凍したフォルダに移動して npm installコマンドを投げます。
※expressはWindows環境でブラウザに依存せずにアプリを動かすために用います

npm install
npm install express

 
※gh-pagesやブラウザ依存についてはgithubのreadmeに記載があります。

image.png

 
 

expressで静的ファイルを公開するためにファイルの整理を行います。

mkdir public
move  /y .\img .\public\
move  /y .\robot .\public\
move  /y .\robot .\public\
move  /y .\base-robot.js .\public\
move  /y .\base-robot.ls .\public\
move  /y .\*.js .\public\
move  /y .\*.ls .\public\
move  /y .\*.html .\public\
move  /y .\Makefile .\public\
echo nul > server.js

 
 

expressでアプリを動かす準備をします

server.jsを開いて下記のコードを上書きします。

const express = require('express')
const app = express()
app.use(express.static('public'))
const port = 3000

app.get('/', (req, res) => {
  res.send('index.html')
})

app.listen(port, () => {
  console.log(`listening at http://localhost:${port}`)
})

 
 

動作確認してみます。


コマンドプロンプトで下記のコマンドを実行します。

node server.js

ブラウザを開いて、http://localhost:3000/index.htmlにアクセスします。
下記ような画面が出てきたら確認完了です。

次回はRobocodeの遊び方について解説します。

image.png

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4