2012-04-03 15 views
0

私はゲームボーイに取り組んでいます。私はスクリプタのようなものを置いておきたい、私のプログラムはゲームのメモリから必要なものすべてを読み込んでおり、私はすべてのゲームオブジェクトを持っている。自分のスクリプトを作ることができるように私のプログラムに何かを追加したいと思います。プログラムにコンパイラを配置する方法はありますか?

例えば、

foreach (character ch in characters_on_screen) 
{ 
if (ch.burning()) {game_say("burning!");} 
} 

私は実際にそれを作るのは難しい場合、私はここに書いている理由は、thatsのか分からない:Pを、私はすべてのゲームスクリプトだって、本当に問題だと思うC#とスクリプター言語のdoesntで働いています私はそう思うのは難しいだろうと思う。 これを行う最も簡単な方法は何ですか? (もしあれば) ありがとう:)

p.s. ファイルの作成など、いくつかの機能を無効にする方法があるかどうかを知りたいと思います。

答えて

1

実行時にC#コードをコンパイルするためにC#コンパイラを入手することもできます。Microsoft.CSharp名前空間の実行時コンプリエーションクラスを確認してください。

チュートリアルhereもあります。

あなたが望むならば、この方法で入力をサントライズすることができます。それは単に文字列を取ります。インターフェイスの実装などの制限を課すだけでなく、

+0

ありがとう、あなたの答えは最も単純なものと思われる、それは私が探していたもの、初心者です:P: – Patryk

1

JavaScriptを使用したいと思います。安全です(例えば、ファイルシステムへのアクセス無し)、簡単に書くことができます。 JavaScript .NETは、V8エンジンの素晴らしいラッパーです。

IActiveScriptを実装するCOMベースのスクリプト言語をホストするために使用することができるIActiveScript COMインタフェースもあります(例えば、VBScriptの、JScriptの[古い5.xおよび新しい9.xの{チャクラ}両方])

+0

あなたは私に任意のリンクを与えることができますか? :F:Pは商用で無料ですか? – Patryk

+1

Googleに簡単に尋ねると、プロジェクトページにライセンス要件が記載されているはずです。 –

2

いくつかのオプションがあります。

  1. 本当に特殊なスクリプト言語を作成する場合は、基本的にスクリプト言語を実装する必要があります。これには、文字列入力をデリゲートチェーンに変換する意味的、字句的、構文的なアナライザーを作成する必要があります。
  2. 本当に特殊な言語を大事にしたいのですが、既存のフレームワークを検索できますか?
  3. C#(およびRoslynコンパイラを使用)、FreePascal、JS、Python/Ruby(およびRuby/Pythonコードを実行するDLRスクリプトエンジンを使用)などのアクションを記述するのに、既存のプログラミング言語を使用できます。

私は個人的にpython/ruby​​の実装に行きます。それらは、特定の言語にカスタマイズするのに十分な力と能力を持つ動的言語です。

thisthisという次の投稿もご覧ください。

関連する問題