Between thought and specification

私が主催するSteel Wheels Project関連の情報や、ソフト開発に関する記録、覚書です。

スクリプトの実行を中断する方法

BattleFieldCodeでは、プレーヤーの実装したスクリプトを繰り返し実行するため、アプリケーションの側でその状態を管理する必要があります。スクリプトが異常終了したり無限ループに陥った場合、それらの実行を破棄し、2度と等が処理を実行しないようにします。

ところが、macOS/iOSJavaScriptCoreは、スクリプトの実行を停止させる方法を提供していない様です。本エントリーではその方法について検討してみます。結果はQuiitaに挙げるつもりです。

現状、例外を使用する事を考えています。ただ、例外を使ってしまうと、ユーザスクリプトcatch文でそれを横取りされてしまいます。これを避ける方法が見つかっていません。

Battlefield code

ゲームの開発に着手しました。名前をBattleField Codeと言います。まだ設計段階ですが、githubにて仕様を公開しています。

BattleField Codeの概要/特徴

対戦型ゲームになります。2チームで対戦します。複数のマシン(戦車や飛行機)を使って戦闘を行うゲームです。 マシンの制御を、リアルタイムのキー入力で行うのではなく、JavaScriptのコードで行うのが本ゲームの特徴になります。

テキスト処理ツール

公開中のソフトのドキュメントは、github markdownで作成しています。シンプルで扱いやすい記法だと思うのですが、ドキュメント生成に再しては次の機能が欲しいと考えてしまいます。

  • 別ファイルの中身を取り込む(importする)機能
  • 指定されたの文字列を、別の文字列に置き換える機能

既存の汎用テキストマクロプロセッサには、m4があります。このツールがmarkdownファイルの生成に使えるかどうか検討中です。