ゲーム館22章について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
BCI-3e

ゲーム館22章について

#1

投稿記事 by BCI-3e » 10年前

現在RPG製作中ですが、ゲーム館のキャラクターを4方向に歩かせるで
移動フラグのところで少し質問があるので教えてください。
#include "DxLib.h"

typedef struct{
        int x,y,img,muki,walking_flag;
}ch_t;

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        
        int image[16];
        char Key[256];
        ch_t ch;

    if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理

        ch.x    =320;
        ch.y    =160;
        ch.walking_flag=0;
        ch.muki=3;

        SetDrawScreen( DX_SCREEN_BACK ) ;                                                 //描画先を裏画面に設定
        LoadDivGraph( "char.png" , 16 , 4 , 4 , 32 , 32 , image ) ;//画像を分割してimage配列に保存

    while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
            //↑メッセージ処理        ↑画面をクリア         ↑キーボード入力状態取得       ↑ESCが押されると終了

        if(ch.x%32==0 && ch.y%32==0){         //座標が32で割り切れたら入力可能
            ch.walking_flag=1;         //歩くフラグを立てる。
            if     ( Key[ KEY_INPUT_UP   ]  == 1 )  //上ボタンが押されたら
                    ch.muki=0;         //上向きフラグを立てる
            else if( Key[ KEY_INPUT_LEFT ]  == 1 )  //左ボタンが押されたら
                    ch.muki=1;         //左向きフラグを立てる
            else if( Key[ KEY_INPUT_DOWN ]  == 1 )  //下ボタンが押されたら
                    ch.muki=2;         //下向きフラグを立てる
            else if( Key[ KEY_INPUT_RIGHT]  == 1 )  //右ボタンが押されたら
                    ch.muki=3;         //右向きフラグを立てる
            else                                    //何のボタンも押されてなかったら
                    ch.walking_flag=0; //歩かないフラグを立てる
        }

        if(ch.walking_flag==1){        //歩くフラグが立っていたら
            if     (ch.muki==0)        //上向きならch.y座標を減らす
                    ch.y--;
            else if(ch.muki==1)        //左向きならch.x座標を減らす
                    ch.x--;
            else if(ch.muki==2)        //下向きならch.y座標を増やす
                    ch.y++;
            else if(ch.muki==3)        //右向きならch.x座標を増やす
                    ch.x++;
        }

        ch.img=image[(ch.x%32+ch.y%32)/8 + ch.muki*4];            //画像をセット

        DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;//画像を描画

        ScreenFlip();
    }

    DxLib_End();
    return 0;
}
このように22章ではあると思います。
今の課題は移動のループからあるボタンを押すと抜け出すことができない!!!
です。たとえばdouguと言う名前のフラグを立てたい場合に

ch.walking_flag=0; //歩かないフラグを立てる
}
if ( Key[ KEY_INPUT_A] == 1 )
dougu_flag=0;

とした場合にはAキーが押されているときにしかフラグが立ちません。
Aキーが押されたときに別のフラグを立てて今のループから抜け出す方法を
どなたか教えてください。

やそ

Re:ゲーム館22章について

#2

投稿記事 by やそ » 10年前

入力可能状態において、移動キー(上下左右)ではなく”A”を押したら
道具の表示&使用処理に飛びたい。

ということでしょうか?
それなら
else                                    //何のボタンも押されてなかったら
                    ch.walking_flag=0; //歩かないフラグを立てる
        }
のところで
        else  if ( Key[ KEY_INPUT_A] == 1 ){ 
         dougu_flag=0;
                  ch.walking_flag=0; //歩かないフラグを立てる
        }
        else                                    //何のボタンも押されてなかったら
                    ch.walking_flag=0; //歩かないフラグを立てる
        }
とすれば、移動入力待ちの状態で”A”を押すことによって、dougu_flagに0を入れ、
かつ、歩かないフラグを立てられます。
それから、
if(ch.walking_flag==1){        //歩くフラグが立っていたら
・・・
}
の前でも後でも
if(dougu_flag=0){        //歩くフラグが立っていたら
  dougu_syori() //道具処理ルーチンに飛ぶ
}
とすれば良いんじゃないでしょうか。
ただ、ひとつ懸念が。0でフラグを立てるの?
「立てる」という場合は普通0以外の値(1とか)を入れたほうが分かりやすいと思いますよ^^

BCI-3e

Re:ゲーム館22章について

#3

