2012-02-16 12 views
7

端末ベースRPGの作成を検討していますが、これをクロスプラットフォームの方法で作成するには、どのような方法が推奨されていますか? 私はまだどの言語を使用しているのか分かりませんが、カーソルを移動してフォアグラウンドカラーを変更する機能が必要になります。 NetHackのようなゲームに触発されて、この種のコントロールが理想的です。 私はWindowsとUNIXシステム用にリリースできるように書きたいと思っています。 私はC++にncursesを使っていますが、クロスプラットフォームプロジェクトで使用するためにこれに似たものがあるのだろうかと思いました。端末ベースのRPG

は考慮: Javaは C++ C C#

答えて

2

ターミナルグラフィックを作成する予定がある場合は、VT-100ターミナルエスケープコード用の独自のラッパー関数を記述できます。これは、とりわけ、前景色と背景色を変更してカーソルを移動させることができます。あなたがしなければならないのは、適切なエスケープコードを書くことだけです。

http://www.termsys.demon.co.uk/vtansi.htm

それはあなたのゲームを実行しているth0e人々はJavaランタイムがインストールされていることを明らかに必要ないもののまた、Javaは、おそらくクロスプラットフォームになるための最も簡単な方法です。 CやC++は、コードを慎重に書く場合には、特に外部の依存関係があまりない(テキストベースのゲームでは必要ないはずです)場合は、かなりクロスプラットフォームになります。

2

おそらくPDCurses libraryに見たいと思うだろう...それは、異なるプラットフォームの数をサポートしています。

3

ncursesの代わりにプラットフォームに依存しないとは思いません。あなたの最善の策は、Unixシステムではncurses、Windowsではpdcursesです。 APIはほぼ同じなので、コードが重複しすぎることはありません。ちょうど#ifdefがここにあります。

+0

X11バージョンのpdcursesでは、両方のプラットフォームで同じライブラリを使用できませんか? – Jason

+0

@Jasonあなたがそれがターミナルベースであることを望むのではない(OPはタイトルに従って行う)。 X11バージョンは端末ではなく、独自のウィンドウで実行されます。 – sepp2k

+0

端末自体は一般的にX11アプリです...私は意図的に嫌なことをしようとはしていませんが、ゲームを実行しない限り、アプリの「外観」に大きな違いはないと思いますLinux/Unix上の実際のテキストのみのターミナルモードです。 – Jason