プログラム模写のエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ryuki
記事: 3
登録日時: 10年前

プログラム模写のエラー

#1

投稿記事 by ryuki » 10年前

初めまして。質問があってこの場所に来ました。初心者なので全然至らぬ部分もありますがどうぞよろしくお願いします。



自分は今、新・ゲームプログラミングの館の3章に取り組んでいるのですがサンプル通りにコードを書いてみてもエラーが起こるのです。

エラーの内容は
error C3872: '0x3000': この文字を識別子で使用することはできません
が最も多いエラーなのです。
あれこれコードを触ってみてもエラーはやはり起こります。
Cの知識は入門サイトで勉強中といったところです。
下に書いてみたコードを貼っておきますので何かあれば書いていただけると幸いです。
使っているコンパイラはVisual C++ 2008 Express Editionです。

コード:

     #include "DxLib.h"

int Key[256]; //キーが押されているフレーム数を格納する

//キーの入力状態を更新する
int gpUpdateKey(){
         char tmpKey[256]; //現在のキー入力状態を格納する
    GetHitKeyStateAll( tmpKey ); //すべてのキーの入力状態を得る
     for( int i=0; i<256; i++ ){
                 if( tmpKey[i] != 0 ){ //i番のキーコードに対応するキーが押されていたら
               Key[i]++;      //加算
         }else{               //押されていなければ
                        Key[i] = 0;   // 0にする
         }
         }
         return 0;

}

int WINAPI Winmain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウインドウモード変更と初期化と裏画面設定

    int x=320, y=240;
        int Handle = LoadGraph("画像/キャラクタ01.png");
  
         //while(裏画面を表画面に反映, メッセージ処理, 画面クリア, キーの更新)
    while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){
     
               if( Key[ KEY_INPUT_RIGHT ] >= 1 ){  //右キーが押されていたら
                       x++;                          //右へ移動
               }
               if( Key[ KEY_INPUT_DOWN ] >= 1 ){     //下キーが押されていたら
           y++;                           //下へ移動
        }
               if( Key[ KEY_INPUT_LEFT ] >= 1  ){    //左キーが押されていたら
           x--;                           //左へ移動
        }
               if( Key[ KEY_INPUT_UP ] >= 1  ){      //上キーが押されていたら
           y--;                           //上へ移動
        }
   
                DrawRotaGraph( x, y, 1.0, 0.0, Handle, TRUE );  // x,y の位置にキャラを描画

         }
       
         DxLib_End();
         return 0;

}   

Hi_L
記事: 7
登録日時: 11年前

Re: プログラム模写のエラー

#2

投稿記事 by Hi_L » 10年前

全角スペースが入っていませんか?
全角文字はコメントや「""」「''」内以外での使用は基本できません。
なので全角スペースを半角に変えてみてください。
ちなみにCtrl + Hで置換ができるので使ってみてください。

KRNKRS

Re: プログラム模写のエラー

#3

投稿記事 by KRNKRS » 10年前

「0x3000」とは全角文字のことです。
おそらくどこかに全角の文字か空白(スペース)が入っているのだと思います。

全角スペースはコンパイルエラーとなります。

「Ctrl + F」で全角スペースを探すことができるので探してみて下さい。

Rittai_3D
記事: 525
登録日時: 11年前

Re: プログラム模写のエラー

#4

投稿記事 by Rittai_3D » 10年前

もしかして、全角スペースが紛れていませんか?

スマホからなのでわかりませんが、

vc++の編集->検索と置換->クイック検索

で全角スペースを検索してください。もし、全角スペースがありましたら半角スペースに打ち直して下さい。
初心者です

ryuki
記事: 3
登録日時: 10年前

Re: プログラム模写のエラー

#5

投稿記事 by ryuki » 10年前

ありがとうございます!
なるほど全角スペースですね・・・気をつけます。
返答ありがとうございました!

ryuki
記事: 3
登録日時: 10年前

Re: プログラム模写のエラー

#6

投稿記事 by ryuki » 10年前

解決しました!

閉鎖

“C言語何でも質問掲示板” へ戻る