投稿記事 by BCI-3e » 10年前

と言うことは歩かないフラグを立てておいてなおかつ道具フラグを立てるという事になるんですね。
この場合、歩かないフラグが立っているので十字キーが押されても歩かずに道具を選択できると理解
していいのですよね?
なおかつ、2つのキャラクターをつかうRPG(バイオハザードのキャラチェンジみたいなの)の行動処理を
分ける場合にも使えそうですね。2キャラ別々に行動フラグを立てたい場合にはdougu_flagをキャラクター
フラグに変えて(あるいはCH CH1,CH2;とでも宣言しておいてch2の移動フラグを立てる)とAキーが押されたら
行動が別々になるという事ですね。

>if(ch.walking_flag==1){ //歩くフラグが立っていたら
>・・・
>}
>の前でも後でも
>if(dougu_flag=0){ //歩くフラグが立っていたら
> dougu_syori() //道具処理ルーチンに飛ぶ
>}

とありますが、これはどのような意味になるでしょうか?
十字キーのフラグと同じようにすればいいのでしょうか?
ルーチンの意味がよくわかっていないのですが詳しく説明していただけないでしょうか。

kazuoni

Re:ゲーム館22章について

#4

投稿記事 by kazuoni » 10年前

>と言うことは歩かないフラグを立てておいてなおかつ道具フラグを立てるという事になるんですね。
>この場合、歩かないフラグが立っているので十字キーが押されても歩かずに道具を選択できると理解していいのですよね?

そうですね。歩くかどうかのif文は実行されませんね。

>なおかつ、2つのキャラクターをつかうRPG(バイオハザードのキャラチェンジみたいなの)の行動処理を
>分ける場合にも使えそうですね。2キャラ別々に行動フラグを立てたい場合にはdougu_flagをキャラクター
>フラグに変えて(あるいはCH CH1,CH2;とでも宣言しておいてch2の移動フラグを立てる)とAキーが押されら
>行動が別々になるという事ですね。

これでもいいですが、また新たな変数を入れるのは効率が悪いかなって思います。歩く方法は同じですよね?RPGなら大抵マップでの動きはすべて同じですよね?ならキャラチェンジ→歩くキャラの画像を入れ替えるだけと認識したほうが無駄を省けると思います。自分はステータス画面のいちばん上のキャラがマップを歩くようにしています。キャラクタに構造体を用いて管理し・・・なんて事をゆくゆくはしなきゃならなくなるので、その時に「あ、kazu...ってやつがこんなこと言ってたな」って思いだしていただけたらと思います(笑)今回はここは余談でした。

