April 07, 2007

やはり、試食版ってダメね

あ、LSI C-86っていうCコンパイラの話なんですけどね。
Ver 3.30cが無料でDLできるのですよ。
で、ちょっと今後作るゲームの為にC言語で簡易版を作成していたんです…

int nKeyInput(int nPlayer, struct character unit[], int nMode){
 int i, c;

 switch( c=getch() ){
 case 72:
  if( nMode==MODE_MENU ){
   if( nMap[nCursor_Y - 1][nCursor_X] != 1 )
    nCursor_Y--;
  }else if( nMode==MODE_MOVE ){
   for(i=0; i<UNIT_MAX; i++){
    if( (nCursor_X == unit[i].nNow_X && nCursor_Y == unit[i].nNow_Y) && nMap[unit[i].nNow_Y - 1][unit[i].nNow_X] == 0 ){
………
……

}

みたいな関数を作って別の関数から呼び出して使用してたんですが
どうにも動きがおかしい。
メイン関数→nKeyInput()→別関数→nKeyInput()…
のように処理が走ると2度目のnKeyInput()関数で値が正常に反映されない。
色々試してみたが、直らない。

仕方がないのでVC++6.0でビルドをかけてみた。
VC++だとANSI規格のエスケープシーケンスを認識しない為
表示は狂っていたが、正常にnKeyInput()関数が動作してた…

つまり…
このLSI C-86コンパイラが悪い
と。

体験版じゃなくて、ちゃんと製品版使えってことですねorz

てか、Win32コンソールじゃなくて、
Win SDKかMFC使って開発しろよとか言われそうねw
Windowsプログラミングとかテキスト表示すら面倒くさいんですよorz
小規模ならDOSで充分(笑)


daredeviiil at 20:48│Comments(0)愚痴w | リアルネタ

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