プログラムコードが書かれたソースファイルを読み書きするのは
ウィンドウズ標準のメモ帳でも出来ますが、
テキストエディタと呼ばれるソフトウェアを使用したほうが、より便利です。
持っていない方は、Vectorや 窓の杜 などのサイトから適当なものを探してお使い下さい。
ベクターへはここの関連linkからいけます。
※代表的なエディターソフト
TeraPad
Vim
BigEditor など
とりあえずエディタをセットしてください。
ファイル→環境設定→エディタの項にあるEXEのパスの「...」ボタンを押すと、
ダイアログが出てきます。エディターのEXEファイルを参照先として指定して下さい。
ちなみに、標準のメモ帳は「WINDOWS」フォルダの中に
「NOTEPAD.EXE」という名前で存在します。
他のエディターを使う場合
例:TeraPad
このように環境設定を出して
こんな風にEXEを指定します。
ではエディターをセットしたら、ソースを見てましょう。
何も実行されてはいませんが、それでもソースコードは存在します。
まずはそのソースコードの解説をしたいと思います。
「Source」フォルダの中にいくつかのソースファイルと「System」フォルダがあります。
このなかで特に重要なのは、「System」フォルダの中身です。
でも、まだ気にしないでおきましょう。
さて、「game_main.jaf」というソースファイルがあります。
それ以外のファイルは、いまは気にしないでおきましょう。
これをダブルクリックしてください
game_main.jafの中は、
void game_main(void)
{
for (;;) { UPDATE(); }
}
こんな感じになっています。まず1行目の「void game_main(void)」ですが、これは関数を定義しています。これはプロジェクト中に必ず1つだけ必要な関数です。
2行目の「{」と5行目の「}」は、game_main関数の定義がどこからどこまでかを意味するものです。
最後に3行目の「for (;;) { UPDATE(); }」は、UPDATE関数を無限に呼び出す無限ループを意味しています。
とまあ、こんな感じのソースです。
何かの処理をさせたい場合は、このgame_main関数の中にコードを書いていけばOKです。
例:
void game_main(void)
{
N(12+4);
A;
}
もしくは
void game_main(void)
{
string s;
SACT.IntToZenkaku(s, 12+4, -1, false);
message(-1, -1, s);
SACT_A_IMPLEMENT(true);
}
するとこんな画面がでます。
クリックするとSYSTEM4は終了します
12+4の部分を変えてみて下さい。いろいろ結果が変わるはずです。
ちょっと分かりにくい話。分からなくても良いです。
一番目のgame_main関数も、二番目のgame_main関数も、同じことをしています。
試しに、
N(12+4);
を
string s;
SACT.IntToZenkaku(s, 12+4, -1, false);
message(-1, -1, s);
に変えてみて下さい。同じ結果になります。
ソースが違うのになぜ? と思うかもしれません。
その理由を説明すると、
「System」フォルダの中のファイルにいくつかの関数があり、DLLを読み出しやすくしています。
また、長いコードを一部省略(引数とか)するための関数もあります。
これらの関数たちをまとめて、「SACT2」と呼びます。
(最初に呼び出されるgame_main関数も、SACT2のひとつです)
このDLLを呼び出す関数と省略している関数を使っているのが一番目、
DLLを直接呼び出したり、引数を省略していない関数を使っているのが二番目となります。