>これはどのような意味になるでしょうか?
>十字キーのフラグと同じようにすればいいのでしょうか?
やそさんの
>if(dougu_flag=0){ //歩くフラグが立っていたら

>if(dougu_flag=0){ //「道具画面へ移る」フラグが立っていたら
と認識ししてもらったらいいと思います。
ドラクエでいうと、ステータスを確認したり、アイテムを使用したり、セーブしたりと、マップとは違う画面に映りますよね?ここの処理をdougu_syori()で行うんです。

やそ

Re:ゲーム館22章について

#5

投稿記事 by やそ » 10年前

んー、まず、22章のプログラム理解できてますか?

「ループから抜けたい」と言っておられましたが、
ループ抜けるとプログラム終わっちゃいますよ?

>と言うことは歩かないフラグを立てておいてなおかつ道具フラグを立てるという事になるんですね。
>この場合、歩かないフラグが立っているので十字キーが押されても歩かずに道具を選択できると理解
>していいのですよね?

結果的にはそうなりますが、力技で無理やりしているので美しくありません。

22章のプログラムはキー入力可能状態(キャラクタの座標が32で割り切れる位置にいるとき)
になったら、
強制的に「歩きフラグをON」して歩きたくてうずうず状態になっています。
そのときに、「上下左右」の移動キーが押されずに、
”A”が押されたら・・・
  道具フラグをON
  歩きフラグをOFF
にしました。
よって、その後に続くch.y--;などの座標移動判定をスキップできるわけです。

>なおかつ、2つのキャラクターをつかうRPG(バイオハザードのキャラチェンジみたいなの)の行動処理を
分ける場合にも使えそうですね。

それはなんとも言えません。上手く使えればキャラクタチェンジみたいなことも出来るでしょう。

>2キャラ別々に行動フラグを立てたい場合にはdougu_flagをキャラクター
>フラグに変えて(あるいはCH CH1,CH2;とでも宣言しておいてch2の移動フラグを立てる)とAキーが押され
>たら行動が別々になるという事ですね。

んー、非常に管理が面倒くさそうに思えます。また「行動が別々」というところがイマイチイメージが掴めないのでyesとは明言しないでおきます^^;

>>if(ch.walking_flag==1){ //歩くフラグが立っていたら
>>・・・
>>}
>>の前でも後でも
>>if(dougu_flag=0){ //歩くフラグが立っていたら
>> dougu_syori() //道具処理ルーチンに飛ぶ
>>}

>とありますが、これはどのような意味になるでしょうか?
>十字キーのフラグと同じようにすればいいのでしょうか?
>ルーチンの意味がよくわかっていないのですが詳しく説明していただけないでしょうか。

ルーチンという言葉はあまり気にしないで良いです。
見たとおり、道具の処理に飛ぶというだけですが・・・。
道具の処理はたぶん別の関数になるのかなと勝手に予想して書いただけです。
混乱させてしまったのかな?

BCI-3e

Re:ゲーム館22章について

#6

投稿記事 by BCI-3e » 10年前

今のところ、22章の意味はわかっています。while文が使われているので
ループを抜け出すためにbreak文を使えばループから抜け出すことになります。

続いて、if文の事ですがif文とは0と1により真・偽を判断し、2文岐させるため
制御構造文と考えております。ここではキーが押されれば1に等しいすなわち真
を示し、zahyouという変数に処理を引き渡している。と言う事になると思います。

なので、ループを抜け出さず、なおかつループ処理を機能させずに別のフラグ処理を
させたいと考えているのですがなかなかうまい事いかないんです。
とりあえず今、考えているのは移動フラグを機能させずに別のフラグを立ててその処理を
行わしたいんです。そのためにはキー入力によって別のフラグを立てさせる必要があると
思うのですが、ここまでの考えは合っていますよね?

合っているなら次に、2キャラの移動フラグの事についてなのですが・・・・
単にAキーが押されたらch1は動かずにch2が動けばいいんです。バイオハザードをご存知なら
わかると思うのですが、キャラクターを別行動&チェンジするとAキャラは動かずにBキャラ
だけが動くと言う事になっていると思います。それをRPG内でやりたいと考えています。
2キャラを別々に使う事によってダンジョンの難易度が比較的上がると思ったので・・・・・

次に道具フラグの事なのですが
>if(dougu_flag=0){ //歩くフラグが立っていたら
> dougu_syori() //道具処理ルーチンに飛ぶ
これは、dougu_syori() の()内に別の画面などの構造体
の変数を書き込めと言うことですか?

これを2キャラの移動に使う場合にはch.2を()の中に入れればいいのでしょうか?
この2キャラの移動に関する事を過去のスレッドで調べてみたのですが当てはまるとすれば
sousiさんの勉強してきました!
のスレッドで枠を2つ表示させ、あるボタンが押されたら枠1を決定し枠2を選択するの考え方で
よろしいかと思います。ですが、肝心の移動変換の部分が出てきていなかったのその部分を応用
させていただこうと思っています。

やそ

Re:ゲーム館22章について

#7

投稿記事 by やそ » 10年前

いろいろ質問されてますが、たくさん書くと見難くなるのでまずひとつ。

>なので、ループを抜け出さず、なおかつループ処理を機能させずに別のフラグ処理を
>させたいと考えているのですがなかなかうまい事いかないんです。
フラグは用意してあって、そのフラグの内容によって”とある処理”(この場合アイテムの処理)
をしたいなら、

アイテムの処理を別のプログラム(関数)で作成しておいて、
必要な場所で呼び出せばいいだけじゃないでしょうか?
item_syori(){
  アイテムを使うぞー!
}

main(){//メイン処理
  item_flag=1;//フラグon

  if(item_flag==1){//フラグONならアイテム処理へ
    item_syori();
  }
}
みたいな感じでプログラムを分けて呼び出せば、アイテムの処理をした後
呼び出し直後の位置にもどってきます。

やそ

Re:ゲーム館22章について

#8

投稿記事 by やそ » 10年前

>合っているなら次に、2キャラの移動フラグの事についてなのですが・・・・
>単にAキーが押されたらch1は動かずにch2が動けばいいんです。バイオハザードをご存知なら
>わかると思うのですが、キャラクターを別行動&チェンジするとAキャラは動かずにBキャラ
>だけが動くと言う事になっていると思います。それをRPG内でやりたいと考えています。
>2キャラを別々に使う事によってダンジョンの難易度が比較的上がると思ったので・・・・・

Aキーが押されたらキャラチェンジ?
それならキャラクタを配列で持てばいいですね。
ch_flagとでもフラグを用意して、0ならキャラ1、
1ならキャラ2と決めておく。
ch[0],ch[1]という変数(構造体)にしておく。

ch_flag=0;//初期値は0

if(Key[ KEY_INPUT_A] == 1 ){
ch_flag=(~ch_flag)&1;//フラグの反転0→1 1→0
ちょっと修正^^;
}
で、あとは・・・
ch[ch_flag].xなり
ch[ch_flag].yなりで
好きなようにいじってください。

コレならAを押すたびにキャラ1とキャラ2を交互に動かせるはず。

んー、分かるかな?難しいでしょうか?

kazuoni

Re:ゲーム館22章について

#9

投稿記事 by kazuoni » 10年前

#include "DxLib.h"

typedef struct{
        int x,y,img,muki,walking_flag;
}ch_t;


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        
        int image[2][16];
        char Key[256];
        ch_t ch[2];





    if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理

        ch[0].x=320;
        ch[0].y=160;
        ch[0].walking_flag=0;
        ch[0].muki=3;
    ch[1].x=320;
        ch[1].y=160;
        ch[1].walking_flag=0;
        ch[1].muki=1;
    int char_num=0;
    int char_num_change_flag=0;
        SetDrawScreen( DX_SCREEN_BACK ) ;                                                 //描画先を裏画面に設定
        LoadDivGraph( "char1.png" , 16 , 4 , 4 , 32 , 32 , image[0] ) ;//画像を分割してimage配列に保存
	LoadDivGraph( "char2.png" , 16 , 4 , 4 , 32 , 32 , image[1] ) ;//画像を分割してimage配列に保存

    while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
            //↑メッセージ処理        ↑画面をクリア         ↑キーボード入力状態取得       ↑ESCが押されると終了

        if(ch[char_num].x%32==0 && ch[char_num].y%32==0){         //座標が32で割り切れたら入力可能
            ch[char_num].walking_flag=1;         //歩くフラグを立てる。
            if     ( Key[ KEY_INPUT_UP]==1 )  //上ボタンが押されたら
                    ch[char_num].muki=0;         //上向きフラグを立てる
            else if( Key[ KEY_INPUT_LEFT ]==1 )  //左ボタンが押されたら
                    ch[char_num].muki=1;         //左向きフラグを立てる
            else if( Key[ KEY_INPUT_DOWN ]==1 )  //下ボタンが押されたら
                    ch[char_num].muki=2;         //下向きフラグを立てる
            else if( Key[ KEY_INPUT_RIGHT]==1 )  //右ボタンが押されたら
                    ch[char_num].muki=3;         //右向きフラグを立てる
			else if(Key[ KEY_INPUT_A]==1){
			  char_num_change_flag=1;
			  ch[char_num].walking_flag=0;
			}
			else                                   //何のボタンも押されてなかったら
			  ch[char_num].walking_flag=0; //歩かないフラグを立てる
			}

        if(ch[char_num].walking_flag==1){        //歩くフラグが立っていたら
            if     (ch[char_num].muki==0)        //上向きならch.y座標を減らす
                    ch[char_num].y--;
            else if(ch[char_num].muki==1)        //左向きならch.x座標を減らす
                    ch[char_num].x--;
            else if(ch[char_num].muki==2)        //下向きならch.y座標を増やす
                    ch[char_num].y++;
            else if(ch[char_num].muki==3)        //右向きならch.x座標を増やす
                    ch[char_num].x++;
        }
		if(char_num_change_flag==1){
			if(char_num==0)
			  char_num=1;
			else
			  char_num=0;
		}

        ch[0].img=image[0][(ch[0].x%32+ch[0].y%32)/8 + ch[0].muki*4];            //画像をセット
        ch[1].img=image[1][(ch[1].x%32+ch[1].y%32)/8 + ch[1].muki*4];            //画像をセット
        DrawGraph( ch[0].x , ch[0].y , ch[0].img , TRUE ) ;//画像を描画
    DrawGraph( ch[1].x , ch[1].y , ch[1].img , TRUE ) ;//画像を描画
    char_num_change_flag=0;
        ScreenFlip();
	}
  DxLib_End();
    return 0;
}
解説次で^^;

kazuoni

Re:ゲーム館22章について

#10

投稿記事 by kazuoni » 10年前

とりあえずキャラチェンジを無理やり作ってみました^^;キャラの構造体の配列を作りました。今回はch[/url]でキャラをひとまとめにして作りました。これならキャラが増えて三人でも四人でもいけます。途中で、
else if(Key[ KEY_INPUT_A]==1){
		char_num_change_flag=1;
		ch[char_num].walking_flag=0;
でキャラのチェンジするフラグを立て、このキャラを動かないようにする。(あまりフラグというものにこだわらないでいいと思いますが^^;)次に、
if(char_num_change_flag==1){
	if(char_num==0)
	  char_num=1;
	else
	  char_num=0;
で選択キャラの番号を変えます。すると一番上に戻った時には、キャラの番号を変えてスタートします。

ただ、これは今回のキャラチェンジのために作りました。今後このままではたぶん使えません(笑)改良は自分でくわえてください。あと・・・途中の無理やりのあたり、大御所方、ツッコんでいってください^^;

BCI-3e

Re:ゲーム館22章について

#11

投稿記事 by BCI-3e » 10年前

>アイテムの処理を別のプログラム(関数)で作成しておいて、
>必要な場所で呼び出せばいいだけじゃないでしょうか?
つまりアイテムの構造体(関数)をAキーによって呼び出し処理をさせると言うことですね。
ゲーム館にメイン関数と言うのが出てこなかったと思うので一度勉強してから作り始めようと思います。

>キャラクタを配列で持てばいいですね。
配列と言うのはマップでも使われている九九表見たいな物ですよね?
それを構造体に入れるのだから、この場合は
typedef struct{
        int x,y,img,muki,walking_flag;
        int ch[0],ch[1]
}ch_t;
こういうことでしょうか?
配列と言うものは、わかっていても、どのように使うかがわかりません。
今、わかっているのは

・配列はExcelのような表みたいなもの。
・マップで使われている。
・配列の数値の入れ替えは可能
・配列の各先頭要素のアドレスで呼び出せる

ぐらいです。

kazuoniさんが例に作ってくださったソースにもch_t ch[2];と配列にしているのは
わかるのですが、問題はch[char_num].です。
この部分がいまいちわかっていません。
int char_num=0;
int char_num_change_flag=0;
この二つの配列が何を意味しどのように作用しているのかがわかりません。
宣言したchの中に組み込まれてるようにも見えますし、chをひとまとめにするためにあるようにも見えます。
(コピーして丸々使わせていただきましたがエラーが86も・・・・・・)

kazuoni

Re:ゲーム館22章について

#12

投稿記事 by kazuoni » 10年前

>つまりアイテムの構造体(関数)をAキーによって呼び出し処理をさせると言うことですね。
構造体のとらえ方が少し違いますかね^^;構造体とは↓
http://www9.plala.or.jp/sgwr-t/c/sec15.html
構造体と関数は別物です。
今回構造体を用いたのはキャラクターの情報を簡潔に管理するためです。たとえばマップでのキャラの情報は「向き、場所、フラグ、アイテム・・・・」などたくさんありますが(今回はアイテムはありませんっ^^;)、すべてがバラバラだとどうでしょうか?頻繁に使うのであればとてもコードが見にくいです。管理もしづらいと思います。そこで今回はch[0].~~~となれば「あ、このキャラの~~~のことか」と一目でわかります。今はそんな感じと覚えておけばよろしいかと^^;

最初は九九表でいいんですが、RPGをつくるにあたっては、やはりもっと深い理解が必要になってくると思います。今後、分割などを考えると思いますので。。配列→ポインタと今後進んで勉強していけばRPG制作はぐんぐん進みますw自分も一か月ぐらい前にようやく勉強したんですがっ^^;ググればめちゃくちゃ出てきます。ここは・・・がんばりましょう(自分もまだ全然煮詰めてないので・・・お互いにっがんばりましょうw)


>int char_num=0;
>int char_num_change_flag=0;
>この二つの配列が何を意味しどのように作用しているのかがわかりません。

二つは配列ではありません。ただの変数です。上から自分の目でおっていってみてください。
まずchar_num=0ですから、ch[char_num]→ch[0]です。これは最初に動ける状態にあるキャラです。それ以降はAが押されない限りch[char_num]→ch[0]で処理し続けます。Aが押されると
char_num_change_flag=1
ch[char_num].walking_flag=0(これはch[0].walking_flag=0の意味)
となります。こうなると次のif(ch[char_num].walking_flag==1)の条件はみたしません。これで最初のキャラは停止します。次に
if(char_num_change_flag==1){
  if(char_num==0)
    char_num=1;
  else
    char_num=0;
}
は今まで満たさなかった条件を満たすようになるのでこのif文は実行されます。これでchar_num=1になります。(もしchar_num=1ならchar_num=0へ)そしてあとは表示するだけです。表示が終わるとまたいちばん最初の処理に戻りますが、char_num=1なのでch[char_num]→ch[1]で処理をします。これはさっきまで止まっていたキャラです。次はこいつを動かすことになります。(止まったほうは何も変化がないので止まったまま)

こんな感じですかね^^;

kazuoni

Re:ゲーム館22章について

#13

投稿記事 by kazuoni » 10年前

ごめんなさい。早くも勉強不足があらわれました(笑)

やそさんの御回答をしっかり読んでください^^;0→1、1→0は
if(char_num_change_flag==1){
  if(char_num==0)
    char_num=1;
  else
    char_num=0;
}

でもいいんですが、ややこしいです。

if(char_num_change_flag==1)
  char_num=(~char_num)&1;
のがきれいにまとまってます^^;意味は両方とも同じです。本当に前後して申し訳ないです。。

BCI-3e

Re:ゲーム館22章について

#14

投稿記事 by BCI-3e » 10年前

初心者はkazuoniのほうが見やすいと思います。
やっと意味がわかりました。
int char_num=0;というのはchar_numに0を代入する(char_numは0と言う意味)
ch[char_num].というのはch[0]と言うことですね。
で、Aキーが押されたら変更のためのフラグを立ててなおかつ
歩かないフラグを立てるんですね。(↓のこと)

else if(Key[ KEY_INPUT_A]==1){
char_num_change_flag=1;
ch[char_num].walking_flag=0;
 }

変更フラグの処理は

変更フラグが立っていてchar_numが0に等しければchar_numは1に
そうでなければchar_num0に

if(char_num_change_flag==1){/
  if(char_num==0)
    char_num=1;
  else
    char_num=0;
}

このように理解しました。
順番に考えていくと意外に難しいですね。
この場合はキーのループを入力によって徐々に変化させると言う知識と言うか考えが必要だった見たいですね。
理数に強いので文系の人に比べればまだマシかと思っていますが、機転の転換が今の課題です。

この考えはどこで勉強されたのでしょうか?
私も初心者のためのポイントC言語を利用させていただいておりますが、そのような事は出てこなかったように思います。機転の転換を身に着けるいいサイトはないものでしょうか?
ある程度C言語がわかる方なら「そんなもの見てわかるだろ!」と言われるでしょうが
初心者のためのポイントC言語も例が意外にわかりにくく困っています。
C言語とゲームを関連付けているサイトがあれば教えてください。
ゲームを学びながらC言語を学べるサイトが一番うれしいです。

kazuoni

Re:ゲーム館22章について

#15

投稿記事 by kazuoni » 10年前

自分はゲーム作るに関してはまったくの初心者です^^;勉強は管理人さんの書かれたゲームプログラミングの館のみです。どちらかというとプログラミングを通してどうしたらうまくいきそうかってのを考えるのを楽しんでます^^;自分もRPG制作はしています。(現在はちょっとばかり止まってますが。。)その中でこんな機能、あんな機能と考えて、ここで質問するとやはり新しい知識が必要なんだな→学校の図書館なり、ググるなりして必死になってます。ググればたくさんでてきますよ^^↓
http://www.google.co.jp/search?hl=ja&lr ... ision&cd=2

自分はどこのページ、どの書籍がいいかはわかりません。(管理人さんのが個人的に最高です。笑)自分の手でプログラムを作ってみるのが一番かなって思いますが・・・イマイチいいアドバイスねならないですね。。

BCI-3e

Re:ゲーム館22章について

#16

投稿記事 by BCI-3e » 10年前

そうですか・・・・
やはりC言語の本も高いですし、一番訪れるのはここですね。
ヤフーや、グーグルでもう一度サイトを調べなおして行こうと思います。
県立図書館とかならまだ、ましな書籍があると思いますしね。
わざわざ解答してくださってありがとうございました。

閉鎖

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