レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

Arduinoシミュレーターでスタートレックゲーム

2018年09月08日 | 自作ゲーム

前回投稿したように、Arduino向けに作成したスタートレックゲームはAUTODESKのTinkercadという電子回路シミュレーターを使って作成しました。サイトにアクセスしてブラウザ上で動作させるシミュレーターで無料で利用できます。
色々な電子部品が登録されていて、これらを使って自由に回路を組み立てられます。Arduino UNOも電子部品として登録されています。
さらにArduino実機で大抵の人が行ったであろうLチカとかタクトスイッチの入力、圧電ブザーなどの回路もあらかじめ登録されていますので、Arduinoの学習も手軽に行うことが出来ます。
スケッチも実機と同じように動作し、ボード書き込みなどせずにすぐ実行できます。今回作成したゲームのようにわりとボリュームのあるスケッチでも、デバッグ機能を使いながら少しずつ作成していけるので効率よく開発を行えます。

エミュレーターの利用方法ですが、まず初めにユーザー登録を済ませる必要があります。サイトにアクセスしたら右上のサインアップをクリックして登録を行ってください。登録は簡単ですので特に迷うこともないでしょう。

登録終了後にサインアップするとシンプルな画面が表示されます。この画面では3Dモデリングソフトを利用できるようになっています。今回は電子回路を作成したいので、左のメニューでCircuitsを選んでCreate new Circuitをクリックします。

次に右側に電子部品が並んだ画面に移ります。必要な部品をクリックしてマウスカーソルを画面の空いているところへ移動すると部品が移動しますので、再度クリックして好きな場所に配置します。配置した部品の端子をクリックすると線が引けますので、この線で部品同士を結線して回路を構成していきます。回路が完成したら右上のシミュレーション開始ボタンで実行です。

さて、ここで前回作成したスタートレックゲームをシミュレーションしてみましょう。

回路作成の初期画面で右側の電子部品をスクロールしていくと、Arduino UNO R3が現れます。これをクリックして画面の空き領域に配置します。さらに右上のコードボタンを押してコード入力画面を出します。



この状態ではコードをブロックエディターで入力するモードになっているので、エディター上部のブロックと表示されているドロップダウンリストをクリックして、寸法値(以前はTextと表示されていたのですが数日前から寸法値になってしまいました。誤訳でしょうか?)を選びます。警告が出ますがそのまま続行します。すると馴染みのあるblinkのスケッチが表示されます。



まずはこのスケッチを消してしまいましょう。次にstartrek.inoをクリップボードにコピーして、シミュレーターのスケッチエディター内にペーストします。通常はこのまま実行できるのですが、残念なことにシミュレーターのシリアルコンソールでは改行コードを入力出来ないのでスケッチを一部変更する必要があります。

改行コードのかわりは何でもいいのですが、テンキーのみで操作できるように’.’(ピリオド)にしておきましょう。
スケッチの一行目を #define EOL '.' に変更します。ゲーム中、コマンドの数字の後に必ずピリオドを付けてからリターンキーを押さなければならず面倒ですがしかたないですね。

実はまだ変更点があって、6行目の damage[7] を5行目に移動しないとメモリ不足なのか動作が不安定になります。この変更ではたいしてメモリ節約は行えていないのですが、ケーム終了まで正常に動作することは確認しています。



お待たせしました。やっと遊べます。

スケッチエディターの下にあるSerial Monitorをクリックしてシリアルモニタを開いたら(モニタ上部をドラッグすれば表示領域を広げることが出来ます。)シミュレーション開始ボタンを押します。シリアルモニタにピリオドを入力してリターンキーを押せばゲーム開始です。



最新の画像もっと見る

コメントを投稿