ページ 11

アクションプログラムでのマップチップの読み込みについて

Posted: 2010年3月27日(土) 17:10
by らぁ
DXライブラリを用いてアクションゲームを作成してます。C言語は一応3年位触ってます。
色々なサイトを参考にマップチップを読み込むソースを書いてみましたが、上手くロード出来てないようです。
みなさんの意見をお聞かせ下さい。

以下ソース
void LoadMap( _MapData *Mapdata )
{
    int fp;                            //ファイルポインタ
    const int maxstrnum = 700 ;            //読み込む最大行内文字数
    char inputstr[maxstrnum] ;            //読みとった文字列を格納する変数
    char inputc;                            //読みとった文字が改行やEOFか判定する変数
    int i = 0 , j = 0 , num ;
    fp = FileRead_open( "maptest.csv" );
    if( ( fp = FileRead_open( "maptest.csv" ) ) == NULL )    
    {
        printfDx( "ファイルのオープンに失敗しました。\nデータファイルの位置やファイル名を確認しましょう。" ) ;
        WaitTimer( 3000 ) ;
        DxLib_End();    //終了処理
    }
    while(1)
    {
        for( num = 0 ; num < maxstrnum ; num++ )
        {
            inputstr[num] = inputc = FileRead_getc( fp ) ;        //1文字取得する
            
            //スラッシュがデータにあるとき
            if( inputc == '/' )
            {
                while( FileRead_getc( fp ) != '\n' ) ;            //改行までループ
                num = -1 ;
                continue;
            }
            //カンマか改行なら
            if( inputc == ',' || inputc == '\n' )
            {
                inputc = '\0' ; //そこまでを文字列とする
                break;
            }
            //ファイルの終わり
            if( inputc == EOF )
            {
                goto EXFILE ;        //終了
            }
        }

        //int型の数値を読み取る場合
        Mapdata->mapdata[j] = strtol( inputstr , NULL , 10 ) ;  //読みとった文字を数字に変換(3番目の引数は10進数を使用するため10)
        j++;

        if( j == MAP_WIDTH )
        {
            j = 0 ;
            i++;
        }
    }
    EXFILE:
    FileRead_close( fp ) ;
}

環境はVS2008Proです。 よろしくお願いします。
添付ファイルはマップのCSVです 画像

Re:アクションプログラムでのマップチップの読み込みについて

Posted: 2010年3月27日(土) 19:14
by ideyan
試してないのでわかりませんが
inputstrの最後にNULLを入れてみてはどうでしょうか?
inputcに代入されてますがこれでは意味がないような気が。。。