C言語何でも質問掲示板


Total hit  今日  昨日  

必ずお読み下さい → 規約と注意事項  アンケートはこちら  エラーで投稿できない方はこちら  過去ログ検索はこちら

 
   ファイルが解放されな ....   
     ・[48702] たいちう 
     ・[48703] Yuno 
     ・[48704] たいちう 
     ・[48706] Yuno 
     ・[48707] Yuno 
     ・[48708] Yuno 
     ・[48709] Yuno 
     ・[48715] たいちう 
     ・[48718] Yuno 
   旋回する。(フライト ....   
     ・[48366] softya 
     ・[48369] Ma 
     ・[48433] Ma 
     ・[48434] Ma 
     ・[48442] softya 
     ・[48443] Ma 
     ・[48473] softya 
     ・[48478] Ma 
     ・[48479] Ma 
     ・[48524] softya 
     ・[48528] Ma 
     ・[48556] Ma 
     ・[48559] Ma 
     ・[48597] softya 
     ・[48640] Ma 
     ・[48644] softya 
     ・[48646] Ma 
     ・[48648] softya 
     ・[48667] Ma 
     ・[48668] Ma 
     ・[48669] Ma 
     ・[48675] softya 
     ・[48695] Ma 
     ・[48698] softya 
   発射されない   
     ・[48634] DVDM 
     ・[48636] kameo 
     ・[48639] DVDM 
     ・[48689] kameo 
   AdjustClientRect()を ....   
     ・[48678] fatens 
     ・[48679] non 
     ・[48681] 16F57 
   数字を検索したい   
     ・[48656] ぽこ 
     ・[48657] たかぎ 
     ・[48658] ぽこ 
     ・[48671] dic 
     ・[48672] たかぎ 
     ・[48673] dic 
     ・[48680] dic 
   入門書でわからないと ....   
     ・[48570] たいちう 
     ・[48571] バグ 
     ・[48602] きょろ 
     ・[48603] バグ 
     ・[48604] たいちう 
     ・[48624] きょろ 
     ・[48633] たいちう 
     ・[48635] バグ 
     ・[48638] たいちう 
     ・[48645] きょろ 
     ・[48674] たいちう 
     ・[48676] きょろ 
     ・[48677] きょろ 
   コンパイラの違い   
     ・[48666] たかぎ 
   就職について   
     ・[48622] Dixq (管理人) 
     ・[48623] たかぎ 
     ・[48625] sizuma 
     ・[48627] dic 
     ・[48628] array 
     ・[48631] はね 
     ・[48637] たいちう 
     ・[48661] ROM 
     ・[48665] たかぎ 
   「オモイカネデバイス ....   
     ・[48586] Dixq (管理人) 
     ・[48589] 774 
     ・[48662] サンタクロース 
   無題   
     ・[48540] Tororo 
     ・[48574] PEGASUS 
     ・[48575] Tororo 
     ・[48576] lbfuvab 
     ・[48632] PEGASUS 
   HPバーの実装方法につ ....   
     ・[48552] 通りすがり 
     ・[48564] yu 
     ・[48629] no 
   コンパイルエラーが認 ....   
     ・[48520] たかぎ 
     ・[48521] kazuoni 
     ・[48530] fatens 
     ・[48531] スルメ 
     ・[48616] kameo 
   プロンプトを開く   
     ・[48607] バグ 
   画像を光らせる(?) ....   
     ・[48558] Dixq (管理人) 
     ・[48605] mera 
   構造体のグローバル宣 ....   
     ・[48457] array 
     ・[48458] ti 
     ・[48459] array 
     ・[48471] ti 
     ・[48481] non 
     ・[48482] たかぎ 
     ・[48516] ti 
     ・[48517] たかぎ 
     ・[48518] array 
     ・[48600] ti 
   [雑談]いくつチョコレ ....   
     ・[48010] Tororo 
     ・[48012] dic 
     ・[48017] PEGASUS 
     ・[48018] たかぎ 
     ・[48020] Tororo 
     ・[48023] Dixq (管理人) 
     ・[48026] ムンバ 
     ・[48031] あ〜る 
     ・[48032] ムンバ 
     ・[48035] softya 
     ・[48036] たかぎ 
     ・[48038] Ma 
     ・[48040] Tororo 
     ・[48048] lbfuvab 
     ・[48050] たかぎ 
     ・[48127] Mikan 
     ・[48128] Ma 
     ・[48140] kazuoni 
     ・[48141] たかぎ 
     ・[48156] ouh 
     ・[48161] kazuoni 
     ・[48167] Mikan 
     ・[48174] ft 
     ・[48183] Ma 
     ・[48185] あ〜る 
     ・[48188] Dixq (管理人) 
     ・[48191] dic 
     ・[48198] MNS 
     ・[48213] あ〜る 
     ・[48228] Ma 
     ・[48230] たいちう 
     ・[48256] kerotan0820 
     ・[48566] ようすけ 
     ・[48568] 通りすがり 
     ・[48599] ようすけ 
   C言語入門書の演習で・ ....   
     ・[48587] Dixq (管理人) 
     ・[48590] ジャレミー 
     ・[48593] Dixq (管理人) 
     ・[48594] ジャレミー 
     ・[48595] Dixq (管理人) 
     ・[48598] ジャレミー 
   【雑談】擬似プロセッ ....   
     ・[48584] sizuma 
     ・[48596] たかぎ 
   48章で音を読み込む ....   
     ・[48579] ひよこ 
     ・[48580] レッドリ 
     ・[48581] ひよこ 
     ・[48582] レッドリ 
   龍神録のプログラム: ....   
     ・[48565] yu 
     ・[48572] レッドリ  
   無題   
     ・[48560] たいちう 
     ・[48562] dic 
     ・[48563] たいちう 
     ・[48567] 通りすがり 
   VC++,netでの印刷 ....   
     ・[48537] バグ 
     ・[48538] 真由美 
     ・[48554] pooka 
     ・[48555] 真由美 
   for文   
     ・[48542] ぽこ 
     ・[48543] MNS 
     ・[48544] box 
     ・[48545] MNS 
     ・[48546] box 
     ・[48547] kerotan0820 
     ・[48548] MNS 
     ・[48549] ぽこ 
     ・[48550] kerotan0820 
   iphoneアプリについて   
     ・[48495] たかぎ 
     ・[48496] Justy 
     ・[48535] 志保 
   セーブデータのロード   
     ・[48485] non 
     ・[48486] LUNA 
     ・[48487] LUNA 
     ・[48488] たかぎ 
     ・[48490] デフォルトの名無しさん 
     ・[48493] たかぎ 
     ・[48527] デフォルトの名無しさん 
   PSPで東方風の背景   
     ・[48475] ft 
     ・[48489] 少年X 
     ・[48526] ft 
   リプレイの実装方法が ....   
     ・[48500] Dixq (管理人) 
     ・[48501] Yuno 
     ・[48502] ROM 
     ・[48507] Yuno(Mobile) 
     ・[48513] Dixq (管理人) 
     ・[48522] Yuno 
     ・[48523] Yuno 
     ・[48525] array 
   [雑談] あなたは何歳? ....   
     ・[48262] shilfia 
     ・[48263] Dixq (管理人) 
     ・[48265] あ〜る 
     ・[48271] 御津凪 
     ・[48272] Ma 
     ・[48276] Tororo 
     ・[48279] kerotan0820 
     ・[48281] tuelon 
     ・[48286] やっくん 
     ・[48287] Dixq (管理人) 
     ・[48288] Dixq (管理人) 
     ・[48291] Tororo 
     ・[48297] tuelon 
     ・[48300] MNS 
     ・[48301] Tororo 
     ・[48305] kerotan0820 
     ・[48306] Tororo 
     ・[48308] こめかみ 
     ・[48310] kazuoni 
     ・[48311] shift 
     ・[48313] 山崎 
     ・[48317] もぐりん 
     ・[48320] softya 
     ・[48322] あ〜る 
     ・[48323] yu 
     ・[48327] dic 
     ・[48330] tkmakwins15 
     ・[48332] softya 
     ・[48339] Tororo 
     ・[48347] Dixq (管理人) 
     ・[48352] dic 
     ・[48355] 山崎 
     ・[48357] 少年X 
     ・[48361] softya 
     ・[48363] sizuma 
     ・[48368] non 
     ・[48371] softya 
     ・[48372] たかぎ 
     ・[48376] ひよこ 
     ・[48378] cosmo 
     ・[48379] ti 
     ・[48380] YuO 
     ・[48382] クロウ 
     ・[48391] Yuno 
     ・[48392] tkmakwins15 
     ・[48408] Dixq (管理人) 
     ・[48435] non 
     ・[48437] たいちう 
     ・[48438] softya 
     ・[48440] non 
     ・[48455] Tororo 
     ・[48474] 組木紙織 
     ・[48484] LUNA 
     ・[48491] s-rush 
     ・[48492] 御津凪 
     ・[48515] Dixq (管理人) 
   ファイルを開く   
     ・[48505] バグ 
     ・[48506] ★ 
     ・[48508] ★ 
     ・[48509] MNS 
     ・[48510] ★ 
     ・[48511] ★ 
     ・[48512] MNS 
     ・[48514] ★ 
   このプログラムの違い   
     ・[48463] MNS 
     ・[48464] kazuoni 
     ・[48465] スルメ 
     ・[48466] mnkr 
     ・[48469] スルメ 
     ・[48472] Dixq (管理人) 
     ・[48480] バグ 
     ・[48504] スルメ 
   デバック用の関数がう ....   
     ・[48312] たかぎ 
     ・[48324] dic 
     ・[48326] たかぎ 
     ・[48337] tkmakwins15 
     ・[48338] dic 
     ・[48340] たかぎ 
     ・[48345] sun 
     ・[48350] dic 
     ・[48354] たかぎ 
     ・[48358] dic 
     ・[48359] たかぎ 
     ・[48453] dic 
     ・[48467] たかぎ 
     ・[48468] たかぎ 
     ・[48498] dic 
   フルスクリーンへの移 ....   
     ・[48400] Yuno 
     ・[48407] Stanry 
     ・[48409] Yuno 
     ・[48415] あ〜る 
     ・[48416] array 
     ・[48417] Yuno 
     ・[48418] Yuno 
     ・[48419] Stanry 
     ・[48422] Yuno 
     ・[48423] Stanry 
     ・[48425] Dixq (管理人) 
     ・[48426] Yuno 
     ・[48427] Stanry 
     ・[48428] Yuno 
     ・[48429] Stanry 
     ・[48431] Yuno 
     ・[48432] Stanry 
     ・[48436] yu 
     ・[48441] Stanry 
     ・[48449] Yuno 
     ・[48477] Yuno 

Name: Yuno  ..ぴよぴよ(630ポイント)   Date: 2010/03/01(月) 01:27   No:48700       
Title: ファイルが解放されない    
こんにちはYunoです
またまたひよっこな質問ですみません

fopenでひらいたファイルをすぐ後に
LoadGraphで開いても-1になってしまいます

いったいなぜでしょうか?

一応その部分のコードです

(sはstringでファイルのフルパスが入っている、のちにchar *cに代入)

    char *gph;
    gph=(char *)malloc((s.size()-1) * sizeof(char));
    for(int i=0;i<s.size();i++){
        gph[i]=c[i];
    }
    fp = fopen( gph,"r+b+");
    fwrite( " PNG" , sizeof( char ) , 4 , fp );
    int a=137;
    rewind(fp); 
    fwrite( &a , sizeof( char ) , 1 , fp );
    fclose( fp ) ;
    ret=LoadGraph(gph);<-ここで-1になってしまう
    printfDx("%d\n",ret);
    remove(gph);
    free(gph);



278ポイント を手に入れた。


Name: たいちう  ..熟練のプログラマー(59,145ポイント)   Date: 2010/03/01(月) 10:11   No:48702     
Title: Re:ファイルが解放されない    
>     gph=(char *)malloc((s.size()-1) * sizeof(char));
>     for(int i=0;i<s.size();i++){
>         gph[i]=c[i];
>     }

何文字分確保して何文字書き込んでいるつもりなのですか?

それとfopen〜fcloseまでの部分を予め別のプログラムで実行してみましたか?
意図した書き換えに成功していることを確認しましたか?

また、別プログラムで書き換えた後ならば、LoadGraphは成功しているのですよね?
どうやって確認しましたか?


つまり「連続して実行すると失敗する」ならば、
単独で実行するとどうなるかを確認することによって、
問題の切り分けが可能となります。


145ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(842ポイント)   Date: 2010/03/01(月) 13:38   No:48703     
Title: Re:ファイルが解放されない    
>何文字分確保して何文字書き込んでいるつもりなのですか?

sの文字分確保しています
要するにgphにフルパスの文字数分確保をさせています

>それとfopen〜fcloseまでの部分を予め別のプログラムで実行してみましたか?

すみません
やっていませんのでわからないです

>意図した書き換えに成功していることを確認しましたか?

意図した書き換えには成功しました

>また、別プログラムで書き換えた後ならば、LoadGraphは成功しているのですよね?

書き換えたあとでもそのfopen〜fcloseを持ったプログラムが実行中の時はLoadGraphは-1になってしまいます

>どうやって確認しましたか?

どうやってと言われるとあれですが
とりあえずデバッグ
リリース
各々で単体プログラム中てにて試しました


212ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(59,238ポイント)   Date: 2010/03/01(月) 14:09   No:48704     
Title: Re:ファイルが解放されない    
> >何文字分確保して何文字書き込んでいるつもりなのですか?

> sの文字分確保しています
> 要するにgphにフルパスの文字数分確保をさせています

それならば何故1を引いているのですか?


> >それとfopen〜fcloseまでの部分を予め別のプログラムで実行してみましたか?

> すみません
> やっていませんのでわからないです

> >意図した書き換えに成功していることを確認しましたか?

> 意図した書き換えには成功しました

どうやって確かめましたか?
(例えば、バイナリエディタで見るとか)


> >また、別プログラムで書き換えた後ならば、LoadGraphは成功しているのですよね?

> 書き換えたあとでもそのfopen〜fcloseを持ったプログラムが実行中の時はLoadGraphは-1になってし
> まいます
>
> >どうやって確認しましたか?

> どうやってと言われるとあれですが
> とりあえずデバッグ
> リリース
> 各々で単体プログラム中てにて試しました

fopen〜fcloseを持ったプログラムを終了させた後ならば、
LoadGraphは成功しているのですか?


93ポイント を手に入れた。

Name: Yuno  ..かけだし(1,164ポイント)   Date: 2010/03/01(月) 15:42   No:48706     
Title: Re:ファイルが解放されない    
>それならば何故1を引いているのですか?

すみません修正しました

>どうやって確かめましたか? 
(例えば、バイナリエディタで見るとか)

Stirlingで正しく変換されていることを確認しました

>fopen〜fcloseを持ったプログラムを終了させた後ならば、 
LoadGraphは成功しているのですか?

fopen〜fcloseを実行しないで以下のコードで実行した結果読み込みませんでした…
gphの設定が悪いのでしょうか


int test(char *path){
    int ret;
    char pszFile[256],pszExtent[32];
    _splitpath(path,NULL,NULL,pszFile,pszExtent);
    string s,t;
    t=string(pszFile)+string(pszExtent);
    char c[DECRY_MAX];
    s="C:\\Program Files\\thM01\\temps\\"+t;
    strcpy(c,s.c_str());
    char *gph;
    gph=(char *)malloc((s.size()) * sizeof(char*));
    for(int i=0;i<s.size();i++){
        gph[i]=c[i];
    }
    ret=LoadGraph(gph);
    return ret;
}


322ポイント を手に入れた。

Name: Yuno  ..かけだし(1,095ポイント)   Date: 2010/03/01(月) 15:45   No:48707     
Title: Re:ファイルが解放されない    
ミスです
gph=(char *)malloc((s.size()) * sizeof(char*));
              ↓
gph=(char *)malloc((s.size()) * sizeof(char));
でした
領域がへんになっていました


69ポイント を落としてしまった。

Name: Yuno  ..かけだし(1,246ポイント)   Date: 2010/03/01(月) 15:56   No:48708     
Title: Re:ファイルが解放されない    
    int ret;
    char pszFile[256],pszExtent[32];
    _splitpath(path,NULL,NULL,pszFile,pszExtent);
    string s,t;
    t=string(pszFile)+string(pszExtent);
    char c[DECRY_MAX];
    s="C:\\Program Files\\thM01\\temps\\"+t;
    strcpy(c,s.c_str());
    char *gph;
    gph=(char *)malloc((s.size()) * sizeof(char));
    for(int i=0;i<=s.size();i++){
        gph[i]=c[i];
    }
    printfDx("gph = %s\nsize = %d\nlast = %s",gph,s.size(),gph[s.size()]);
    ret=LoadGraph(gph);
    return ret;

このコードを単体で実行すると読み込めました


151ポイント を手に入れた。

Name: Yuno  ..かけだし(1,172ポイント)   Date: 2010/03/01(月) 16:04   No:48709 解決!     
Title: Re:ファイルが解放されない    
すみません原因が判明しました;;

原因は
このコードより少し前にある
fopenに対してfcloseの数が対応してなかったことが原因でした

これによりfcloseをするとファイルはちゃんと解放されることがわかりました


74ポイント を落としてしまった。

Name: たいちう  ..熟練のプログラマー(59,190ポイント)   Date: 2010/03/01(月) 18:36   No:48715     
Title: Re:ファイルが解放されない    
> gph=(char *)malloc((s.size()) * sizeof(char));
> for(int i=0;i<=s.size();i++){
>     gph[i]=c[i];
> }

まだ間違いです。
↓が正解。文字数 + '\0'を分の領域を確保。

gph=(char *)malloc((s.size() + 1) * sizeof(char));

それと特に意図がないならば、gphへの代入もstrcpyを使っては?


48ポイント を落としてしまった。

Name: Yuno  ..かけだし(1,231ポイント)   Date: 2010/03/01(月) 22:59   No:48718     
Title: Re:ファイルが解放されない    
ありがとうございます
終末処理をしないでするところでした

今回はこちらの方が安定しているのでmallocを使おうと思います


59ポイント を手に入れた。



Name: Ma  ..熟練のプログラマー(54,971ポイント)   Date: 2010/02/21(日) 14:26   No:48365       
Title: 旋回する。(フライトシミュ)    
>揚力のベクトルを求める。(フライトシミュ)
http://www.play21.jp/board/formz.cgi?action=res&resno=48284&page=&id=dixq&rln=48360
のスレでお世話になりました。
おかげさまで無地に実装できました。


揚力実装後に新たな点でつまづいたので質問させていただきます。
よし、これできれいに旋回できるかなーなんておもってたんですが、そんなわけありませんでした。

実際の飛行機は操縦桿の操作(ひいたり、おしたり)し、(水平尾翼の)揚力を増減によって機体の状態角度を変ます。
この点は、今の私のゲームではキーボードの入力から直接角度を変えているため、同様な操作ができます。

この後が問題です。
実世界での飛行機は、機体のこの状態角度の変化によって風がより主翼にあたり、揚力がさらに上昇し旋回を手助けます。
ですが、私のゲームでの現状は、状態角度を変えただけで揚力の増減が発生しません。
結果的に、移動している方向と機体が向いている方向がぜんぜんかけはなれてしまいました。

では、揚力に係数をかけてあげればよくて、その係数は機体の面と風が吹く方向によって決まるはずだ。

ということで、
まず、機体の進行方向のベクトルと風のベクトルを外積してみましたが、この方法だとロール角が考慮されないので、これだけでは駄目でした。
(ロール角によっては風と主翼の面がまったくあたらないような角度もあるため。)

じゃぁ、外積したあとに、さらにロール角を使って何か計算するだろう。
と思うまではたどり着きましたが、どうロール角を扱えばいいのか分かりません。

これが質問です。



ちょっと違うアスペクトから言いますと、求めたいのはある位置(機体のベロシティの単位位置ベクトル)から、原点に置かれ任意の角度に回転させた正方形を見たときの、その面(機体の主翼)の面積のような値です。
ただし、裏面が見えたときはプラスで、表面が見えたときはマイナスになるような値。

『このような特徴』を持った値は、揚力の係数として扱うことができると考えています。
(正方形の話は、あくまでイメージを伝えるために書きました。)

よろしくおねがいします。 編集済み


537ポイント を手に入れた。


Name: softya [URL]  ..ハッカー(124,815ポイント)   Date: 2010/02/21(日) 15:50   No:48366     
Title: Re:旋回する。(フライトシミュ)    
だんだん、真面目なフライトシム化してますね。

NekoFlightの事を思い出したので、参考に成るかと貼っておきます。
http://homepage1.nifty.com/kaneko/nflight2.htm
http://homepage1.nifty.com/kaneko/nflightm.htm
ちなみに、Winnyで有名な金子勇氏のページです。
色々ここには面白いものが置いてあります。
http://homepage1.nifty.com/kaneko/index.htm

とりあえず「進行方向のベクトルと風のベクトルを外積」は方向性として違うと思いますよ。


162ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,148ポイント)   Date: 2010/02/21(日) 16:53   No:48369     
Title: Re:旋回する。(フライトシミュ)    
「翼計算」
のところを読んでいたら参考になるようなことがありました。
いつも的確で短いご指摘、感謝してます。

さっそく、手始めとして迎角を求めようと思います。
面と線との間の角ですね。

ちょっと調べてみます。

追記
先ほど求めた(翼に対する法線ベクトル)揚力ベクトルから、ベロシティのベクトルとの内積からその角度をもとめる。
90度からそれをひいて、面と線の角度ですね。
表面か裏面かもわかりますね。

あとは例の係数と方程式にのっとって・・・と。
いったん休憩にしますw


さらにPS
そういえば、DXライブラリ3D のほうで、フライトシミュレーター作っていた方がいたとおもったんだけど、どうなったんだろう。。。。 編集済み


177ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,100ポイント)   Date: 2010/02/22(月) 04:35   No:48433     
Title: Re:旋回する。(フライトシミュ)    
なんとか応用できましたが、設計からいろいろひどい部分がでてきたので、
しばらく修正していそうです。
とりあえず、質問はいただいたページにかかれていることを実装してからにします。 編集済み


48ポイント を落としてしまった。

Name: Ma  ..熟練のプログラマー(55,262ポイント)   Date: 2010/02/22(月) 05:31   No:48434     
Title: Re:旋回する。(フライトシミュ)    
どうも、うまくいきませんでした。。。orz
まだまだ、力のモーメントを考える前の段階です。

旋回はなんとなくできるようになってきましたが、
やはりまだまだ異常な動きがあります。


特になんとかしたいのは、機首をy軸方向にゆっくりむけながら上昇すると
速度がいきなり暴走し始めます。

なんだか、理由がよくわかりそうにないので、よければソースを読んでいただけるとうれしいです。


162ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(125,813ポイント)   Date: 2010/02/22(月) 14:31   No:48442     
Title: Re:旋回する。(フライトシミュ)    
とりあえず、じっくり見たいので夜まで待って下さいね。
起動しみたら動かず(汗)


35ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,464ポイント)   Date: 2010/02/22(月) 15:27   No:48443     
Title: Re:旋回する。(フライトシミュ)    
お手数おかけします><


http://www1.axfc.net/uploader/Sc/so/85498
PASS: sim

↑ いまUPした、ちょい改良版もあるので、どちらを見ていただいてもかまいません。
どちらとも同じような問題をかかえてます。。。

速度暴走というかなんというか、、、ともかく暴走しますwww

キー操作:
↑キー すらすとあげ
↓キー すらすとさげ
Wキー えれべーたーあげ(ある程度速度でないと意味なし)
Sキー えれべーたーさげ
Dキー みぎロール(地上では効果なし)
Aキー ひだりろーる(地上では効果なし)

QとEを 地上移動方向&らだー をつけようと思いましたが、まだできてません。
最初に滑走しはじめて機首あげればとびます。


202ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(125,850ポイント)   Date: 2010/02/23(火) 00:06   No:48473     
Title: Re:旋回する。(フライトシミュ)    
すいません、ちょっと時間が取れないので明日にさせて下さい。
出来れば簡単に今やっている処理を教えて貰うと解読時に助かります。


37ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(54,723ポイント)   Date: 2010/02/23(火) 06:21   No:48478     
Title: Re:旋回する。(フライトシミュ)    
とりあえず、今行っているアルゴリズムは以下のような流れです。
void player::update()
内での話しになります。

以下、空気密度、とか翼面積だとかでてきますが、プレイ中は定数です。

1.翼対して、垂直な単位法線ベクトルを得る。(機体の進行方向とは関係なく、機首の向きに垂直)(クォータニオンを使う)
2. 揚力方向の単位ベクトルを求める。(法線とは違い、進行方向に対して垂直なベクトル。)(クォータニオンを使う)
3.getMukaeKaku 関数に法線を渡し、翼と進行方向の間の角度を求める。
4.公式 揚力=揚力係数*翼速度^2*(翼面積*空気密度/2)  と、 揚力係数 ∝ 3で得た迎角 を利用して、2 で得た揚力ベクトルの長さを求める。
5.揚力ベクトルを速度ベクトルに加算。
6.公式 抗力=抗力係数*翼速度^2*(翼面積*空気密度/2) と 抗力係数 ∝ mukaeKaku^2 を利用して、抗力ベクトルの長さを求める。
7.速度ベクトルに抗力ベクトルを加算。
8.重力を加算。
9.推力を加算。
10.エレベーターの角度elevator と(クォータニオンを使う)getRotatedVec関数を使って、エレベーターの迎角を求める。
11.エレベーターによって、機首角度がかわる事を模擬的に計算する。(力のモーメントが面倒だったので、今は模擬的になっている)
(ちなみに、エレベーターによる揚力の角速度(模擬的)∝揚力係数*翼速度^2*(翼面積*空気密度/2))
12. エレベーターによる揚力があるとき、ロール角があったら仰角だけでなく旋回することもあるので、rotAng によって成分分けする。
13.UI処理と、角度調節。
14.速度を位置に加算。
(15.カメラの位置、角度設定と情報表示。)

図解を添付します。


741ポイント を落としてしまった。

Name: Ma  ..熟練のプログラマー(54,818ポイント)   Date: 2010/02/23(火) 06:42   No:48479     
Title: Re:旋回する。(フライトシミュ)    
追記

垂直尾翼に対して、まだ計算していないので
すらすとを切って、旋回して水平に戻すと機体がスライド飛行しますw


離陸してしばらくは、とても良好な動きをしてくれるんですが、しばらくすると、とんでもないことになるんですよね。。。


95ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,039ポイント)   Date: 2010/02/23(火) 23:35   No:48524     
Title: Re:旋回する。(フライトシミュ)    
軽く見ましたが、フライトシムを真面目に作った事が無いので勘が働きませんね(^^;
っことで提案なのですが、飛ばす前に風洞実験みたいに翼の角度と風で揚力ベクトルがどう働いているか実験施設のシミュレータみたいな物を作ってみてはどうでしょう?機体は動かずに一点に固定で、機体の回転や風速だけ変えれるって本当に風洞実験の施設みたいにするわけですね。
各ベクトル値は、視覚で分かるように矢印か棒をベクトル毎に色分けしてポリゴンで表示してやると異常値が出たら視覚的にすぐ分かると思います。
あとは、ラダーやエレベータも風洞実験して搭載していくって形がわかり易いと思うんですが。

>離陸してしばらくは、とても良好な動きをしてくれるんですが、しばらくすると、とんでもないことになるんで
すよね。。。
この問題も風洞実験で分かるかと思いますよ。


189ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(54,850ポイント)   Date: 2010/02/24(水) 02:30   No:48528     
Title: Re:旋回する。(フライトシミュ)    
おぉ、それはいいアイディアですね!
次に時間ができたときさっそくやってみますね。


32ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,526ポイント)   Date: 2010/02/25(木) 06:38   No:48556     
Title: あらたに問題点    
空洞実験のようなものをやっていろいろ問題がみつかり、大半は解決しましたが、、、
新しい問題にぶちあたりました。

どうやら、進行方向が縦に90度を超える瞬間に揚力の向きが反転してしまうことがわかりました。
原因は簡単で、移動方向のxz座標上の角度を
float hMoveAngle = atan2(myVel.x,myVel.z);
と、していたためです。
90度に越えた瞬間XZ座標上の水平角度(hMoveAngle)が180度反転したため、機体がy軸を対象に180度回転したようになり、当然揚力も反転します。
結果、90度に達した瞬間に(水平角度180度反転を)いったりきたり毎フレームごとに繰り返すことになりました。


法線ベクトルの時は、機首の方向(UIによって変化する)から導きだすので、鉛直角度の範囲は−∞度から∞度でした。
(実際は-180度から180度に制限しますが。)

が、揚力ベクトルは進行方向(機体の状態によって様々に変化)とatan2関数から導き出すので、鉛直範囲がー90度から90度になってしまう。

なんとか -180度から180度までわかるようにするには、前フレームの鉛直角度から今フレームの鉛直角度の変化がわかればいいとおもったんですが、
(89度から91度にはいる瞬間がわかればいいとおもったから)
その89度の次の瞬間に、機首をおろしたのか、それともあげつづけたのかは分からないので、
92度と87度の違いが区別できないことになります。
だからといって、機首の操作だけで場合わけするわけにはいきません。
ラダーだとか他のさまざまな操作を使った結果に反転したのかもしれないためです。

この問題、なんとかならないでしょうか?

質問をまとめると、この進行方向の仰角の範囲を -90度から90度を、-180度から180度までになおすことはできませんか?
よろしくおねがいします。 編集済み


676ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,861ポイント)   Date: 2010/02/25(木) 07:58   No:48559     
Title: Re:あらたに問題点    
↓試してみたこと。
この方法でなんとかいけるか、とおもったんですが、どうも正しく動作しません。。。。
プロジェクトも添付します。
http://www1.axfc.net/uploader/Sc/so/86360
PASS  sim

    VECTOR getLift(){

        float size = sqrt(myVel.z*myVel.z+myVel.x*myVel.x);
        
        //printfDx("%4.2f\n",hMoveAngle);
        float TempVerticalMoveAngle = -atan2(myVel.y,size);
        float hMoveAngle = atan2(myVel.x,myVel.z);

        static float vMoveAngle = TempVerticalMoveAngle;
        static float PreHMoveAngle = hMoveAngle;
        static float PreVMoveAngle = TempVerticalMoveAngle;

        
        

        float vAngleDifferece = vMoveAngle-PreVMoveAngle;
        float hAngleDifferece = hMoveAngle-PreHMoveAngle;
        PreVMoveAngle = vMoveAngle;
        PreHMoveAngle = hMoveAngle;

        static bool vAngInverted = false;
        if(abs(abs(hAngleDifferece)-PHI_F) < 0.04f){//反転
            vAngInverted = !vAngInverted;
            printfDx("flipped:%4.2f %4.2f\n",vMoveAngle);
        }

    
        
        if(vAngInverted){
        //    printfDx("vMoveAngle%4.2f,ho%4.2f diff%4.2f diff%4.2f",vMoveAngle,hMoveAngle,vAngleDifferece,hAngleDifferece);
            vMoveAngle += vAngleDifferece;
            hMoveAngle += PHI_F;
        //    printfDx("vMoveAngle%4.2f,ho%4.2f\n",vMoveAngle,hMoveAngle);
            
        }
        else{
            vMoveAngle = TempVerticalMoveAngle;
        }
        


        DrawFormatString(0,40,GetColor(255,255,255),"MovingAng(V%4.2frad,H%4.2frad)",abs(vMoveAngle)<0.01f?0.0f:vMoveAngle,hMoveAngle);
        return getRotatedVec(hMoveAngle,vMoveAngle,rotAng,PHI_F/2);
    }




キー追加操作
I カメラあげ
K カメラさげ
J カメラひだり
L かめらみぎ
U カメラずーむいん
O かめらずーむあうと


335ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,145ポイント)   Date: 2010/02/26(金) 00:01   No:48597     
Title: Re:あらたに問題点    
またまた、ざっと見ただけで申し訳ないのですが、進行方向ベクトルに対して垂直なベクトルがy方向にプラスかマイナスかで背面飛行と正面?飛行が区別できると思いますので、それでatan2の結果を-180から+180に補正できませんでしょうか?

残念ながら私のところでちゃんと動かないんですよね。私のノートPCの問題だと思うんですが。


106ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(55,903ポイント)   Date: 2010/02/27(土) 02:50   No:48640     
Title: Re:あらたに問題点    
>進行方向ベクトルに対して垂直なベクトルがy方向にプラスかマイナスかで背面飛行と正面?飛行が区別できると

進行方向に垂直なベクトル(かつ機体↑方向)なのは、「揚力」で、この揚力を求めるための計算(クォータニオン)をするために進行方向のXZ平面との仰角を求めようとしています。

つまり、
進行方向とXZ平面との仰角→揚力ベクトル
しようとしているのに
揚力ベクトル→進行方向とXZ平面との仰角 はできません。
なので、揚力(進行方向ベクトルに対して垂直なベクトル)を使うのはできないんじゃないかな、とおもいます。

くりかえしになりますが、進行方向ベクトルと機首の向きベクトルは異なります。
進行方向は単純に揚力などの力によって得られたベクトル(X,Y,Zの値)ですが、機首のベクトルはユーザーインターフェイスから得た角度(XZ平面角度,XZ平面迎角度(-PI〜PI))から算出しています。
この違いが90度以上の角度を得られない原因になっているんですよね。。。


質問をくりかえすかたちになりますが、進行方向のベクトルは atan2(y方向の速さ,(x,z平面上の速さ)) から求めているので90度以上になるとUターンしてもどってきます。(89度→91度となっても、計測上は89度→89度で、平面上の角度は反転する。)

これを、89度→91度にする方法が、なかなかおもいつきません。


使える値
・機首の向きベクトルと、角度(迎角については-PI〜PI)。(進行方向とは無関係)
・機体の状態の法線ベクトル(進行方向とは無関係)
・進行方向の角度の変化量(ただし、90度付近はあやふやになる。)
など。


計算しようとしている値
・揚力ベクトル

それに必要な値
・クォータニオンをするために必要な進行方向とXZ平面との仰角(-PI〜PI)。


質問
「それに必要な値」の仰角が90度以上を示さないため、実際の角度が90度を超えると揚力が反転する。 編集済み


42ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,330ポイント)   Date: 2010/02/27(土) 10:43   No:48644     
Title: Re:あらたに問題点    
あれ?
進行方向と機体方向は別じゃ無かったでしたっけ?
揚力は、機体方向で決まるのでは?
私が混乱してるのかな?

それはそれとして、垂直なベクトルはちょっとした工夫で外積で求められると思います。
進行方向ベクトルを(x,y,z)とした時に、xz平面に投影したベクトルをまず求めます。(x,0,z)ですね。この(x,0,z)を更に90度時計方向に回します。90度回すと(-z,0,x)となります。これをベクトル2とします。
進行方向ベクトルとベクトル2を外積すると、垂直なベクトルを求めることが出来ます。


185ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(56,657ポイント)   Date: 2010/02/27(土) 11:50   No:48646     
Title: 無題    
追記
>進行方向と機体方向は別じゃ無かったでしたっけ? 
>揚力は、機体方向で決まるのでは? 

>進行方向ベクトルと機首の向きベクトルは異なります。
この違いが揚力を発生させます。
揚力は、風の向きと翼の向きの違いで発生するものだと考えています。
つまり、移動方向と機首方向の間の角度で変動します。



>それはそれとして、垂直なベクトルはちょっとした工夫で外積で求められると思います。 
たしかにそのとおりですが、それは(ロール角によって)平面がねじれてない場合のみです。
それでは、ロール角が考慮されなくなってしまいます。
だからこそのクォータニオンでした。


>計算しようとしている値 
>・揚力ベクトル 

揚力ベクトルはロール角によって著しく変化します。



ちなみに、さきほど、ようやく1ステップ進みまして、
あまり使いたくなかった方法でしたが、以下の方法で90度以上の判定がなんとかなりました。
ただ、やり方的に誤作動がないとは言えないので、もっといい方法おもいついたらよろしくおねがいします。


    //揚力(進行方向(機首方向ではない)に対して垂直上向きのベクトル。)
    VECTOR getLift(){

        //ベロシティXZ平面成分
        float size = sqrt(myVel.z*myVel.z+myVel.x*myVel.x);
        
        //迎角
        float TempVerticalMoveAngle = -atan2(myVel.y,size);
        //XZ平面水平角度
        float hMoveAngle = atan2(myVel.x,myVel.z);

        //垂直角度
        float vMoveAngle = TempVerticalMoveAngle;
        
        //前の角度
        static float PreHMoveAngle = hMoveAngle;        
        

        //前フレームとの水平角度の違い
        float hAngleDifferece = hMoveAngle-PreHMoveAngle;
        //水平角度記録
        PreHMoveAngle = hMoveAngle;


        //±90度を超えたかどうか記録。
        static bool flip = false;
        
        //水平角度がかなりかわった→反転した可能性大→揚力を反転する。
        if(abs(hAngleDifferece) > PHI_F/2){
            flip = !flip;
            printfDx("flip %d %d  %d\n",(int)(PreHMoveAngle*180/PHI_F),(int)(hMoveAngle*180/PHI_F),(int)(hAngleDifferece*180/PHI_F));
        }
        
        //反転しているなら
        if(flip){
            //迎角修正。
            vMoveAngle = -PHI_F-TempVerticalMoveAngle;
            //水平反転
            hMoveAngle -= PHI_F;
        }

        return getRotatedVec(hMoveAngle,vMoveAngle,rotAng,PHI_F/2);
    }





ただ、新しい問題がまた発生しました^^;
というのは、getRotatedVec関数はクォータニオンを利用する関数ですが、abs(vMoveAngle) > PHI_F/2 の時に対応しておらず、おかしな挙動をすることがわかりました。
先にできることをやってから報告したかったのですが、1,2日ほど忙しくなるので先に報告だけさせていただきました。 編集済み


754ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,335ポイント)   Date: 2010/02/27(土) 12:37   No:48648     
Title: Re:無題    
どうやら勘違いしていたようなので説明とプログラムを見直しますね。
ただ、すぐ時間が取れないので、お待ちください。

調べる前に、ひとつだけ聞きたいのは揚力は進行方向に垂直なベクトルと定義されていますが、垂直ベクトルはどの平面に対して垂直なのでしょうか?それが定義出来れば、垂直ベクトルを求められると思うのですが。 編集済み


5ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(56,843ポイント)   Date: 2010/02/28(日) 03:22   No:48667     
Title: Re:無題    
お返事おくれました、すいません。
>垂直ベクトルはどの平面に対して垂直なのでしょうか?それが定義出来れば、垂直ベクトルを求められると思うのですが。 

垂直ベクトル=揚力の単位ベクトル と解釈しますが、
進行(移動)方向のベクトルと期待のロール角からできる面に対して垂直なのが垂直ベクトルです。

それにたいして、ここでいう法線ベクトルは、翼の面に対して垂直なベクトルです。


このへんは、プログラムが動けば一番わかりやすいとおもうのですが、どうしても動かないのでしょうか?
よろしければ、リリースモードでコンパイルして起動できる状態のものをご用意させていただこうかと思います。


186ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(56,850ポイント)   Date: 2010/02/28(日) 03:23   No:48668     
Title: Re:無題    
誤字
期待→機体


7ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(56,900ポイント)   Date: 2010/02/28(日) 06:21   No:48669     
Title: Re:無題    
最新版です。
よろしければこちらをごらんになってください。
また、起動できるようにexeファイルも入っています。

PW sim
http://www1.axfc.net/uploader/Sc/so/87342


50ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,459ポイント)   Date: 2010/02/28(日) 13:44   No:48675     
Title: Re:無題    
exe版起動出来ました。確かに、妙な機動をしますね。
atan2辺りが問題なのも視覚的に納得出来ました。
ただ、時間が無いのでごめんなさい今日は無理かも知れません。


2倍のポイントを手に入れた! 124ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(57,205ポイント)   Date: 2010/02/28(日) 23:37   No:48695 解決!     
Title: Re:無題    
softya さん、いそがしいところすいません><
それからありがとうございます。



ところで、さきほど原因が発覚しました^^;
↓誤り
    //回転軸を機体の進行方向に指定し、ロール角だけ回転する時に利用するクォータニオンを生成。
    qqq   = MakeRotationalQuaternion(-rotAngle, sin(hAngle), sin(-vAngle), cos(hAngle));      
    rrr   = MakeRotationalQuaternion(rotAngle, sin(hAngle), sin(-vAngle), cos(hAngle));




↓正しい
    //回転軸を機体の進行方向に指定し、ロール角だけ回転する時に利用するクォータニオンを生成。
    qqq   = MakeRotationalQuaternion(-rotAngle, sin(hAngle)*cos(vAngle), sin(-vAngle), cos(hAngle)*cos(vAngle));      
    rrr   = MakeRotationalQuaternion(rotAngle, sin(hAngle)*cos(vAngle), sin(-vAngle), cos(hAngle)*cos(vAngle));




進行方向にしないといけないのに、なっていなかったみたいです。
クォータニオン作成が間違っていたため、反転後におかしいことになったみたいです。
たまたま反転する前にロール角で機体を上下反転させたら法線がおかしなことになっていたところから、
きづくことができました。

ここが一番致命的になっていまして、もう一箇所も改良したところ、綺麗にとびました!!
ありがとうございました。
あとは、垂直尾翼の計算をするだけですね。

softya さんのおかげで、モチベーションをキープすることができました。ありがとうございます>< 編集済み


305ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(126,542ポイント)   Date: 2010/03/01(月) 00:06   No:48698     
Title: Re:無題    
うまく動いて良かったです。
あんまりお手伝い出来ませんでしたが( ^ ^ ;
出来上がったら、遊ばせて下さいね。
・・・未だに自分の環境でコンパイルしたものが動かない原因は謎・・・。


83ポイント を手に入れた。



Name: kameo  ..かけだし(1,226ポイント)   Date: 2010/02/26(金) 23:35   No:48630       
Title: 発射されない    
こんにちは kameoです。
次のようなプログラムを作製したいと思います。
@三角型のプレイヤーを十字キーで操作する。
Aスペースを押すと、弾が1個だけとぶ
B弾が消えると次の弾が打てるようになる。(リセット)

そこで次のようなプログラムを組みました。
#include "DxLib.h"

typedef struct{ //プレイヤー
int x,y,img;
}ch_t;
int image[9]; //画像イメージ
char Key[256];
ch_t ch;



void shoot(){   //発射
    int    flag=0;   //発射フラグ
    int tamax,tamay=0; //弾の座標
        
    tamax=ch.x;   //弾はプレイヤーの上から発射されるように座標設定する。
    tamay=ch.y-32;

    if(Key[KEY_INPUT_SPACE]==1 && flag==0) flag=1; //発射されていなくかつスペースを押すと弾は飛び出す。

    if(flag=1){
            tamay-=8;
            DrawGraph(tamax,tamay,image[6],TRUE);
            if(tamay<-32){
                tamay=ch.y;
                flag=0;              //リセット
            }
        }

}







int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){


if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
//プレイヤー座標及び向き
ch.x =320;
ch.y =240;
int muki=0;

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

while(1){
ClearDrawScreen();
GetHitKeyStateAll(Key);
if(ProcessMessage()==-1)break;


void shoot();     //発射関数
//移動
if( Key[ KEY_INPUT_RIGHT ] == 1 ) {
ch.x+=4 ;
muki=4;
}
if( Key[ KEY_INPUT_LEFT ] == 1 ) {
ch.x-=4 ;
muki=3;
}
if( Key[ KEY_INPUT_UP ] == 1 ) {
ch.y-=4 ;
muki=0;
}
if( Key[ KEY_INPUT_DOWN ] == 1 ) {
ch.y+=4 ;
muki=1;
}

//プレイヤー描写
ch.img=image[muki];

DrawGraph( ch.x-15 , ch.y-24 , ch.img , TRUE ) ;


if (Key[KEY_INPUT_ESCAPE]==1) break;
ScreenFlip();//裏画面を表画面に反映
}

DxLib_End();
return 0;
}
コンパイルエラーは出ていないのですが、スペースを押しても反応がありません。
たぶん関数の使い方に問題があると思うのですが
いまいち原因がつかめません。
どなたかアドバイスをください。お願いします。


647ポイント を手に入れた。


Name: DVDM [URL]  ..熟練のプログラマー(51,615ポイント)   Date: 2010/02/27(土) 00:17   No:48634     
Title: Re:発射されない    
>>kameoさん

まず、while文の中にある「void shoot();     //発射関数」の所ですが
関数を呼ぶなら「shoot();」で構いません。

そして、shoot関数の中にある変数ですが、ローカル変数なので
関数を抜けた時に値が消えてしまいます。

void shoot(){   //発射
    static int    flag=0;   //発射フラグ
    static int tamax,tamay=0; //弾の座標


このようにstaticを付けるか、グローバル変数にするか等で対処します。
これで、関数を抜けても値が保持されたままになります。



tamax=ch.x;   //弾はプレイヤーの上から発射されるように座標設定する。
tamay=ch.y-32;



ここですが、関数が呼ばれるたびに tamax, tamayに座標がセットされ、
動いているように見えないと思います。
これを、スペースキーが押されたらキャラの位置に弾をセットするという風に書き換えます。

    if(Key[KEY_INPUT_SPACE]==1 && flag==0)
    {
        flag=1; //発射されていなくかつスペースを押すと弾は飛び出す。
        tamax = ch.x; // スペースが押されてから座標をセットする
        tamay = ch.y-32;
    }



そして最後

   if(flag=1){
            tamay-=8; 

この部分ですが、flagが1かどうかを判断する時は  if(flag==1) や if(flag)と書きます。
これで、画面外に行けば弾がもう一回打てるようになると思います。


ただ、今の段階では向きを考慮しない打ち方なので上方向にしか飛ばないと思います。
考え方は一緒なので、向きでどこに飛ばすかなどの処理も追加してみて下さい〜。


487ポイント を落としてしまった。

Name: kameo  ..かけだし(1,064ポイント)   Date: 2010/02/27(土) 01:17   No:48636     
Title: Re:発射されない    
分かりやすい回答 本当にありがとうございます。

頭の中では「こんなことをしたければこんな感じでプログラムすればいいのかな?」
とある程度予想してプログラムすることができるんですけど
C言語の知識が薄いため(基本的な文法含め)
関数がいつ呼ばれるかなどのタイミングや
変数がプログラム上どのように変化するかなどが
いまいち把握しきれません。

今こうして簡単な動作をいろいろなサイトから勉強していますが、
なにか他に効率のよい練習方法などありますか?

話題が変わってしまって申し訳ないのですが
アドバイスお願いします。



162ポイント を落としてしまった。

Name: DVDM [URL]  ..熟練のプログラマー(51,810ポイント)   Date: 2010/02/27(土) 02:19   No:48639     
Title: Re:発射されない    
>>kameoさん
>関数がいつ呼ばれるかなどのタイミングや
>変数がプログラム上どのように変化するかなどが
>いまいち把握しきれません。


プログラムは基本的に上から下に向かって実行されます。
kameoさんが実際に組んだプログラムの一部を抜粋しました。

        ClearDrawScreen();
        GetHitKeyStateAll(Key);
        if(ProcessMessage()==-1)break;
        shoot();        //発射関数


まずは、ClearDrawScreen();
次は、GetHitKeyStateAll(Key);
その次は、if(ProcessMessage()==-1)break;
次は、shoot();
・・・という風に、処理は上から流れてきます。


例えばこんなプログラムがあったとします。

1:int x=0;
2:int y=0;

3:x++;
4:y+=5;

ここで、3:が処理された時の「x」「y」の値はいくつになるでしょうか?

xは1足されてx=1ですが、この時点で、yはまだ y+=5を処理していません。
なので、3が処理された時の「x」「y」の値は「x=1」「y=0」になります。
4:が処理された時に始めてyは5になります。



>今こうして簡単な動作をいろいろなサイトから勉強していますが、
>なにか他に効率のよい練習方法などありますか?

これは私個人な意見なのですが、一番効率のいい方法はプログラムを打ち込んでいくことです。
プログラムは思い通りには動きません。
必ず、打ち込んだ通りにしか動かないからです。

まず、このような処理があるんだとなったら、どういう動きをしているのか実際打ち込んでみて下さい。
ここで、あーこんなことが出来るんだで終わらないで下さい。
何回も使っていればその内、なにも見ないで使えるようになりますよ。


まだ、やりはじめて間もないかもしれませんが、地道な努力が一番効率良く作業できると思います。


195ポイント を手に入れた。

Name: kameo  ..かけだし(1,090ポイント)   Date: 2010/02/28(日) 21:47   No:48689 解決!     
Title: Re:発射されない    
ありがとうございます。
一日一歩づつ
ゆっくりと理解していきたいと思います。



26ポイント を手に入れた。



Name: .s.s.d  ..ぴよぴよ(65ポイント)   Date: 2010/02/27(土) 22:41   No:48659       
Title: AdjustClientRect()を使いたい    
はじめまして。レベルの低い質問ですいません。
クライアント領域の大きさを指定したくてAdjustClientRect()を使用したのですが”Error: 外部シンボル '_AdjustClientRect' が未解決”とエラーがでます。 どうやったらいいのでしょうか。
OSは WindowsXP コンパイラは Borand C++です。


65ポイント を手に入れた。


Name: fatens  ..初心者(8,119ポイント)   Date: 2010/02/28(日) 16:10   No:48678     
Title: Re:AdjustClientRect()を使いたい    
AdjustWindowRect 関数の間違いではないでしょうか。
http://msdn.microsoft.com/ja-jp/library/cc430250.aspx


11ポイント を手に入れた。

Name: non  ..比類無きプログラマー(96,036ポイント)   Date: 2010/02/28(日) 16:21   No:48679     
Title: Re:AdjustClientRect()を使いたい    
AdjustClientRect()という関数は、何でしょう?
何かのライブラリにあるのなら何のライブラリにあるか教えてください。



48ポイント を手に入れた。

Name: 16F57  ..ぴよぴよ(263ポイント)   Date: 2010/02/28(日) 18:02   No:48681     
Title: Re:AdjustClientRect()を使いたい    
Adjust...がなくても、
GetClientRectとGetWindowRect、MoveWindowを使えばいいと思います。
1.GetClientRect・・・クライアント領域のサイズ取得
2.GetWindowRect・・・ウィンドウ全体のサイズ取得
3.MoveWindow・・・ウィンドウの位置とサイズ設定
@1.と2.でウィンドウの境界のサイズ取得
A3.でサイズ変更
short dx,dy;
RECT rcw,rcc;
GetClientRect(hWnd,&rcc);
GetWindowRect(hWnd,&rcw);
dx=(rcw.right-rcw.left)-rcc.right;
dy=(rcw.bottom-rcw.top)-rcc.bottom;
MoveWindow(hWnd,rcw.left,rcw.top,(Xサイズ)+dx,(Yサイズ)+dy,1);


263ポイント を手に入れた。



Name: dic  ..熟練のプログラマー(52,705ポイント)   Date: 2010/02/27(土) 21:41   No:48654       
Title: 数字を検索したい    
指定した文字列から指定した文字列が最初に現れる関数strstrを
使っているのですが、
下のソースのように文字列に数字が含まれていてて
数字の場合、検索にひっかかるようにしたいのです
#include    <windows.h>
#include    <stdio.h>

void    main()
{
    char    mes[80] = "Hello 1234 world";

    char    *p;
    //    o が先頭のアドレスになる
    p = strstr( mes, "o" );
    printf( "%s\n", p );

    //    数字が先頭のアドレスになる
    p = strstr( mes, "1" );
    printf( "%s\n", p );


    //    実際の状態
    char    mes1[80] = "hello 2345 world";
    char    mes2[80] = "hello 5654 world";
    char    mes3[80] = "hello 3214 world";
    char    mes4[80] = "hello 5874 world";
    char    mes5[80] = "hello 2687 world";
    p = strstr( mes1, "?" );
    printf( "%s\n", p );
    p = strstr( mes2, "?" );
    printf( "%s\n", p );
    p = strstr( mes3, "?" );
    printf( "%s\n", p );
    p = strstr( mes4, "?" );
    printf( "%s\n", p );
    p = strstr( mes5, "?" );
    printf( "%s\n", p );

    /*
    期待する出力結果
        2345 world
        5654 world
        3214 world
        5874 world
        2687 world
    */
}



ソースにコメントアウトしたように
数字がヒットするようにしていする方法はあるのでしょうか?

説明不足だったらすいません


100ポイント を手に入れた。


Name: ぽこ  ..初心者(7,450ポイント)   Date: 2010/02/27(土) 22:04   No:48656     
Title: Re:数字を検索したい    
関数strcspn()を使用してみました。
こんな感じでどうでしょうか?
#適当な関数名が思いつかなかったので、適当につけました。

----
#include <stdio.h>
#include <string.h>

char * hoge( const char * s1, const char * s2 )
{
    return (char * ) ( s1 + strcspn( s1, s2 ) );
}

int
main()
{
    char mes[] = "Hello 1234 world";
    char s[] = "0123456789";
    char * p;
    //    実際の状態
    char mes1[] = "hello 2345 world";
    char mes2[] = "hello 5654 world";
    char mes3[] = "hello 3214 world";
    char mes4[] = "hello 5874 world";
    char mes5[] = "hello 2687 world";
    p = hoge( mes, s );
    printf( "%s\n", p );
    p = hoge( mes1, s );
    printf( "%s\n", p );
    p = hoge( mes2, s );
    printf( "%s\n", p );
    p = hoge( mes3, s );
    printf( "%s\n", p );
    p = hoge( mes4, s );
    printf( "%s\n", p );
    p = hoge( mes5, s );
    printf( "%s\n", p );

    /*
    期待する出力結果
        2345 world
        5654 world
        3214 world
        5874 world
        2687 world
    */
}


329ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(165,865ポイント)   Date: 2010/02/27(土) 22:20   No:48657     
Title: Re:数字を検索したい    
strcspnかstrpbrkでしょうね。


14ポイント を手に入れた。

Name: ぽこ  ..初心者(7,462ポイント)   Date: 2010/02/27(土) 22:23   No:48658     
Title: Re:数字を検索したい    
> strcspnかstrpbrkでしょうね。

しまった…  orz


12ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(53,107ポイント)   Date: 2010/02/28(日) 09:03   No:48671     
Title: Re:数字を検索したい    
>strcspnかstrpbrkでしょうね。
はじめてそんな関数があったとは
知りませんでした

そこで、これを応用して文章の中からあるフォーマットの文字列を
取り出したいのですが、アルゴリズムがどうしてもおもいつきません

文章は
[START]
line(120,120)-(240,240)
backimg white
block-img47-1234.jpg
javascript applet.class
block-img32-1234.jpg
[END]
というもので
この中から
block-img47-1234.jpg
block-img32-1234.jpg
を取り出したいのです

今は
char txt[100][256][;
// txt を文章で初期化
int i;
for( i=0; i<50; i++ )
{
 char buf[256];
 sprintf( buf, "block-img%d-1234.jpg", i );
 printf( "%s\n", strstr( txt, buf ) );
}

という方法しか思いつかず、とても速度が遅く
つかいものにならない状態です
テキストも100kbあり1000ファイルもあるので
一日走らせても終わるか終らないかで
高速化できないものかと考えてますが
どうしても考えが浮かびません

このblock-imgxx-1234.jpgを取り出す方法は
他にないでしょうか?


384ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(167,007ポイント)   Date: 2010/02/28(日) 09:22   No:48672     
Title: Re:数字を検索したい    
> テキストも100kbあり1000ファイルもあるので 
> 一日走らせても終わるか終らないかで 
> 高速化できないものかと考えてます

必ずこの書式になっていることがわかっているのであれば、行の先頭が "block-img" で始まっているものだけをまずは抽出してください。
そのあと、isdigitで xx の部分をチェック、最後に "-1234.jpg" を比較するとよいでしょう。

現在のアルゴリズムでは、関係のない文字列をわざわざ重いsprintfを使って生成しています。
これでは時間がかかるのは無理ありません。
なお、正確な環境がわかれば、もっと高速化する方法もあります。


155ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(53,203ポイント)   Date: 2010/02/28(日) 11:25   No:48673 解決!     
Title: Re:数字を検索したい    
必ず block-img で始まってますので
教えていただいた方法で試します

それでも遅かったら、さらに高速化を考えます

環境は Windows, VC++6.0 C/C++ です
空き容量も10GB以上あるので、ほぼソースコードの容量の制限もないです

ありがとうございました


96ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(53,185ポイント)   Date: 2010/02/28(日) 17:36   No:48680 解決!     
Title: Re:数字を検索したい    
教えていただいた方法で
十分な速度が確保できましたので
これで良しとします


18ポイント を落としてしまった。



Name: きょろ  ..ぴよぴよ(355ポイント)   Date: 2010/02/25(木) 15:48   No:48569       
Title: 入門書でわからないところが…    
はじめまして。
C言語の入門書で勉強しているものです。
もっと頑張ってゲームを作っていこうと思うのですが最近勉強し始めた初心者です。

タイトル通りわからないところが出てきて自分でも2時間ほど頑張ったのですがわかりません。

------------------演習---------------------

ピラミッドを作ります。
何段ですか。3
   *
  ***
 *****
-------------------------------------------
このような表示にしたいんです。   何段ですか→数字はキーボードからの入力です。
空白の数を上手にあらわせれなくて困っています。
for文を使うのは何となくわかるんですが…。

説明わかりずらくてすみません。
-------------------------------------

#include    <stdio.h>

int    main(void){

    int    i, j, no1;

    printf("何段ですか:"); scanf("%d", &no1);
        
        /*自分でもfor文を試行錯誤してみましたがわからないです;;*/

    

    return 0;

}


355ポイント を手に入れた。


Name: たいちう  ..熟練のプログラマー(58,200ポイント)   Date: 2010/02/25(木) 16:00   No:48570     
Title: Re:入門書でわからないところが…    
> 空白の数を上手にあらわせれなくて困っています。

まずは空白を無視して作ることはできますか?
↓こんな風に。

*
***
*****


31ポイント を手に入れた。

Name: バグ  ..ハッカー(190,779ポイント)   Date: 2010/02/25(木) 16:37   No:48571     
Title: Re:入門書でわからないところが…    
  1234567
1 ***o***
2 **ooo**
3 *ooooo*
4 ooooooo

上記のような図を書いてみて、座標と表示されてある文字との関連を考えてみてください。

#include <stdio.h>

int main(void)
{
    int i, j, no1;

    printf("何段ですか:");
    scanf("%d", &no1); 

    for (j = 0; j < no1; ++j)
    {
        for (i = 0; i < no1 * 2 - 1; ++i)
        {
            if (i < no1 - j - 1 || i > no1 + j - 1)
            {
                printf(" ");
            }
            else
            {
                printf("o");
            }
        }

        printf("\n");
    }

    return 0;
}



2倍のポイントを手に入れた! 476ポイント を手に入れた。

Name: きょろ  ..ぴよぴよ(694ポイント)   Date: 2010/02/26(金) 06:31   No:48602     
Title: Re:入門書でわからないところが…    
>>たいちうさん     コメントありがとうございます
#include <stdio.h>
int main(void){
        
    int i, j, no1;

    printf("何段ですか"); scanf("%d", &no1);

    for(j = 1; j <= no1; no1++){
        for(i = 1; i <= j; i++)
            printf("*");
        j += 2;
        putchar('\n');

    }

    return 0;
}

こんな感じでいいですか?
試してみると出来てはいるんですが、少し納得いかない書き方です。
出来れば綺麗な書き方教えてください。




>>バグさん     コメントありがとうございます
if (i < no1 - j - 1 || i > no1 + j - 1)  
ここの部分の計算で
i > no1 + j - 1 では真ん中から右側の空白を作っているのは分かるんですが、
i < no1 - j - 1  こちらの場合 no1が4の時に

1 < 4 - 1 - 1    で 1 < 2 で1になるのは分かりますが
二順目で
2 < 4 - 1 - 1    で 2 < 2 になると0になるのではと疑問に思っています。

コンパイルして実行してみるとしっかりとピラミッド作れているのに…
なぜこうなるのか分かりません。
できれば、回答いただきたいです。


339ポイント を手に入れた。

Name: バグ  ..ハッカー(190,833ポイント)   Date: 2010/02/26(金) 08:03   No:48603     
Title: Re:入門書でわからないところが…    
私の書いたソースでは、ループカウンターであるiとjが1からではなく0から始まっている事に注意してみてください。

54ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(58,107ポイント)   Date: 2010/02/26(金) 09:17   No:48604     
Title: Re:入門書でわからないところが…    
> こんな感じでいいですか?
> 試してみると出来てはいるんですが、少し納得いかない書き方です。
> 出来れば綺麗な書き方教えてください。

jとno1の使い方がトリッキーですね。
int len;を導入して、次の形にしてください。
no1を固定して、jのみをループ変数にします。

for (j = 1; j <= no1; j++) {
    len = ???; // jを元に計算
    for (i = 1; i <= len; i++)
        printf("*");
    putchar('\n');
}


93ポイント を落としてしまった。

Name: きょろ  ..かけだし(1,248ポイント)   Date: 2010/02/26(金) 21:37   No:48624     
Title: Re:入門書でわからないところが…    
>>バグさん
見落としていました。
次からは気をつけて小さなミスをなくしてこうと思います。
手取り足取りありがとうございます。
for (i < no1 - j - 1 || i > no1 + j - 1)
これ思いつかなかったです。 悔しかった。;;



>>たいちうさん

#include <stdio.h>

int main(void){

    int i, j, no1, len = 1;

    printf("何段ですか"); scanf("%d", &no1);
    
    for (j = 1; j <= no1; j++) {
        len = j * 2 - 1;
        for (i = 1; i <= len; i++)
            printf("*");
        putchar('\n');

    }

    return 0;

}

これでいいのかな??
ありがとうございます。
ここから発展(空白)させようと頑張ってるのですが……。
len = j * 2 - 1;
バグさんの  if(i <= no1 - j - 1 || i >= no1 + j - 1) をお借りして,
#include <stdio.h>

int main(void){

    int i, j, no1, len = 0;

    printf("何段ですか"); scanf("%d", &no1);
    
    for (j = 0; j <= no1; j++) {
        len = j * 2 - 1;
        for (i = 0; i <= len; i++) {
            if(i <= no1 - j - 1 || i >= no1 + j - 1) {
                putchar(' ');
            }else{
                putchar('*');
            }
        }
        putchar('\n');
    }

    return 0;
}

これだとぼこぼこになってしまいます。さらに、
len = j * 2 - 1; これがあるせいでそれぞれ右に寄った分が、足りなくなってしまいます。(一行の長さがそれぞれ違ってしまって…。)
自分の言っていること分からなかったらすいません。
やっぱりバグさんのようにするしか方法ないのですか?(バグさんの考え方すごかったですがせっかく↑作ったので使えないかなと。)
勘違いとか読みにくいと思いますが、よろしくお願いします。


554ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(58,235ポイント)   Date: 2010/02/27(土) 00:00   No:48633     
Title: Re:入門書でわからないところが…    
> これでいいのかな??

OKです。
今朝のプログラムと見比べて下さい。
ずっと良くなってます。

で、次の段階。

for (j = 1; j <= no1; j++) {
    (a)
    spaces = ???; // jを元に計算
    必要な個数スペースを表示

    (b)
    len = ???; // jを元に計算
    必要な個数*を表示
    
    (c)
    改行
}

既に(b)と(c)は出来ています。
後は完成させられるんじゃないですか?


128ポイント を手に入れた。

Name: バグ  ..ハッカー(191,498ポイント)   Date: 2010/02/27(土) 00:40   No:48635     
Title: Re:入門書でわからないところが…    
こうしてみると、人それぞれに思いつくアルゴリズムがあって面白いですよね。
私の考え方は不要な部分まで描画して、座標によって描画する文字を変化させる方法ですが、
たいちうさんの考え方は必要な部分だけを描画するという方法なんですよね。

図で書くと、私の方法が…

***o***
**ooo**
*ooooo*
ooooooo

こうで、たいちうさんの方法が…

***o
**ooo
*ooooo
ooooooo

こうなんですよね。




2倍のポイントを手に入れた! 290ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(58,890ポイント)   Date: 2010/02/27(土) 01:40   No:48638     
Title: Re:入門書でわからないところが…    
> こうしてみると、人それぞれに思いつくアルゴリズムがあって面白いですよね。

バグさんのは図形の描画ですが、私のはテキストの整形って感じですね。


21ポイント を手に入れた。

Name: きょろ  ..かけだし(1,153ポイント)   Date: 2010/02/27(土) 11:21   No:48645     
Title: Re:入門書でわからないところが…    
>>たいちうさん

#include <stdio.h>

int main(void){

    int i, j, no1, len = 1, spaces;

    printf("何段ですか"); scanf("%d", &no1);
    
    for (j = 1; j <= no1; j++) {
        spaces = no1 - j;
        for(i = 1; i <= spaces; i++)
            putchar(' ');
        
        len = j * 2 - 1;
        for (i = 1; i <= len; i++)
            printf("*");
        putchar('\n');

    }

    return 0;



出来ました!!
これでいいと思うんですが。


95ポイント を落としてしまった。

Name: たいちう  ..熟練のプログラマー(59,000ポイント)   Date: 2010/02/28(日) 11:33   No:48674     
Title: Re:入門書でわからないところが…    
> 出来ました!!
> これでいいと思うんですが。 

出来たことを確認したならば、それでいいのでしょう。
正解はいくらでもあります。

先のプログラムのトリッキーなループのように、
絶対避けた方が良い書き方もありません。

お疲れ様でした。
余力があるならば、バグさんの書き方も理解してください。


110ポイント を手に入れた。

Name: きょろ  ..かけだし(1,038ポイント)   Date: 2010/02/28(日) 14:29   No:48676     
Title: Re:入門書でわからないところが…    
>>たいちうさん
本当にありがとうございました。

バグさんもありがとうございました。

>>余力があるならば、バグさんの書き方も理解してください。、
今からチャレンジします。
バグさんの考え方は自分には分かりやすそうなので出来ると思います。

今回はバグさん、たいちうさんありがとうございました。
これからもお世話になると思います。
その時はよろしくお願いします。


115ポイント を落としてしまった。

Name: きょろ  ..かけだし(1,059ポイント)   Date: 2010/02/28(日) 14:29   No:48677 解決!     
Title: Re:入門書でわからないところが…    
解決付けるの忘れました。 すみません。

21ポイント を手に入れた。



Name: なつみ  ..ぴよぴよ(36ポイント)   Date: 2010/02/28(日) 00:16   No:48664       
Title: コンパイラの違い    
初投稿です。よろしくお願いします。

Visual C++ や gcc などコンパイラによって float を使った計算結果に
違いが出るということを聞いたのですが、具体的にどのような違いが出るのか
ご存知の方がいらっしゃいましたらご教示ください。


36ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(166,852ポイント)   Date: 2010/02/28(日) 02:10   No:48666     
Title: Re:コンパイラの違い    
あらゆる可能性が考えられます。

実行環境が同じ場合であっても、floatの表現範囲や丸め方向は処理系定義ですし、標準化以前のレガシーな処理系、あるいはコンパイルオプションしだいでは、floatはいったんdoubleに変換されてから演算することになります。
実行環境が異なれば、それこそさらに大きな違いが出てきます。sNaNの有無やSIGFPEの発生条件、無限大の有無、その他もろもろの可能性があります。



161ポイント を手に入れた。



Name: 隆文  ..ぴよぴよ(195ポイント)   Date: 2010/02/26(金) 19:56   No:48621       
Title: 就職について    
こんばんは、よろしくお願いします。

私は、現在26歳なのですが、今年の4月に情報系の専門学校を卒業します。
まだ、就職は決まっておりません。
私は、社会人経験がなくて、資格もありません。
大学卒でもありません。
今まで、適当に生きてきました。そのツケがきました。
今はどうしようかと迷っています。
もう一年、情報系の職業訓練校に通って、必死に勉強して資格でも取ろうと思っています。
今のところ、基本情報とJava関連を取ろうと思っています。
そこで、皆様に質問です。
私はこのまま就職できなかったら、職安に通って、資格を取得したほうがいいですか?
もちろん、取得しても就職できると限らないのは承知しています。
就職するのに、何の資格が有利ですか?
一応プログラマ関係を希望しています。
あと、プログラマの業務経験が圧倒的にないので、派遣で、経験を積もうと思ったのですが、
今、派遣会社は未経験のプログラマは雇わないのですか?




195ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,157,834ポイント)   Date: 2010/02/26(金) 20:37   No:48622     
Title: Re:就職について    
資格にこだわっていらっしゃるようですが、はっきり言って資格って必要無いんじゃないでしょうか?
採用試験ってそういうところは重点的に見ないのではないかと思います。
私は大した資格一つも持ってないですけど、面接で不利になるとはあまり思いませんでした。
逆に言えば、資格を持っている人が有利だとも思いませんでした。

ソフトウェア技術者持っている、TOEIC750点以上ある、などエントリーシートに書けばそこから話題が広がるかもしれませんが、
そういうのはあくまで面接で話すネタにする程度じゃないかと思います。
ですから、面接で話すネタを自分で沢山用意していけば資格がない事は大してハンデじゃないのではないでしょうか。
それに基本情報とか誰でも持っている資格を持っていても面接のネタにならないと思います。

それよりも「今までこれを精いっぱい頑張ってきた!」「これだけは人に負けない!」そんな強みを面接でアピール出来るネタを用意した方が良いのではないでしょうか?
専門学校時代に勉強したこと、研究したこと、頑張ったことをエントリーシートに書けるよう整理してもいいと思いますし、
まだ時間があるのなら、その時までにアピール出来るものを今から作ってみてはどうでしょう。


478ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(165,851ポイント)   Date: 2010/02/26(金) 20:59   No:48623     
Title: Re:就職について    
本来の資格というのは、それがなければ仕事ができないようなものを指します。
具体的には、医師や弁護士の資格のようなもので、免許といってもよいでしょう。
一方で、

> 基本情報とJava関連を取ろうと思っています。 

こういうのは検定にすぎません。
別にそんなもの取っていなくても仕事はできますので、目安でしかありません。
あって不利になることはないでしょうが、実務未経験のまま年だけを食うデメリットを相殺できるほどの価値はありません。

もし卒業までに就職できなければ、なぜそうなったのかをよく考えてください。
資格の有無が原因ではないはずです。


239ポイント を手に入れた。

Name: sizuma [URL]  ..プログラマー(36,022ポイント)   Date: 2010/02/26(金) 22:09   No:48625     
Title: Re:就職について    
勉強するのが嫌いならば、プログラマはやめたほうがいいと僕は思います。
リーダーシップがすごいとか、コミュニケーション能力が高いなら適正はあると思いますけど。
ただパソコン関連が好きならエンドユーザに近い仕事をした方がいいと思うんですが、僕も学生で仕事してるわけじゃないんでよくわからないです。

>私は、現在26歳なのですが、今年の4月に情報系の専門学校を卒業します。
>まだ、就職は決まっておりません。 
まだ求人でてるところあるんじゃないですか?
新卒でいける今年度中にどっか就職したほうがいいと思います。
この時期に募集してるところは誰も行きたがらなくて欠員がでてるところなんだろうな、と僕は思いますけどね。


>何の資格が有利か
僕は

情報セキュリティスペシャリト
応用情報
基本情報
SJCP
OracleSilver
CGクリエーター2級
マルチメディア検定2級
MOSExcleエキスパート
普通免許・普通自動二輪

を持ってますが、役に立ちそうなのは普通免許ぐらいですかね。
普通免許は持ってたほうがいいんじゃないでしょうか。
ほんとに履歴書とエントリーシートに書くネタぐらいにしかならない気がします。
でも、2年過程の子を見ると、基本情報を取得した人は先に全員就職してましたね。やはり真面目に勉強してる子が面接でも誠実そうな印象を与えるんだと僕は思いました。


580ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,581ポイント)   Date: 2010/02/26(金) 22:25   No:48627     
Title: Re:就職について    
生きることにテキストはないよ

9ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(64,474ポイント)   Date: 2010/02/26(金) 23:32   No:48628     
Title: Re:就職について    
>  生きることにテキストはないよ
良いこと言いますねw

資格は無くても良いという流れですが、あった方が良いのには変わりないと思います。
資格を持っている事で一定の意識の証明にもなりますし(座学と実技は違うとかいう突っ込みはやめてw)



> 就職するのに、何の資格が有利ですか? 
情報系の会社にも仕事は色々ありますので、会社によって必要とする知識は変ってくると思います。

Linux関係
 LPIC

ネットワーク関係
 CCNA
  CCNP
  CCIE

データベース関係
  ORACLE MASTER

設計書関係
  OMG認定UML技術者


「LPIC level3」 と 「CCIE」 を持っていればネットワーク系の仕事にはかなり強い人だと分かります。

---
忘れてました。 例に上げた資格は全部「全世界共通」の資格なので世界でも通用する資格です。
米国への履歴書にも書ける資格です。 編集済み


209ポイント を手に入れた。

Name: はね  ..上級者(16,421ポイント)   Date: 2010/02/26(金) 23:39   No:48631     
Title: Re:就職について    
私が新卒として就活(ゲーム会社)をしたときの印象では資格は関係ないように感じました。
資格よりも、その時の試験点数or今までの制作物が見られていました。
会社によって様々で、試験しかしない所もあれば、制作物しか見ない所と様々ですが・・・・。

これが正解とは思えませんが、プログラマになるなら自分のスキル(数学、プログラム)を磨いて、
定量的なアピールが大切かと思います。

専門学校などの技術に特化した学問を修めているならなおさら重視されるのではないかと。

ちなにみ、現在はゲームとはあまり関係ない3D画像系の会社で働いていますが、他の社員は数学が抜群にできるけど、プログラムはイマイチ、プログラムのある分野で特化した人など様々ですのでこう考えた次第です。


308ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(58,869ポイント)   Date: 2010/02/27(土) 01:33   No:48637     
Title: Re:就職について    
> あと、プログラマの業務経験が圧倒的にないので、派遣で、経験を積もうと思ったのですが、
> 今、派遣会社は未経験のプログラマは雇わないのですか?

数年前は未経験でも採用して、わずかな研修で客先に放り込むということも
たまには(しばしば?)聞きました。最近は少ないようですが地域等によっても事情は違うでしょう。
派遣会社としても客先で役に立たない社員を抱えるのは損失ですので、
当然社員を選んで採用します。不況で派遣先が減っているということと、
不況で働き手があぶれていて、少々の経験・資格があっても就職できない人がいることからも、
派遣会社だからといって簡単に就職できるとは思わない方が良いでしょう。


> もう一年、情報系の職業訓練校に通って、必死に勉強して資格でも取ろうと思っています。
> ...
> 私はこのまま就職できなかったら、職安に通って、資格を取得したほうがいいですか?

職業訓練校に行った方がよいかどうかなら、行かない方が良いでしょう。
専門学校に入学を決めた時も勉強するつもりがあったのではないですか?
基本情報レベルの資格を1つ2つ取るだけならば、1歳年を取る不利の方が大きいでしょう。

それと必死に勉強してやっと基本情報が合格できるレベルでは、
プログラマとしての適性はないと判断せざるを得ません。
新卒の入社ならば大目に見られるかもしれませんので、ツケは大きいですよ。
あなたの年齢の人たちは、そろそろプログラマを卒業してSEとして
働き始めていることでしょう。(この風潮を肯定するわけではないです)
他の条件が同じならば、誰だって若い人を採用しますし若い人に教えたいと思います。

プログラマに絞らずに就職活動を行い社会人になりましょう。
少なくとも社会人経験を積み始めることができます。
その上で職業プログラマになりたいのならば、
勤務後や休日にプログラマとしての経験を積んでください。
面接で自分の能力をアピールできるようなプログラムやホームページを作ったり、
してください。仕事の合間にこのようなことができそうにないならば、
今からプログラマになることは諦めた方が良いでしょう。

資格は履歴書に書けるので確実に見てもらえるのだけが利点です。
専門学校を出た人が、基本情報や応用情報を持っててもその位は当然としか思いません。
プログラミングの勉強を専門的に何年もやってたのですから。
持ってて有利というよりも、持ってないと不利という方が正確でしょう。
一体何してたの?と、声に出して聞かれなくても、思われるでしょう。
仕事とアピールできるプログラム作りの合間に片手間で勉強して合格してください。


最後に、私がプログラマに転職したのは31の時です。
当時就職の斡旋をしていた友人には、年齢的に無理と断られましたが。
自分の適性に自信があるならば応援します。そうでないならば引きとめます。
結局のところ、あなたの適性次第です。


634ポイント を手に入れた。

Name: ROM  ..かけだし(1,160ポイント)   Date: 2010/02/27(土) 23:38   No:48661     
Title: Re:就職について    
私もたかぎ氏の仰る通りそれは検定であって資格ではないと思います。
検定は合格することが大事なんじゃなくて、それを通して勉強することが大事。
持っているから有利になるなんてそんなもんじゃないかと。
私が就活した時も合格した検定をアピールなんかしませんでしたね。
それより何故26で専門学校を卒業することになったのか、その辺の受け答えがうまく出来るかの方が大事かもしれません。

>今まで、適当に生きてきました。そのツケがきました。 

ということですが、仮にフリーターやニート時期があったとすると、
うまいこと言わないと面接官への印象は悪くならざるを得ないかと。
ところで、自分の為にこんなに熱く回答してくれてる人が多いのにそれに対する返答ないんですかね。
ここで就活に対して色んな質問したら対策立てられそうな気もします。


247ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(166,691ポイント)   Date: 2010/02/28(日) 02:04   No:48665     
Title: Re:就職について    
> ところで、自分の為にこんなに熱く回答してくれてる人が多いのにそれに対する返答ないんですかね。 

結局はその辺の常識のなさ、ヒューマンスキルの欠如が就職できない理由なんですよ。

確かに最近は就職難ですが、それでも難なく就職できている人は少なくありません。
彼らにとっての就職難の影響は、志望通りの就職ができるかどうかというところにあって、どこでもよいから就職できるかどうかでは決してないのです。
何が違うと思いますか?

また、求人側の視点から見れば、昨今は採用難の時代だといえます。
中小零細企業がどんなに求人を出しても応募が集まらないのは以前から同じですが、仮に応募があっても、箸にも棒にもかからないような人物が多くてどうしようもないのです。
どんなに、喉から手が出るほど人が欲しくても「こいつならいない方がまし」という評価をせざるを得ないのです。

厳しいことをいうようですが、資格云々は問題のすり替えにすぎません。
本来の資格が必要な仕事、例えば料理人や美容師などでも、本当にやる気のある人であれば、見習いやインターンからでも使ってくれるところはあります。
そこのところを真剣に考えてみてください。


2倍のポイントを手に入れた! 826ポイント を手に入れた。



Name: サンタクロース  ..初心者(6,759ポイント)   Date: 2010/02/25(木) 21:11   No:48583       
Title: 「オモイカネデバイス」の実装について    
こんばんわ。新しい弾幕を作ろうとしているのですが一つ分からないのです
bossから出ている円状に撃たれている弾のように「撃っているとき」と「撃っていないとき」を表すにはどのように
すればよいでしょうか
 編集済み


60ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,157,252ポイント)   Date: 2010/02/25(木) 22:56   No:48586     
Title: Re:「オモイカネデバイス」の実装について    
仮に1フレームで1度回転しているとします。
そして、マイフレーム1発発射しているとしましょう。
角度が度数法で表せ、整数だとすると、

if(角度%10<8){
    その角度に発射;
}

って感じだと、角度を10で割った余りが8と9の時発射されないので、ちょこちょこ隙間が空いたようになります。


59ポイント を落としてしまった。

Name: 774  ..かけだし(1,028ポイント)   Date: 2010/02/25(木) 23:07   No:48589     
Title: Re:「オモイカネデバイス」の実装について    
多分4wayを角度を足し続けて出してるだけだと思いますよ

21ポイント を手に入れた。

Name: サンタクロース  ..初心者(6,776ポイント)   Date: 2010/02/27(土) 23:44   No:48662 解決!     
Title: Re:「オモイカネデバイス」の実装について    
ありがとうございます。
おかげで結構満足のいく弾幕になりました


17ポイント を手に入れた。



Name: PEGASUS  ..ぴよぴよ(725ポイント)   Date: 2010/02/24(水) 17:57   No:48539       
Title: 無題    
ブラッディマンデイで打ち込んだ文字が音声として出力されてるやつあるじゃないですか。
あれってなんかソフトウェアを使ってやってるんですか
それともファルコンが作ったものなんですか
質問が分かりにくくてすいません。


79ポイント を手に入れた。


Name: Tororo  ..入門者(3,829ポイント)   Date: 2010/02/24(水) 18:39   No:48540     
Title: Re:無題    
合成・・ではなさそうです。

ソフトウェアに似たようなはあると思います。
まぁTVだから^^;


48ポイント を手に入れた。

Name: PEGASUS  ..ぴよぴよ(744ポイント)   Date: 2010/02/25(木) 17:57   No:48574     
Title: Re:無題    
C++で作ることは可能ですか?

19ポイント を手に入れた。

Name: Tororo  ..入門者(3,854ポイント)   Date: 2010/02/25(木) 18:01   No:48575     
Title: Re:無題    
音声理解のソフトはたまに見ますから、
可能だと思います。
けれど、かなり難しいと思いますーー;


25ポイント を手に入れた。

Name: lbfuvab  ..プログラマー(25,035ポイント)   Date: 2010/02/25(木) 18:20   No:48576     
Title: Re:無題    
softalkが比較的近いかと思いますよ

12ポイント を手に入れた。

Name: PEGASUS  ..ぴよぴよ(764ポイント)   Date: 2010/02/26(金) 23:42   No:48632     
Title: Re:無題    
softlak使ってみました
おもしろいですね。ありがとうございます。


20ポイント を手に入れた。



Name: no  ..入門者(4,290ポイント)   Date: 2010/02/24(水) 23:34   No:48551       
Title: HPバーの実装方法について    
HPバーの実装方法についてです。
敵の最大HPを棒状にして、減るごとに棒が削れていくような仕様を自分なりに考えたのですが、
かなり無理やりでして、スマートさが微塵も感じられません。
以下に、私の実装方法を示します。


hppar = (100 - ( 敵の現在のHP / 敵の最大HP * 100) * -4;
DrawGraph( hppar , 10 ,HPバーの画像,FALSE);

初めHPバーが (0,10) に表示されていて、
敵のHPが n % 減るごとにHPバーを (-4n , 10) に表示する、というものです。
わかりにくいので視覚的に理解できる画像を張っておきます。(雑絵ですが……)


まあ形にはなっていますが、可視領域と不可視領域を使っているで不可視領域を使用できない場所に
hpバーを実装することができません。

考えだけでもよいので、何かよい方法があればご教授願います。



*(以前のいくつかの質問に対し謝辞が遅れました。申し訳ないです)


323ポイント を手に入れた。


Name: 通りすがり  ..上級者(20,736ポイント)   Date: 2010/02/24(水) 23:41   No:48552     
Title: Re:HPバーの実装方法について    
サンプルプログラミングの館にRPGのサンプルやメーターのサンプルがありますよ。

http://dixq.net/sm/


8ポイント を手に入れた。

Name: yu  ..熟練のプログラマー(42,321ポイント)   Date: 2010/02/25(木) 13:09   No:48564     
Title: Re:HPバーの実装方法について    
DrawExtendGraph関数 等を使って描画する幅を狭めていけば良いかもしれません。
今は真っ白なゲージだから大丈夫ですが、
模様があったりすると画像が圧縮されていくように見えるので注意してください。

DXライブラリ - リファレンスページ - DrawExtendGraph
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R3N9


131ポイント を手に入れた。

Name: no  ..入門者(4,348ポイント)   Date: 2010/02/26(金) 23:33   No:48629 解決!     
Title: Re:HPバーの実装方法について    
とおりすがりさん
なるほど、こちらにあったのですね。
参考にしてみます。

yuさん
単色でしたら問題なさそうですね。
ありがとうございます。


58ポイント を手に入れた。



Name: kameo  ..ぴよぴよ(566ポイント)   Date: 2010/02/23(火) 22:38   No:48519       
Title: コンパイルエラーが認識しない?    
こんにちは kameoです。
今回はコンパイルエラーについての質問です。
使っているソフトはVisual C++ 2008 です。

僕が大学の講義に使用した際(例えば文法ミスがあったときなど)
プログラムを実行しないで文法エラーという形で画面下部の方にエラーメッセージを表示してくれました。

ただ、今回初めてDxLibを利用したプログラムを作成する際、
仮に何らかのプログラムミスを起こした際、普通実行せずにエラーを表示すると思っていたのですが
なぜかは知りませんが、もし前回の結果が正しく実行できたとき、
後から付け加えたミスは完全に無視し、前回の結果をそのまま実行するようになってしまったのです。

(例: @ゲームプログラミングの館から適当なサンプルコードをコピーペーストし、コンパイル->実行する。
   A正しい形で実行する。
   Bそのサンプルコードの適当な一文の;を取り除き、コンパイル->実行する。
   CBの過程を無視し、Aの結果をそのまま実行する。     )
この状態だといざプログラミングを改変しても、本当に正しいのかを判断するのに苦労します。
これは僕の使い方に何かしらの問題があったのでしょうか?
アドバイスをください。お願いします。


311ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(165,053ポイント)   Date: 2010/02/23(火) 22:54   No:48520     
Title: Re:コンパイルエラーが認識しない?    
最初から統合開発環境しか使っていないことの弊害が出ているようです。
コンパイル、リンク、実行の過程を正確に把握してください。
よく分からないようであれば、最低限、いきなり実行しようとせず、まずビルドだけを行い、成功を確認してから実行するようにしてください。



122ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(135,815ポイント)   Date: 2010/02/23(火) 23:01   No:48521     
Title: Re:コンパイルエラーが認識しない?    
簡単に書けば

コンパイルエラーがなくなるまで→F7


↓ コンパイルエラーが無くなったら


デバッグ実行→F5

デバッグ無し実行→ctrl + F5

です。


69ポイント を落としてしまった。

Name: fatens  ..初心者(8,108ポイント)   Date: 2010/02/24(水) 11:10   No:48530     
Title: Re:コンパイルエラーが認識しない?    
[ツール]→[オプション]→[プロジェクトおよびソリューション]→[ビルド/実行] とたどり、
「実行時に、プロジェクトが古い形式の時(O):」 の所を
「ビルド時に確認する」 に変更すれば元に戻ると思います。


86ポイント を手に入れた。

Name: スルメ  ..ぴよぴよ(240ポイント)   Date: 2010/02/24(水) 14:26   No:48531     
Title: Re:コンパイルエラーが認識しない?    
Visual C++ 2008ならばfatensさんの言っているので合っていると思いますよ。

25ポイント を手に入れた。

Name: kameo  ..ぴよぴよ(579ポイント)   Date: 2010/02/26(金) 18:53   No:48616 解決!     
Title: Re:コンパイルエラーが認識しない?    
なるほど ありがとうございました。

13ポイント を手に入れた。



Name: ディア  ..初心者(5,979ポイント)   Date: 2010/02/26(金) 16:27   No:48606       
Title: プロンプトを開く    
どうも、ディアです。

龍神録のメニューでEXITを選択すると、
「遊んで頂きありがとうございました」
のメッセージボックスの表示とともにプロンプト画面が出ますよね。
ホームページを開くやつです。

あのようにDOSを起動、コマンドを実行させるにはどうしたらいいのでしょうか?


101ポイント を手に入れた。


Name: バグ  ..ハッカー(190,887ポイント)   Date: 2010/02/26(金) 16:35   No:48607     
Title: Re:プロンプトを開く    
コマンドプロンプトを開きたいのであれば、下記URLが参考になるかと…

http://msdn.microsoft.com/ja-jp/library/cc429163.aspx


54ポイント を手に入れた。



Name: mera  ..ぴよぴよ(94ポイント)   Date: 2010/02/25(木) 01:35   No:48553       
Title: 画像を光らせる(?)エフェクト    
初めて質問させてもらいます。

言葉ではいいにくいんですけど、画像をキラリと光らせるエフェクト(白い筋が左から右に移動するような。たとえばAeroBeatPlusのタイトルロゴのような。)
がどうやればできるのかわかりません。画像を複数用意してるだけとも思えませんし・・・。
どなたか教えていただけるとうれしいです。


94ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,157,311ポイント)   Date: 2010/02/25(木) 07:56   No:48558     
Title: Re:画像を光らせる(?)エフェクト    
>meraさん

こんにちは。
それにはまず、マスクについて勉強してみるといいですよ^^
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R16N1

画像の特定部分だけブレンドしたりすることが出来ます。
マスクが直接関係あるサンプルプログラムはありませんが、
今までアップしたエフェクトサンプルを紹介しておきますね。

http://dixq.net/zip/bbs/LogoEffect.zip

http:/dixq.net/zip/bbs/SampleLoad2.zip


210ポイント を手に入れた。

Name: mera  ..ぴよぴよ(117ポイント)   Date: 2010/02/26(金) 15:32   No:48605     
Title: Re:画像を光らせる(?)エフェクト    
ありがとうございます。勉強してみます。

23ポイント を手に入れた。



Name: ti  ..初心者(5,846ポイント)   Date: 2010/02/22(月) 20:07   No:48456       
Title: 構造体のグローバル宣言と使用について    
いつもお世話になっています
ゲーム内の数値などをまとまって扱う構造体を共有したく
global.hとglobal.cppと実際に使うcppファイルで宣言しています


---------------global.h-----------------------------

//-----------------------------------------
//キャラデータ構造体
//-----------------------------------------
typedef struct{
        int str,agi,Tough,Intelligence,luck,MAXHP,MAXMP,Offens,defens,Ex;//力すばやさ体力運HPMP攻撃力防御力経験値
}st_Details_data;

//2ndキャラ以降の位置情報構造体

typedef struct{
        int x,y,img,muki,walking_flag;
        st_Details_data ch_data[8];

}st_chdata;

//プロトタイプ宣言
int Load();

-------------------global.cpp------------------------------------------------
int Load(){
        
    st_chdata chdata;
    return 0;
}


----------------------chdataを仕様する場所---------------------------
グローバル領域で
st_chdata chdata;
と宣言しています

この状態でビルドするとリンカエラーがでてしまい
chdataを仕様する場所のst_chdata chdataをコメント化すると
定義していないといわれてしまいます

複数の場所で同じ構造体データを共用したい場合
どのように宣言すればいいですか?
よろしくお願いします



367ポイント を手に入れた。


Name: array [URL]  ..熟練のプログラマー(64,000ポイント)   Date: 2010/02/22(月) 20:24   No:48457     
Title: Re:構造体のグローバル宣言と使用について    
エラー報告の場合、エラー情報をコピーして貼り付けていたほうが、的確な回答が得られやすいですよ。

他のファイルにある関数や変数を使用する場合、extern宣言が必要になるのでプログラムだけを見た感じだと

//プロトタイプ宣言
extern int Load();

と追記すれば、コンパイルは成功すると思います。



133ポイント を手に入れた。

Name: ti  ..初心者(6,187ポイント)   Date: 2010/02/22(月) 20:40   No:48458     
Title: Re:構造体のグローバル宣言と使用について    
arrayさんレスありがとうございます

make cmd.cppのst_chdata chdataをいれると

1>make town.obj : error LNK2005: "struct st_chdata chdata" (?chdata@@3Ust_chdata@@A) は既に make cmd.obj で定義されています。
1>make cmd.obj : error LNK2001: 外部シンボル ""int __cdecl Make_CmdWindow0(void)" (?Make_CmdWindow0@@YAHXZ)" は未解決です。
となります

make cmd.cppのst_chdata chdataをコメント化すると

>.\make cmd.cpp(28) : error C2065: 'chdata' : 定義されていない識別子です。
1>.\make cmd.cpp(28) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1>        型は ''unknown-type'' です。
1>.\make cmd.cpp(28) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1>        型は ''unknown-type'' です。
となります

int Load()関数は初期化するために使用しています



341ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(64,160ポイント)   Date: 2010/02/22(月) 21:05   No:48459     
Title: Re:構造体のグローバル宣言と使用について    
ちょっと頭が回らないのですが、

LNK2005のエラーは構造部を多重定義している時に出ます。

town.cppの中にあると思われる

struct st_chdata chdata;

下記に変更

extern struct st_chdata chdata;


extern宣言は違うところで定義してますよ。とコンパイラに教える為に宣言します。

@多分、cmd.cpp で既に定義されていますよ。といわれているエラーだと思います


160ポイント を手に入れた。

Name: ti  ..初心者(6,263ポイント)   Date: 2010/02/22(月) 23:08   No:48471     
Title: Re:構造体のグローバル宣言と使用について    
LNK2005は直ったのですが
LNK2001が出ています
エラーコードです
1>make cmd.obj : error LNK2001: 外部シンボル ""struct st_chdata chdata" (?chdata@@3Ust_chdata@@A)" は未解決です

ソースファイルあげておきます

typedef struct{
        int x,y,img,muki,walking_flag;
        st_Details_data ch_data[8];

}st_chdata;
はglobal.cppでのみ定義しています

st_chdataの内容を1箇所で宣言してほぼすべてのcppで使用したい場合どうすればいいですか?

書き方がわるくて何をやりたいのかわかりにくかったとおもいます

ある構造体で定義した変数をすべてのファイルで使用できて
それを常に数値を維持できるようにしたいです







76ポイント を手に入れた。

Name: non  ..比類無きプログラマー(95,748ポイント)   Date: 2010/02/23(火) 09:03   No:48481     
Title: Re:構造体のグローバル宣言と使用について    
> typedef struct{
>         int x,y,img,muki,walking_flag;
>         st_Details_data ch_data[8];

> }st_chdata;
> はglobal.cppでのみ定義しています

ソースを見ると、global.hで定義されています。


> st_chdataの内容を1箇所で宣言してほぼすべてのcppで使用したい場合どうすればいいですか?

1カ所のファイルのみ
st_chdata chdata;
と宣言し、
他のchdataを使いたいファイルでは
extern st_chdata chdata;
と宣言する。

現状では、
実体を宣言しているものがない(すべてがexternになっている)

なお、関数Loadの中で宣言されているchdatは、ローカル変数であり、他のグローバル変数とは
別物です。


131ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(164,507ポイント)   Date: 2010/02/23(火) 09:36   No:48482     
Title: Re:構造体のグローバル宣言と使用について    
こうした問題を解消するには、次のようにするのが案外よかったりします。

inline st_chdata& refer_chdata()
{
    static st_chdata chdata;
    return chdata;
}

このインライン関数をglobal.hあたりで定義します。
こうすることのメリットは少なくありません。

・この中にブレークポイントを貼れば、どこからアクセスされているかを追跡できます。
・externを付けるものと付けないものを区別する必要がありません。
・非局所オブジェクトの初期化(および解体)順序に悩まされる心配がなくなります。

ただし、デメリットが無いわけではありません。
最大のデメリットは、マルチスレッド環境の場合、複数のスレッドから同時に初期化される危険性があることですが、必要に応じてDouble-checked Lockingでも使って解消してください(詳しくは説明しきれないので検索してください)。


2倍のポイントを手に入れた! 466ポイント を手に入れた。

Name: ti  ..初心者(6,516ポイント)   Date: 2010/02/23(火) 21:25   No:48516     
Title: Re:構造体のグローバル宣言と使用について    
nonさんたかぎさん書き込みありがとうござます

インライン関数はまだ自分には難しくてすぐには使えそうにないですね・・・
ある程度余裕できてきたらやってみます

>ソースを見ると、global.hで定義されています。 
これはたぶん自分の書き間違えです

関数のプロトタイプ宣言と構造体の定義?はヘッダでするようにしてますので

また質問なのですが

変数や構造体のグローバル使用のときは
一箇所でのみ(グローバル領域で)
st_chdata chdata; 

int Flg;
と宣言して他ではexternを付けて宣言すればいいのですか?



253ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(164,931ポイント)   Date: 2010/02/23(火) 21:54   No:48517     
Title: Re:構造体のグローバル宣言と使用について    
> インライン関数はまだ自分には難しくてすぐには使えそうにないですね・・・ 

食わず嫌いみたいなもんだと思います。
 編集済み


18ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(64,232ポイント)   Date: 2010/02/23(火) 21:57   No:48518     
Title: Re:構造体のグローバル宣言と使用について    
そうです。正確に言えば、実体は1つだけしか存在しません。

しかし、それだと他のファイルから参照できないので、extern宣言を記述する事で参照できるようになります。


72ポイント を手に入れた。

Name: ti  ..初心者(6,569ポイント)   Date: 2010/02/26(金) 02:34   No:48600 解決!     
Title: Re:構造体のグローバル宣言と使用について    
ありがとうございました
無事作成できました

>食わず嫌いみたいなもんだと思います。
すいませんでした


53ポイント を手に入れた。



Name: TKOZ  ..熟練のプログラマー(45,693ポイント)   Date: 2010/02/13(土) 15:36   No:48006       
Title: [雑談]いくつチョコレート貰えましたか?    
TKOZです。アンケート形式の雑談です。
1.友人、知人、知り合い、彼女などから、チョコレートは貰えましたか?
2.いくつ貰えましたか?
3.彼女はいますか?
3.その他意見があればどうぞ

私から書き込みます。
1.チョコもらえました。
2.今のところ1つです。
3.います。
4.プログラミングが趣味の彼女からチョコレートを貰いました。
  彼女は、C言語をDEA時代に習い覚えたそうです。
  彼女の容姿ですが、私が見た限り、きれいです。


27ポイント を手に入れた。


Name: Tororo  ..入門者(2,617ポイント)   Date: 2010/02/13(土) 16:18   No:48010     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1 もらえました^^;
2 3個(ALL義理w)
3 居るわけないですよ〜 小学生ですよw
4 卒業まで一ヶ月を切った=中学生=勉強大切=3年間勉強漬け=3年間プログラム卒業・・・
  泣きそうです><


96ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(51,325ポイント)   Date: 2010/02/13(土) 17:24   No:48012     
Title: Re:[雑談]いくつチョコレート貰えましたか?    

1.職場でもらえました(配布?
2.バラ売りなんで数えてないです 
3.2次元ならいます
4.彼女?なにそれ?おいしいの?

 編集済み


67ポイント を手に入れた。

Name: PEGASUS  ..ぴよぴよ(230ポイント)   Date: 2010/02/13(土) 17:57   No:48017     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.もらえたというのだろうか
2.姉の試作品 のみ!
3.欲しいなぁ。
4.↑誰か紹介してよ。なんて


34ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(160,189ポイント)   Date: 2010/02/13(土) 18:02   No:48018     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
まだ明日ですからね。
ところで、中国製の原料(ミルクなど)を使っているチョコレートは怪しいので要注意です。
バレンタインデーに毒(メラミンとか...)を盛られてはたまったもんではありませんね。


53ポイント を手に入れた。

Name: Tororo  ..入門者(2,630ポイント)   Date: 2010/02/13(土) 19:23   No:48020     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>たかぎさん
怖いこと言わないでくださいw


13ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,148,559ポイント)   Date: 2010/02/13(土) 21:34   No:48023     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.もらえたと言えばもらえた・・ 
2.一つ 
3.見渡す限り男だらけの職場ですorz 
4.自分から行動しないとずっとこのままな気がします・・;

>tororoさん

小学生で3つってすごいですね!
私の時は小学生でチョコなんてもらってなかったような・・。


73ポイント を落としてしまった。

Name: ムンバ  ..プログラマー(27,732ポイント)   Date: 2010/02/13(土) 21:47   No:48026     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.職場でも帰宅してからも、もらってません。(涙  
2.今の所、0個です。  
3.嫁が1匹居ます。w 
4.何で、今年はバレンタインが日曜日なの〜っ?

>たかぎさん 
怖いこと言わないでください。^^


79ポイント を手に入れた。

Name: あ〜る  ..上級者(16,368ポイント)   Date: 2010/02/13(土) 23:23   No:48031     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1、お母さんから貰った!!
2、え…16個?
3、嫁がたくさんw
4、たかぎさんがコワイ(笑)

彼女が欲しい、切実に
まぁ今はゲーム作りですかねぇ^^

>>TKOZさん
リア充乙w 編集済み


83ポイント を手に入れた。

Name: ムンバ  ..プログラマー(28,475ポイント)   Date: 2010/02/13(土) 23:53   No:48032     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.嫁のお母さんから、先程頂きました〜♪   
2.今の所、1個です。   
3.嫁が1匹、帰宅しました。(本人から、チョコ気配無し?w) 
4.糖尿病には、なりたく無いけど
 この日ばかりは、たくさん欲しいですね〜♪

16個〜〜〜?
嫁がたくさん〜〜〜?・・・無しっ!www

明日に期待ですっ!
お邪魔しました。おやすみなさい!(∪。∪)。。。zzzZZ



119ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(120,742ポイント)   Date: 2010/02/14(日) 01:07   No:48035     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.嫁からイブチョコをもらいました。   
2.1個です。   
3.嫁が明日、サプライズ・チョコをくれるみたいです。 
4.毎年、食べるのに気が引けるサプライズ・チョコをもらうので、ある意味楽しみです。
カメ好きの私に、リアルなカメのチョコとか。可愛くて食えん・・・。最終的に食いますけどね。


82ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(160,142ポイント)   Date: 2010/02/14(日) 01:16   No:48036     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
> たかぎさんがコワイ(笑)

怖いのは私ではなく、毒入り食品を蔓延させている国です。
http://jp.reuters.com/article/worldNews/idJPJAPAN-13772920100208


47ポイント を落としてしまった。

Name: Ma  ..熟練のプログラマー(49,147ポイント)   Date: 2010/02/14(日) 03:06   No:48038     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>1.友人、知人、知り合い、彼女などから、チョコレートは貰えましたか? 
あれ、バレンタインっていつだったっけ?(笑


>2.いくつ貰えましたか? 
明日、もらいますよ。(たぶん。


>3.彼女はいますか? 
画面の中に嫁が(ry


>3.その他意見があればどうぞ 
ちくしょう、大学生になったら作ってやるさ。
てゆーか、日本女子と会話する機会が一日一回あるかどうかぐらいな生活ってどうなの。

小学生のころは、最高で3,4個もらってたきがしたなー。
全部義理だったろうけど。


167ポイント を手に入れた。

Name: Tororo  ..入門者(2,674ポイント)   Date: 2010/02/14(日) 10:11   No:48040     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>>Dixqさん
自分の妹、妹の仲良くしてあげている子、大の仲良しの子の妹の3人ですよw
全員年下&義理w


44ポイント を手に入れた。

Name: lbfuvab  ..プログラマー(25,023ポイント)   Date: 2010/02/14(日) 13:48   No:48048     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1 親から貰えました
2 1つです
3 エヴァの綾波です。
4 リア充爆発しろw


1ポイント を落としてしまった。

Name: たかぎ [URL]  ..ハッカー(160,187ポイント)   Date: 2010/02/14(日) 14:16   No:48050     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1. 妻と娘と義妹からもらいました。
2. 3個
3. 妻がいます。
4. 今日はチョコレートが朝食になってしまいました。



45ポイント を手に入れた。

Name: Mikan [URL]  ..中級者(11,250ポイント)   Date: 2010/02/16(火) 12:57   No:48127     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.もらいました。
2.2個(祖母と母)
3.妻がいます。
4.妻は毎年くれませんOTL


42ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(51,026ポイント)   Date: 2010/02/16(火) 13:36   No:48128     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>妻は毎年くれませんOTL 
お願いしてみたらどうでしょうか?w


22ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(135,400ポイント)   Date: 2010/02/16(火) 15:10   No:48140     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1 一応もらいました
2 3個
3 いません


確かに、創意工夫されたチョコはうれしいのですが、
返すのが非常に面倒です。。
これを言い訳に、去年は、
「忙しくて(ホワイトデー)お返し出来ないけど、今度ご飯ごちそうするよ!」

早急に無理やり予約を入れられ、がっつり奢らされる

結局クッキー返した方が安かった・・・

なんて事になったんで、今年は返そうと思いますが、
なんだか、小洒落た洋菓子のお店って苦手なんですよね。。
何を買ったらいいのやら。

PS.家にあったロイズのチョコがダントツでおいしかったです。


256ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(160,502ポイント)   Date: 2010/02/16(火) 15:20   No:48141     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
> 何を買ったらいいのやら。

やはり、中国製の原料を使っていない安全な食品でしょう。


20ポイント を手に入れた。

Name: ouh  ..入門者(4,300ポイント)   Date: 2010/02/16(火) 18:12   No:48156     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
常連さんばかりの中、お邪魔します

1.もろた。
2.2つ。妹と、しょっちゅう職場に遊びに来てるミュージシャンの卵(決して私のところに来ているわけではありません、チクショウ)からもらえました。母はくれませんでした。姉もくれませんでした。
3.4年ほど前まで嫁がいました。
4.もはや女性の肌の感触を忘れました。


お下品失礼。


2倍のポイントを手に入れた! 214ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(135,355ポイント)   Date: 2010/02/17(水) 00:12   No:48161     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
> やはり、中国製の原料を使っていない安全な食品でしょう。 

せっかくくれたので、さすがに数百円のお菓子を返すのは気がひけますが、
もし表示があるものを買うならば、原料表示には注意しておきます。


45ポイント を落としてしまった。

Name: Mikan [URL]  ..中級者(11,315ポイント)   Date: 2010/02/17(水) 08:14   No:48167     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
Maさん
>お願いしてみたらどうでしょうか?w

お願いするなんて、考えてもみなかったーw(マジ
来年あたりそうしてみます^^;


65ポイント を手に入れた。

Name: ft [URL]  ..中級者(13,818ポイント)   Date: 2010/02/17(水) 13:39   No:48174     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
0個です
去年も0個でした
その前もそんな気がしました
その前の前も、その前の前の前もそうでした
これからもそんな感じがします
それでも僕は今を生きている


19ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(51,250ポイント)   Date: 2010/02/18(木) 08:59   No:48183     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>ft さん
>0個です 
>去年も0個でした 
>その前もそんな気がしました 
>これからもそんな感じがします 
>それでも僕は今を生きている

自分は結構もらいましたよーかわいい子から本命とかー。
うらやましいだろう、そうだろう、ぐははは。
まぁ、もらっても食べれないんですけどね。


画面からチョコは出てきませんからね。。。。  orz
それでも僕らは生きています。^^


113ポイント を手に入れた。

Name: あ〜る  ..上級者(16,429ポイント)   Date: 2010/02/18(木) 09:43   No:48185     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>>ftさん
同士よ
気に病む事はない。いつか、いつかきっと……

>>Ma
お 前 は 俺 を 怒 ら せ た   編集済み


61ポイント を手に入れた。

Name: Dixq (管理人)  ..ウィザード(1,148,704ポイント)   Date: 2010/02/18(木) 12:27   No:48188     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>Maさん

ちょww



私は1個でした〜。
しかも姉貴にもらった…。
ちゃんともらったのはここ何年ないだろう…。

このままでいいのか〜!?
と思いながら今を生きてます。


74ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(51,405ポイント)   Date: 2010/02/18(木) 15:43   No:48191     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>>Maさん

>画面からチョコは出てきませんからね。。。。  orz
もっと具体的にキャラ名とか、どんな装飾されてるチョコとか
どういうふうにもらっている状況なのか
画像ファイルで表現するとどんなのか
書いてくれると助かります


63ポイント を手に入れた。

Name: MNS  ..プログラマー(31,395ポイント)   Date: 2010/02/18(木) 17:29   No:48198     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.もらえませんでした。
2.0個ですね。
3.いません・・・。
4.なんだかんだで貰えていた小学生の時が懐かしいです。
  そもそも、男子校に通っていること自体がダメなんでしょうけど。


67ポイント を手に入れた。

Name: あ〜る  ..上級者(16,451ポイント)   Date: 2010/02/18(木) 22:38   No:48213     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>>dicさん
ちょwwwワロタwwwww

>>MNSさん
こんなとこにも同士がwww
僕も男子校です
でも小学生の頃ですら親以外から貰った覚えがありません、羨ましい…orz
今年は親に「男子校だから貰えないってのは言い訳にならない」と言われたんで逆チョコに挑戦しましたw
あ〜る君がんばります、ホワイトデーが楽しみです
MNSさんも一緒に頑張りましょう!!


2倍のポイントを手に入れた! 22ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(52,702ポイント)   Date: 2010/02/19(金) 06:20   No:48228     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>もっと具体的にキャラ名とか、どんな装飾されてるチョコとか 
>どういうふうにもらっている状況なのか 
>画像ファイルで表現するとどんなのか 
>書いてくれると助かります 

一年に一度のバレンタイン、ちょっと期待しながらもどうせもらえないと思いながら学校に登校してました。
朝、教室について授業の準備をしていると机の中にちょっと可愛いピンク色のメモ用紙が一枚入っているのに気づいた。
そこには一言、


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   昼休み、裏庭にきなさいよね。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                     
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


そうかかれていた。
まさか、あのツンツンに限ってなー。

授業にあまり集中できず、あっという間に昼休みになり、行ってみると、
彼女は開口一番、

「絶対勘違いするんじゃないわよ!」

といきなり怒って、腕で僕の胸をどついてきた。
「えぇ?」
と、僕は混乱するしかない。
なにか怒らせるような事をした覚えはない。

よくよく見ると、その手にはチョコクッキーが入った袋が握られていた。

かがみ「だ、だから勘違いしないで!・・・本命なんかじゃないんだからね。」

(〃▽〃) 

かがみ「だからぁ〜!も、もぅ、いい。」
といって、顔を赤くしたまま校舎のほうに走り去ってしまった。
あ、今度はちょっと怒らせてしまったかも。と思いながら、僕の2828はとまらないのであった。




本命じゃなきゃわざわざ校舎裏まで呼び出さないですよねー。あはははは。



駄文失礼しました。
ツンデレ大好きですよ!
って、これは古すぎかな。




ところで、管理人さん。ここでのタグって何が使えるんでしょうか?
他の方でもご存知の方がいるなら、よければ教えてください。
small は使えたみたいです。 編集済み


2倍のポイントを手に入れた! 1,320ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(57,404ポイント)   Date: 2010/02/19(金) 08:50   No:48230     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
GJ!っていうか、朝っぱらから何やってんだいあんた。
アニメは見たことないのに、かがみの声で再生されるあたりがニコ中だな。


50ポイント を手に入れた。

Name: kerotan0820  ..上級者(24,145ポイント)   Date: 2010/02/20(土) 00:02   No:48256     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
1.いえ…
2.0…
3.いない…
3.小学1年〜中学1年まで0個。中学2年で初めてでありながらなんと5つもらいました。で、何今年
  0!? まぁ…俺には今までどおりの0がお似合いかな…そうだね…


60ポイント を手に入れた。

Name: ようすけ  ..中級者(11,786ポイント)   Date: 2010/02/25(木) 13:45   No:48566     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
(不適切なコメントであった為、管理人により削除されました)

82ポイント を手に入れた。

Name: 通りすがり  ..上級者(20,786ポイント)   Date: 2010/02/25(木) 13:52   No:48568     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
若い人が多いこの場でそういう話はどうなの?

23ポイント を手に入れた。

Name: ようすけ  ..中級者(11,815ポイント)   Date: 2010/02/26(金) 00:52   No:48599     
Title: Re:[雑談]いくつチョコレート貰えましたか?    
>通りすがり

もっとワイワイいこうぜ(●^o^●)
  


29ポイント を手に入れた。



Name: ジャレミー  ..ぴよぴよ(200ポイント)   Date: 2010/02/25(木) 22:47   No:48585       
Title: C言語入門書の演習で・・・    
初めまして、3日前ほどから勉強し始めた初心者なのですが、早速演習で詰まってしまったために質問しに来ました・・・

演習
下に示すように、二つの整数値を読み込んで、前者の値が後者の何%であるかを表示するプログラムを作成せよ。

二つの整数を入力してください。
整数A:54
整数B:84
Aの値はBの64%です。


一応二つの整数の表示・入力方法は理解してます。
%で値を表示する方法がわかりません。
よろしければご教授お願いいたします。


200ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,157,076ポイント)   Date: 2010/02/25(木) 23:00   No:48587     
Title: Re:C言語入門書の演習で・・・    
> ジャレミーさん

初めまして、こんばんは。管理人です^^
これから勉強されるのですね、難しい事も多いと思いますが、頑張ってください☆

さて、実装方法は沢山ありますけど、double型などの「実数」に関することは勉強されていますか?
とりあえず今回は整数のみで計算できる方法を試してみましょうか。

まず入力関連は置いておきましょう。
54と84という数値を用いて64%を表示させる方法について検討してみましょう。

%というのはどうやったら表示出来るでしょう?

Aが1
Bが2

ならAはBの50%だと解りますね?
これはどうやって解ったのでしょう?
今何らかの計算をご自分の頭でされたと思います。その計算式を式にあらわしてみましょう。
もう少しヒントをだすと

Aが1
Bが4

ならAはBの25%ですね。
どうでしょう。式が見えてきませんか?


176ポイント を落としてしまった。

Name: ジャレミー  ..ぴよぴよ(462ポイント)   Date: 2010/02/25(木) 23:12   No:48590     
Title: Re:C言語入門書の演習で・・・    
>管理人さん初めまして。これからお世話になるかと思います。
よろしくお願いします。

一応テキスト通りに進めていたところint型しか学習していないところでこの演習がでてきたので、int型で無理やり組んでみました。

#include<stdio.h>

int main(void)
{
    int n1,n2;

    puts("二つの整数を入力してください。");
    printf("整数A:"); scanf("%d",&n1);
    printf("整数B:"); scanf("%d",&n2);

    printf("Aの値はBの%d%%です。\n",(n1*100)/n2);


    return(0);


アドバイスの通り式を考えてみたのですが、不思議なことに…w
int型って整数しか扱えないんですね…これでいいのかな?


262ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,157,149ポイント)   Date: 2010/02/25(木) 23:23   No:48593     
Title: Re:C言語入門書の演習で・・・    
おぉ、こんなにも早く的確な答えが。
完璧じゃないですか、小数が扱えない時は、かける順番をかえたらいいって事、
私は3日で思いついたりしませんでしたよ^^;

しかも%を2つ並べて表示されているのも素晴らしい。

これからも頑張ってください☆


※付け加えるとしたら2回目に0が入力された時のエラー処理をしないといけない位でしょうか?


73ポイント を手に入れた。

Name: ジャレミー  ..ぴよぴよ(557ポイント)   Date: 2010/02/25(木) 23:25   No:48594     
Title: Re:C言語入門書の演習で・・・    
>管理人さん

これでいいのですね!
いやー、なんかとりあえず答え出るように無理やり組んでみたらこうなりましたw

%についてはテキストに注釈で書いてあるところがあったので覚えてました。


ありがとうございます!頑張ります!


95ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,157,356ポイント)   Date: 2010/02/25(木) 23:35   No:48595     
Title: Re:C言語入門書の演習で・・・    
さっきの投稿「※」欄付け加えておいたのですが、
プログラムでは「0で割ってはいけない」と言う事を常に頭に入れておかないといけないって事があるので、余力があれば覚えておかれるとよいと思いますよ^^
まぁ始めて3日目なら良いと思いますが、頭の片隅にでも入れておいてください。

大規模なプログラムが突然エラー落ちした・・その原因は沢山の計算過程の一つに0割があった・・なんてこともたまにあるので。


※ 何故0で割ってはいけないか?

a ÷ b = c

という方程式があったとしましょう。両辺にbをかけて

a = c × b

となったとしましょう。ここでa=1、b=0の時この方程式はどうなるでしょう?

1 = c × 0

が成り立つcを答えてください。そう、数学的に不可能なんですよね。
(またa=0ならば、cは何でもいいなんておかしな答えにもなります)
こういうのにもし興味があればこんな動画も面白いかも知れません^^

http://www.nicovideo.jp/watch/sm1324200


207ポイント を手に入れた。

Name: ジャレミー  ..ぴよぴよ(558ポイント)   Date: 2010/02/26(金) 00:25   No:48598 解決!     
Title: Re:C言語入門書の演習で・・・    
>管理人さん

プログラミングは数学的な要素が結構あるみたいですね…辛いなぁー。
エラー処理についてはまだ手が回らないところなのでとりあえずテキスト通り進行していきたいと思います。

0についてですが興味はありますが、頭が・・・w

とりあえず今回は解決できました!
ありがとうございました!


1ポイント を手に入れた。



Name: たかぎ [URL]  ..ハッカー(165,428ポイント)   Date: 2010/02/25(木) 17:46   No:48573       
Title: 【雑談】擬似プロセッサのプログラム    
http://www.play21.jp/board/formz.cgi?action=res&resno=48237&page=&id=dixq&rln=48476#48364
上記で少し話した擬似プロセッサですが、とりあえずある程度のコードが書けたのでアップロードしておきます(テストはまだ不十分です)。
ドキュメント(というよりたぶんスライド)はこれからですが、たぶん着手は3月後半になりそうです。

今回はC++のクラスを使って実装しています。
レジスタはbool型の配列としてビット単位で表現しており、加算は半加算器・全加算器のレベルから作り上げています。
シングルサイクルデータパスなので作りとしては簡単ですが、果たしてこのままで理解してもらえるのか、もっと簡略化しないといけないのか、落としどころをこれから探ることにします。

ところで、擬似プロセッサという名前はちょっと変で、本当は仮想プロセッサのほうがふさわしいのですが、別のものを想像しがちなのであえてこう呼んでいます。


375ポイント を手に入れた。


Name: sizuma [URL]  ..プログラマー(35,442ポイント)   Date: 2010/02/25(木) 22:02   No:48584     
Title: Re:【雑談】擬似プロセッサのプログラム    
参考にします。

現在プロセッサのアーキテクチャを勉強中なので、コレでどんな機能を実装するか考えて

SuperHプロセッサのアーキテクチャ
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-20260-7

出来るところまでやってみてからたかぎさんのものを読ませていただきます。
きじねこで紹介されてる擬似プロセッサPP0906はなるべく実装例を見ないで書きましたが、とてもわかりやすく簡単でよかったです!これならC言語を習ったばっかりの演習でも大丈夫ですね。
例外をどう表現するかは見なきゃわからなかったですけど。

本当はテキストファイルからCASLUの命令を読み込んで動かしたかったんですけど、ニーモニックを変換するのが面倒だから諦めました^^;


180ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(165,612ポイント)   Date: 2010/02/25(木) 23:55   No:48596     
Title: Re:【雑談】擬似プロセッサのプログラム    
> SuperHプロセッサのアーキテクチャ

SHはイミディエイト値をPC相対で指定するなど、ちょっとわかりにくくなっています。
慣れれば理解は問題ないでしょうが、アセンブリのコードを読みにくいのは確かですね。

> これならC言語を習ったばっかりの演習でも大丈夫ですね。 

ポインタさえわかることを前提にしていませんからね。
逆に、自分で作ってみればポインタが何なのか、手にとるようにわかるはずです。

> 例外をどう表現するかは見なきゃわからなかったですけど。 

今回のものはIRQも4本用意しましたし、それぞれマスクもできます。
さらにリセットやNMIもあります。
さすがに、キャッシュやパイプラインやスーパースカラは盛り込んでいませんが、今回のものを理解できれば、どんなCPUにでも応用が効くと思います。


184ポイント を手に入れた。



Name: レッドリ  ..ぴよぴよ(148ポイント)   Date: 2010/02/25(木) 20:06   No:48578       
Title: 48章で音を読み込むときに画面が固まってしまいます    
こんばんは、DXライブラリとVC++EE2008で龍神録を改造しています。
48章についてです。

2.7MBくらいのoggをボスの出現時に読み込んだら
1,2秒固まってしまいました。

これを無くす方法ってファイルのサイズを小さくするしかないのでしょうか?

因みにパソコンはメモリが3GBのやつをつかっています。

どうしてもわからないので
対処法を御存じの方おられないでしょうか? 編集済み


148ポイント を手に入れた。


Name: ひよこ  ..比類無きプログラマー(80,653ポイント)   Date: 2010/02/25(木) 20:26   No:48579     
Title: Re:48章で音を読み込むときに画面が固まってしまいます    
ストリーム再生をするといいかもしれません。

2ポイント を落としてしまった。

Name: レッドリ  ..ぴよぴよ(155ポイント)   Date: 2010/02/25(木) 20:45   No:48580     
Title: Re:48章で音を読み込むときに画面が固まってしまいます    
ストリーム再生はPlaySoundFileですよね?
PlaySoundFileを使ってみましたが、
やはり固まりました…。


7ポイント を手に入れた。

Name: ひよこ  ..比類無きプログラマー(80,690ポイント)   Date: 2010/02/25(木) 20:47   No:48581     
Title: Re:48章で音を読み込むときに画面が固まってしまいます    
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE ) ;
を使った後に音楽ファイルを読んでみたらどうでしょうか?


37ポイント を手に入れた。

Name: レッドリ  ..ぴよぴよ(178ポイント)   Date: 2010/02/25(木) 21:07   No:48582 解決!     
Title: Re:48章で音を読み込むときに画面が固まってしまいます    
できました!
ひよこさん、ありがとうございます!


23ポイント を手に入れた。



Name: レッドリ  ..ぴよぴよ(0ポイント)   Date: 2010/02/25(木) 11:35   No:48561       
Title: 龍神録のプログラム:ボムで敵ショットを消すには?    
こんにちは、DXライブラリとVC++EE2008で作っています。

私は龍神録で
大きなミサイルが何個も直線状に出るボムを作りました。

http://www.youtube.com/watch?v=TL-1lIzZbPM
この動画の1分10秒とほぼ同じようなボムです。

それで、問題が出てきました。
敵ショットと自機のボムを画像のように判定させようと思い、実装してみましたが上手くいきませんでした。
図は赤がミサイル、水色が敵のショットです。
1つのミサイルに複数の敵ショットが重なった場合、敵ショットを複数消したいのです。
龍神録では下記のようにコードを書いています。

//ショットx,ショットy,被弾物体x,被弾物体y,ショット範囲,被弾物体範囲,ショット速さ,ショット角度
//自機ボムと敵弾が当たったかどうかを判定する
int out_judge_cb_Ebullet(int k,int s,int n){
    if(bom.flag>0){//ボム中
        if(out_judge(
            effect[k].x,effect[k].x,  shot[s].bullet[n].x,shot[s].bullet[n].y,
            cbom_range[1],bullet_info[shot[s].bullet[n].knd].range,
            effect[k].spd,effect[k].mvang)){
            return 1;
        }
    }
    return 0;
}
void cshot_and_enemy(){
    int i,s,n,k;
    for(k=0;k<EFFECT_MAX;k++)
        if(effect[k].flag==2)//ボムはエフェクトのフラグを2にしています
        for(s=0;s<SHOT_MAX;s++)
            if(shot[s].flag>0)
                for(n=0;n<SHOT_BULLET_MAX;n++)
                    if(shot[s].bullet[n].flag>0)
                        if(out_judge_cb_Ebullet(k,s,n)==1)
                            shot[s].bullet[n].flag=0;

}


何度も試しても全然分かりませんでした。
どなたかお助けいただけないでしょうか?
どうかよろしくお願いいたします。 編集済み


658ポイント を落としてしまった。


Name: yu  ..熟練のプログラマー(42,395ポイント)   Date: 2010/02/25(木) 13:25   No:48565     
Title: Re:龍神録のプログラム:ボムで敵ショットを消すには?    
何がうまくいかなかったのか分かりませんが、とりあえず
if(out_judge(
            effect[k].x,effect[k].y

じゃないですか?


74ポイント を手に入れた。

Name: レッドリ  ..ぴよぴよ(2ポイント)   Date: 2010/02/25(木) 16:58   No:48572 解決!     
Title: Re:龍神録のプログラム:ボムで敵ショットを消すには?    
できました(笑)
yuさん、ありがとうございます。


2ポイント を手に入れた。



Name: rajan  ..ぴよぴよ(165ポイント)   Date: 2010/02/25(木) 07:34   No:48557       
Title: 無題    
c 言語 の みたい コンパイラ 作りたいん ですが 何も分からなくって 
教えて いただけませんか 
ラジャン


46ポイント を手に入れた。


Name: たいちう  ..熟練のプログラマー(57,851ポイント)   Date: 2010/02/25(木) 08:58   No:48560     
Title: Re:無題    
プログラミング以前に、日本語が不自由なようですね。
あなたの母国語で質問できる場所はないのですか?
あるいは日本語より英語が得意ならば、英語の掲示板で聞くとか。

一応私の持っている本を紹介しますが日本語で書かれているため、
ものすごく苦労されると思うのですが、、、

『コンパイラの理論と実現』
www.amazon.co.jp/dp/432002382X

# 質問が日本語を母国語とする日本人に書かれたとしても、
# このレベルでは書籍を読んで理解することに苦労するであろうことは
# 変わりありません。


133ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,572ポイント)   Date: 2010/02/25(木) 12:43   No:48562     
Title: Re:無題    
すてIDでしょ
相手するだけ無駄ですよ


15ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(58,169ポイント)   Date: 2010/02/25(木) 12:59   No:48563     
Title: Re:無題    
> すてIDでしょ
> 相手するだけ無駄ですよ

気になって過去ログを少し調べてみると、捨てハンではないみたいでした。
でも確かにレスは期待できないでしょうね。

www.play21.jp/board/formz.cgi?action=res&resno=40724&page=&lognum=125&id=dixq&rln=40725
www.play21.jp/board/formz.cgi?action=res&resno=40860&page=&lognum=125&id=dixq&rln=40875
www.play21.jp/board/formz.cgi?action=res&resno=42363&page=&lognum=130&id=dixq&rln=42365


2倍のポイントを手に入れた! 318ポイント を手に入れた。

Name: 通りすがり  ..上級者(20,763ポイント)   Date: 2010/02/25(木) 13:50   No:48567     
Title: Re:無題    
そんなスレにもレスが付くのがこの掲示板のいいところ。
規約にも書いてあるしね


27ポイント を手に入れた。



Name: 真由美  ..ぴよぴよ(21ポイント)   Date: 2010/02/24(水) 17:17   No:48536       
Title: VC++,netでの印刷について    
VC++.netでメモ帳の様な印刷機能をつけたいのですが
やり方がわかりません。
MSDNのサイトをみてプリントプレビューをしたり
ドキュメントを作る?ようなのですがイマイチ理解できませんでした。

クラスや関数といった概念は理解しております。

申し訳ないのですがボタンをクリックした後にどうすればよいのか
サンプルを書いては頂けないでしょうか?


21ポイント を手に入れた。


Name: バグ  ..ハッカー(190,303ポイント)   Date: 2010/02/24(水) 17:34   No:48537     
Title: Re:VC++,netでの印刷について    
MSDNをざっと見ただけですが、PrintPageイベントハンドラ内で印刷したい内容を描いて(この作業がPrintDocumentの編集にあたります)やり、PrintDialogのDocumentメソッドへ割り当ててやればいいみたいですね。

Paintイベントでのグラフィック描画の方法は分かりますか?基本的にはそれと同じ方法のようですよ。


141ポイント を手に入れた。

Name: 真由美  ..ぴよぴよ(0ポイント)   Date: 2010/02/24(水) 17:49   No:48538     
Title: Re:VC++,netでの印刷について    
バグ様
ご回答ありがとうございます。
色々調べてみたのですが
PrintPageイベントハンドラなどについて全くわかりませんでした。
サンプルソースの様なモノもあり実行してみたのですが
エラーは出ないものの何も起こらなかったりと・・・。




90ポイント を落としてしまった。

Name: pooka [URL]  ..上級者(21,663ポイント)   Date: 2010/02/25(木) 01:54   No:48554     
Title: Re:VC++,netでの印刷について    
印刷機能のみですが、サンプルを作ってみました。

21ポイント を手に入れた。

Name: 真由美  ..ぴよぴよ(144ポイント)   Date: 2010/02/25(木) 02:11   No:48555     
Title: Re:VC++,netでの印刷について    
pooka様
ご回答ありがとうございます。
こんなに遅くまで付き合って頂いてありがとうございました。

出来ました〜!!ありがとうございます。
私のソースの差分とみて何が足りないかを見させて頂きました。

また別の質問になってしまい申し訳ないのですが
VS2005を使っているのですがツールボックス?みたいなやつでは作れないんですよね?
いつもボタンなどはドラックアンドドロップして作っているので・・・。

本当に助かりました。


144ポイント を手に入れた。



Name: kerotan0820  ..プログラマー(25,564ポイント)   Date: 2010/02/24(水) 21:43   No:48541       
Title: for文    
皆様お久しぶりです
先日、高校の一次試験(都立)を終え、一息つけましたので、久々にプログラミングをやっています
都立問題の四角1に、以下のような問題がありました
(確立問題のちょっと違う形?のような問題ですw)

[問7]
1から6までの目の出る大小1つずつのさいころを同時に1回投げる。
大きいさいころの出た目の数をa,小さいさいころの出た目の数をbとするとき、
bがaの倍数となる目の出方は全部で何通りあるか。

簡単な問題なのですが、プログラムに直すとうまくいかないのです
(ちなみに、入試でこの問題は間違えましたw難しく考えすぎて意味の分からない回答を書いてしm..(ry )
このようなプログラムを組みました
#include<stdio.h>
int main(void){
    int a,b,A;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){
            A=a+b;
            if(b/A==0){
                printf("bはaの倍数です\n");
            }
        }
    }
return 0;
}

私の考え方としては、サイコロ(a)とサイコロ(b)を投げたと想定します 全パターンの計算をするために二重ループを使い、1*1から6*6まで計算するように組みました サイコロ(b)の数が、サイコロ(a)の倍数であるのは何通りか、ということは、 A=a+bとして、bをAで割ればよいのではと考えました。割り切れたのであればbはaの倍数といえますからね。 割り切れた際は "bはaの倍数です" と表示するようにしました 結果上記のようなプログラムで実行してみました すると、25個表示されました 何が問題なのでしょうか…; それと、自分の知らない技術なのかも分かりませんが、"bはaの倍数です"とたくさん表示するのも良いのですが、bがaの倍数であったパターンが何パターンなのか文字で表示することは出来ないのでしょうか 単純に、"bはaの倍数です" と表示するのではなく、aがbで割り切れる限り変数 I に1を加算し続け、それを表示するようにしてみました
#include<stdio.h>
int main(void){
    int a,b,A,I=0;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){
            A=a+b;
            if(b/A==0){
                I++;
                printf("%d 通り\n",I);
            }
        }
    }
return 0;
}

ですが、これだと1通りです 2通りです 3通りです 4通りです... 、と表示されるだけです…;
最終結果だけ表示するにはどのようなプログラムを組めばよいのでしょうか


□追記□
文@ <pre>〜</pre> 文A<pre>〜</pre> 文B
このような形で投稿すると文Aの改行が効かなくなるのですが、原因は何なのでしょうか 編集済み


812ポイント を手に入れた。


Name: ぽこ  ..初心者(7,093ポイント)   Date: 2010/02/24(水) 21:57   No:48542     
Title: Re:for文    
1行移動させるだけでは?

----
#include<stdio.h>

int main(void){
    int a,b,A,I=0;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){
            A=a+b;
            if(b/A==0){
                I++;
            }
        }
    }
    printf("%d 通り\n",I);
    return 0;
}



172ポイント を手に入れた。

Name: MNS  ..プログラマー(33,207ポイント)   Date: 2010/02/24(水) 22:00   No:48543     
Title: Re:for文    
受験ですか、公立中学の方々は大変ですね。

私は別に数学に秀でているわけではないのですが、bがaの倍数ということは、つまり、
b = ax (xは整数) ということになるのでしょうが、
はたして、b÷(a+b)が割り切れれば、bはaの倍数といえるのでしょうか?
そもそも、b<a+bですから、商が整数になる、ということにはならないと思います。

そんなに難しく考えず、bがaの倍数ということは、つまり、bをaで割った余りが0ということです。
割った余りを求める演算子は%ですから、つまり、b%aが0となれば、bはaの倍数ということになります。
これをプログラムするのは非常に簡単で、
if(b%a==0) これが満たされれば、bはaの倍数であるということです。
なので、変数Aは消去し、判定部分( if(b/A==0) )をif(b%a==0)に置き換えれば良いです。

>最終結果だけ表示するにはどのようなプログラムを組めばよいのでしょうか
これも非常に簡単に実装できます。

これを
#include<stdio.h>
int main(void){
    int a,b,A,I=0;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){
            A=a+b;
            if(b/A==0){
                I++;
                printf("%d 通り\n",I);
            }
        }
    }
return 0;
}

こうすればよいです。
#include<stdio.h>
int main(void){
    int a,b,A,I=0;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){
            A=a+b;
            if(b/A==0){
                I++;
            }
        }
    }
    printf("%d 通り\n",I);
    return 0;
}

たくさん表示されてしまった理由は、printfがforループ内にあったので、計25回実行されてしまうからです。
よって、forループ外にprintfを出せば、一回だけ実行されるようになります。


760ポイント を手に入れた。

Name: box  ..ハッカー(150,893ポイント)   Date: 2010/02/24(水) 22:07   No:48544     
Title: Re:for文    
> if(b%a==0) これが満たされれば、bはaの倍数であるということです。

> こうすればよいです。
>             if(b/A==0){

食い違っていますね。
修正されたというコードを、ご自分のところでテストされましたか?


28ポイント を手に入れた。

Name: MNS  ..プログラマー(33,305ポイント)   Date: 2010/02/24(水) 22:16   No:48545     
Title: Re:for文    
>boxさんへ
実行はしていませんが、
上と下の質問は切り離して回答しているつもりです。

と、いうよりは、やはりコードは自身の力で完成させて欲しかったのです。
誤解を生んだのであれば、申し訳ありません。


98ポイント を手に入れた。

Name: box  ..ハッカー(150,848ポイント)   Date: 2010/02/24(水) 22:55   No:48546     
Title: Re:for文    
> コードは自身の力で完成させて欲しかったのです。

だとすると、実行結果が仕様を満たしていないコードを載せるより、
文章による説明だけで十分だったのではないかと思います。


45ポイント を落としてしまった。

Name: kerotan0820 [URL]  ..プログラマー(25,864ポイント)   Date: 2010/02/24(水) 22:59   No:48547     
Title: Re:for文    
□ぽこ様
有難うございます^^
ループに入っているから繰り返されてるということにも気づかなかった自分が情けないです;
回答有難うございました

□MNS様
なるほど… 
修正してみた結果、10通りと表示されてしまいます
原因が何か分からないのでご指導お願いします
#include<stdio.h>
int main(void){
    int a,b,A,I=0;
    for(a=1; a<6; a++){
        for(b=1; b<6; b++){         
            if(b%a==0){
                I++;
            }
        }
    }
    printf("%d 通り\n",I);
    return 0;
}


□box様
結果が25になる理由と、ループされている理由を別件として扱って下さったのでしょうね^^;
一緒にしてしまったら答えそのものになってしまいますからねw


300ポイント を手に入れた。

Name: MNS  ..プログラマー(33,575ポイント)   Date: 2010/02/24(水) 23:04   No:48548     
Title: Re:for文    
そうですね。
たとえば、これを
for(a=1; a<6; a++){
    for(b=1; b<6; b++){         
        if(b%a==0){
            I++;
        }
    }
}

こう変えてみてください。
for(a=1; a<6; a++){
    for(b=1; b<6; b++){         
        if(b%a==0){
            printf("%dは%dの倍数です。\n", b, a);
            I++;
        }
        else
            printf("%dは%dの倍数ではありません。\n", b, a);
    }
}

そして、出力された文を見て、おかしな点を探してみてください。
きっとすぐ気づくと思います。


>boxさんへ
はい、おっしゃる通りなのですが、
私は説明が下手な人間なので、いまいちうまく伝わるか不安だったのです。
別件で扱っていることを明記すべきでしたね。申し訳ありません。


270ポイント を手に入れた。

Name: ぽこ  ..初心者(7,121ポイント)   Date: 2010/02/24(水) 23:08   No:48549     
Title: Re:for文    
正しい答えは求めていませんが、
サイコロのは1〜6なのに、ループは1〜5までしか
回してないからでは?


28ポイント を手に入れた。

Name: kerotan0820 [URL]  ..プログラマー(25,904ポイント)   Date: 2010/02/24(水) 23:16   No:48550 解決!     
Title: Re:for文    
□MNS様
a<=6にしたところ解決しました^^

□ぽこ様
その通りですw
単純なミスでした;


40ポイント を手に入れた。



Name: 志保  ..ぴよぴよ(167ポイント)   Date: 2010/02/23(火) 15:55   No:48494       
Title: iphoneアプリについて    
ここで質問することではないのかと思うのですが
詳しい方が多そうですので場所をお借りさせて下さい。

わからないことが何点か御座います。

iphoneとiPodtouchの違い
私の中では電話が出来るか程度の違いしかないのですが
iphone用に作ったゲーム等はtouchでは出来ないのでしょうか?

開発環境について
開発環境はMacでしか出来ないと聞いたのですが
Macをもっていなく作れるかわからないのに
購入するのは気が引けます。
Windowsでは絶対に出来ないのでしょうか?


167ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(164,913ポイント)   Date: 2010/02/23(火) 16:18   No:48495     
Title: Re:iphoneアプリについて    
> Windowsでは絶対に出来ないのでしょうか? 

「絶対に」できないか? といわれると、少なくとも技術的にはできないことはありません。
あとはライセンス上の問題ですが、これもアップルと独自に契約するなど、いくらでも手の打ちようはありますので、「絶対に」できないなどということはありません。
ただし、素直にMacを購入する方が(いろいろな意味で)安上がりだとは思います。


135ポイント を手に入れた。

Name: Justy  ..伝説なるハッカー(501,698ポイント)   Date: 2010/02/23(火) 16:52   No:48496     
Title: Re:iphoneアプリについて    
>電話が出来るか程度の違いしかないのですが
 どの世代かで細かいスペックは(iPhone同士、iPod touch同士でも)
諸々違いますが、大きいところではカメラの有無、GPS(+コンパス)の
有無が挙げられます。


>iphone用に作ったゲーム等はtouchでは出来ないのでしょうか
 iPod touch用も iPhone用も、iPad用も SDKは同じで、同じ APIが使用できます。
 従って、カメラを使わない、GPSを使わない等、iPhoneにしかない機能を
使わなければ iPhone用に作っても iPod touchで動作します。


>開発環境はMacでしか出来ないと聞いたのですが 
 Windows + cygwinで出来るという話は聞いたことがありますが、
たしか“ごにょごにょ”しないと出来かったはずなので、事実上そのままでは
Appleへのアプリ提出は無理だと思います。

 どうしても Windowsでということでしたら今年中に発売される Flash Professional CS5
という選択肢があります(今βテスト中だったような)。

Adobe Labs - Adobe Flash Professional CS5: Application for iPhone
http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

Flashコンバータ:Adobe、iPhoneアプリを作れる「Flash Professional CS5」発表 - ITmedia News
http://www.itmedia.co.jp/news/articles/0910/06/news016.html


 新規で購入するとなると(アカデミック版ならともかく) Macを購入するのとさほど
変わらないかもしれませんね。


124ポイント を手に入れた。

Name: 志保  ..ぴよぴよ(208ポイント)   Date: 2010/02/24(水) 17:09   No:48535     
Title: Re:iphoneアプリについて    
お二方とも回答ありがとうございました。
素直にMacを買おうかと思いますww
ありがとうございました。


41ポイント を手に入れた。



Name: LUNA  ..初心者(6,154ポイント)   Date: 2010/02/23(火) 10:19   No:48483       
Title: セーブデータのロード    
お久しぶりです。LUNAです。(もう覚えている人はいないでしょうが)
今回、C++と、DXライブラリを使い、学校の進級制作でグループでゲームを作っています。その内容は、RPGの様なパラメーターの成長要素を盛り込んだアクションゲームで今自分はそのセーブロードを作っています。しかし、主人公のパラメータの保存は出来ても、ファイルからロードした値を数値に変換してキャラクタークラスの変数に代入出来なくて困っています。
言葉で伝えにくいのですが、大まかな感じはこうです。

セーブデータをロード時にファイルに保存されている値を数値に変換

関数の引数(予め作られたキャラクターのクラス内の一部の変数)に代入。

自分はファイル内の値を数値に戻す方法まではわかるのですが、保存されている値は最終的に桁がバラバラ(一の桁から万の桁まで)な値が幾つも出てくるので、それぞれに合わせて代入するのが分からなくなってしまいます。     
**********************************************
以下プログラム(セーブ、ロード関連)
**********************************************
#include"file_in_out.h"
#include"mych.h"
//------------------------------------------------------
//キャラクターのパラメータ関連
//------------------------------------------------------
void chardate::save_chardate(mych player_st){      //キャラクタークラス内のステータスパラメータの保存
    char fname[]="char_date.txt";
    FILE *fp;
    fp = fopen(fname,"w");

    if(fp!=NULL){
        fprintf(fp,"%d\n%d\n",player_st.speed,player_st.jp);                //ファイル出力処理
    }

    fclose(fp);                //閉じる

}
//--------------------------------------------------------------------------------
//今現在ここで詰んでる。
//--------------------------------------------------------------------------------
void chardate::load_chardate(mych *load_player_st){        //ファイル内に入っているキャラクターのパラメータをロードして引数のキャラクタークラスに代入する
    char fname[]="char_date.txt";
    char PLAYER_ST[2][5];
    int i=0;
    FILE *fp;
    fp = fopen(fname,"r");
    if(fp!=NULL){
                      //ここでファイルの中身の文字列を数値(int)に変換
                                            //引数であるキャラクターのクラスの一部の変数に代入
                                            //
    }
    fclose(fp);

}
//------------------------------------------------------
//マップデータの読み込み
//------------------------------------------------------

void mapdate::load_mapdate(){
}


//------------------------------------------------------
//システムデータ関連
//------------------------------------------------------

void game_systemdate::save_systemdate(){
}


void game_systemdate::load_systemdate(){
}

**********************************************
マップデータの読み込みとシステムデータ関連の部分はまだ作ってないので何も書いてありません。



添付ファイルはロード対象のファイルで、中には保存された値が入っています。
どうか、知恵を貸していただけたら幸いです。


138ポイント を手に入れた。


Name: non  ..比類無きプログラマー(95,988ポイント)   Date: 2010/02/23(火) 10:48   No:48485     
Title: Re:セーブデータのロード    
お尋ねの意味がわかりません。
添付されたデータ
4
15
2181
99999
3
2
の6個の数値はchar_date.txtの内容なのでしょうか?
しかし、save_chardateの関数では、データを2個しか保存していないようです。
これが、なぜ、6個になっているのでしょうか?

load_chardateでデータを読むのに
fscanfでデータ個数読めばいいと思うのですが、何が問題なのでしょうか?
クラスを示してもらわないと、何という変数に読めばいいのかは、わかりません。
char PLAYER_ST[2][5];も、何なのかわかりませんし・・・



240ポイント を手に入れた。

Name: LUNA  ..初心者(6,668ポイント)   Date: 2010/02/23(火) 11:18   No:48486 解決!     
Title: Re:セーブデータのロード    
やっぱり分りづらかったでしたか。すみません。添付ファイルは仰る通り、char_date.txtです。の中に書かれている数値は最終的にそれくらいのデータが入る感じで、データを増やしました。セーブのところは関係ないです。
char PLAYER_ST[2][5] は試行錯誤した時の残骸で削除し忘れていました。本当にすみません。



>>fscanfでデータ個数読めばいいと思うのですが

fscanfついてググってみましたが、こんな便利なものあったんですね・・・ずっとfgetcで一文字づつ取り出して用意しておいた配列に代入して、文字の'0'から取り込んだ数値を引いた数で変換して・・・なんて方法とっていたので気がつきませんでした。
アドバイスありがとうございます。


251ポイント を手に入れた。

Name: LUNA  ..初心者(6,718ポイント)   Date: 2010/02/23(火) 12:01   No:48487 解決!     
Title: Re:セーブデータのロード    
fscanfの存在のおかげで簡単に出来ました。本当にありがとうございます。
(・・・4日間も悩んだのに・・・(汗))


50ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(164,700ポイント)   Date: 2010/02/23(火) 12:06   No:48488     
Title: Re:セーブデータのロード    
> fscanfついてググってみましたが、こんな便利なものあったんですね・・・

さらにいえば、std::ifstreamを使えばもっと便利です。

std::ifstream ifs(fname);
int value;
ifs >> value;
if (ifs.fail())
{
  // エラー処理
  ifs.clear();
}

のようにすればOKです。通常、クローズする必要すらありません。
fscanfと比べて圧倒的に有利なのはエラーチェックができることです。
fscanfでは、入力した整数値がオーバーフローしても検出する術がありません。
ほかに、std::stringに対して直接入力できるといった利点もあります(文字配列の大きさを気にしなくて済みます)。


193ポイント を手に入れた。

Name: デフォルトの名無しさん  ..ぴよぴよ(36ポイント)   Date: 2010/02/23(火) 14:35   No:48490     
Title: Re:セーブデータのロード    
> fscanfでは、入力した整数値がオーバーフローしても検出する術がありません。
C++ 2003 の時点では istream による数値入力も fscanf() に基づいて動作が
定められているので、どちらも同じなのでは?

次期規格改訂で strto*() を用いる動作に修正されるようです。
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#23


36ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(164,778ポイント)   Date: 2010/02/23(火) 15:25   No:48493     
Title: Re:セーブデータのロード    
> C++ 2003 の時点では istream による数値入力も fscanf() に基づいて動作が 
> 定められているので、どちらも同じなのでは? 

規格上は確かにそうなんですが、主だった実装ではエラーが検出できるようになっています。
DXライブラリを利用可能な処理系に限れば、実際にエラー検出も出きますし、移植性の問題もありません。
一方で、scanf系関数の場合は本当にダメです。


78ポイント を手に入れた。

Name: デフォルトの名無しさん  ..ぴよぴよ(99ポイント)   Date: 2010/02/24(水) 01:39   No:48527     
Title: Re:セーブデータのロード    
> 規格上は確かにそうなんですが、主だった実装ではエラーが検出できるようになっています。

なるほど。まっとうなエラー検出の手段があるかないかが重要だったわけですね。
手元の g++ 4.3 でも範囲外の値を与えると fail() が true になることを確認できました。


63ポイント を手に入れた。



Name: 少年X  ..入門者(2,527ポイント)   Date: 2010/02/22(月) 22:53   No:48470       
Title: PSPで東方風の背景    
PSPで東方をやろうとしているものです。現段階では、東方の基礎的な部分はできてきたので1面作りに入りました。(東方妖々夢です) ここで困ったのが背景です。3Dになっていて、DXPでは3D機能はないためにDrawModiGraphで再現しようと思いました。

1面の背景は両側に茂みがある背景です。その茂みがだんだん大きくなります。

これを背景の茂み用に構造体と変数を用意し、flagとspd1(上辺の速さ)とspd(下辺の速さ)などを作ってやるとか考えてみてるがうまくいかず・・・

いいアイデアを教えてください。


106ポイント を手に入れた。


Name: ft [URL]  ..中級者(14,318ポイント)   Date: 2010/02/23(火) 00:25   No:48475     
Title: Re:PSPで東方風の背景    
奇遇にも、私も妖々夢PSP劣化移植をしています。
一例ですが、雰囲気を出すことは可能だと思っています。もし宜しければブログを御覧になってみて下さい。(宣伝)

それはさておき、
3D対応していないDXPで3Dっぽい物を作って誤魔化すことは可能かといえば、可能であると思ってます。
http://blog-imgs-36.fc2.com/t/h/0/th07/20100211222457449.png
これは私が作ってみたものですが、霧であるモヤをグラデーションで描き、その下に背景を描く、そんな感じにしてます。
具体的には、樹木の動作ですが初期サイズ(倍率)と拡大率を決め、それを基にDrawRotaGraphFで次第に移動させながら(拡大率*カウンタ)で木を移動させながら大きくさせています。もしかしたら処理速度を優先するならDrawModiGraphの方がいいかもしれません。

また、木の移動速度を上方と下方で変えてしまうと、地面と木の生え際がズレて不自然なものになると思います。
ここが2Dで3Dを表す上での欠点だと思っています。
DrawModiGraphで台形状に描画することも試したのですが、なんか微妙だった覚えがあります。
イメージとしては線路の枕木を想像すると分かると思うのですが、DrawModiGraphで台形状に描いても隣りあう枕木の距離がずっと一定のままとなって不自然な状態です…
ここは妥協するしかないと思って、モヤで隠すことで何とか誤魔化している(?)つもりですが、もしかしたら何か良い策があるのでしょうか? 編集済み


243ポイント を手に入れた。

Name: 少年X  ..入門者(2,853ポイント)   Date: 2010/02/23(火) 12:46   No:48489     
Title: Re:PSPで東方風の背景    
僕もブログを始めましたがテストで忙しくて進んでない・・・
あと、ftさんのブログに行ってみたいのですが、名前がわからないです。また、上記URLの写真が見れない。

さて、僕もDrawRotaGraphFで茂みの倍率を変えようかと悩んだのですが、うまく倍率が合わずにDrawModiGraphで再現しようとしてました。でも、うまくいかないという話を聞くとやめようかと悩んでいます。確かに背景と茂みのはえ目が気になりました。現段階ではDrawRotaGraphFでいこうと思ってます。
もうちょっとほかの意見があるか待って、この投稿を解決しようと思います。

*余談
一年前にニコニコ動画でPSPで東方を移植した動画があり、背景が3Dっぽくなっていてすごいと思いました。それを目標にやろうと思っています。


326ポイント を手に入れた。

Name: ft [URL]  ..中級者(14,534ポイント)   Date: 2010/02/24(水) 00:27   No:48526     
Title: Re:PSPで東方風の背景    
そちらの環境では画像表示できませんでしたか。画像例をここにUPしてみます。こんな感じです。
ブログURLですがhttp://th07.blog12.fc2.com/となっています。過去の記事に何件か画像を載せています。
イメージの参考にでもなるでしょうか…

樹木ですが、先述の通りDrawRotaGraphFで下へ移動させるに従い拡大させています。
初期サイズと拡大量によって生え際がビキビキ動いたりして不自然になるので、双方の細かい調整が必要となります。
もちろんDXPの関数を使わずに、PSPSDKの関数を使うことで3D描画は可能らしいですが、私はやっていません。


216ポイント を手に入れた。



Name: Yuno  ..ぴよぴよ(360ポイント)   Date: 2010/02/23(火) 18:17   No:48499       
Title: リプレイの実装方法がさっぱりです…    
リプレイを実装しようとを持ったのですが…
いったいどのようにすればいいのか見当もつきません

調べてみたところ、
キーやパッドの入力状態を毎フレームごとに記憶してそれを書き出す
という方法があったのですが
どのようにコードを書けば動くのかわかりません

知ってる人教えてください

一応

VC++で、
ゲームのコードはここのサイトのものがベースです


19ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,156,183ポイント)   Date: 2010/02/23(火) 18:22   No:48500     
Title: Re:リプレイの実装方法がさっぱりです…    
まず、どの辺まで自力で実装出来るのでしょうか?
理屈がわかれば実装出来ますか?

段階的に解決してみましょう。
とりあえず、

1、入力したキーの状態を保存しておく方法
2、上で保存したデータを読み込む方法
3、任意のキーを入力状態にする方法

この辺から考えて今何が解らないのか明確にしてみませんか?


2倍のポイントを手に入れた! 278ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(457ポイント)   Date: 2010/02/23(火) 18:30   No:48501     
Title: Re:リプレイの実装方法がさっぱりです…    
1はできますが
配列の長さがわからないのでどのように宣言すればよいかわかりません

あとデータの保存方法は何とかわかります

読み込みも「セーブデータのロード」のスレを見ればなんとかいけそうです

ですが3はさっぱりわかりません

どうやれば再現できるようになるのか見当もつかないです


97ポイント を手に入れた。

Name: ROM  ..ぴよぴよ(913ポイント)   Date: 2010/02/23(火) 18:55   No:48502     
Title: Re:リプレイの実装方法がさっぱりです…    
> どうやれば再現できるようになるのか見当もつかないです

そんなにまでさっぱりならば、リプレイデータの実装をするのはまだ早いんじゃないでしょうか?
それよりも基礎をしっかり学び、自分でも色々とゲームを作ったりして、ゲームプログラムを理解することが結局は早道でしょう。
今までゲームは作ったことあるのでしょうか?
サンプルプログラムのコピーでは物は出来たとしても力は付いていない場合が多いですよ。


156ポイント を手に入れた。

Name: Yuno(Mobile)  ..ぴよぴよ(2ポイント)   Date: 2010/02/23(火) 20:19   No:48507     
Title: Re:リプレイの実装方法がさっぱりです…    
すいません
よくみれば再現は簡単でした

しかしそれをどう保存して読み込みすればいいのかわかりません


2ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,156,473ポイント)   Date: 2010/02/23(火) 21:00   No:48513     
Title: Re:リプレイの実装方法がさっぱりです…    
> 配列の長さがわからないのでどのように宣言すればよいかわかりません

mallocは使えますか?
配列の長さは自由に変えられます。
また、読み込み前に大きさを事前に知る方法ももちろんあります。

こんな感じでファイルサイズが取得できます。

fpos_t GetFileSize( const char FileName[] ){ 
        fpos_t fsize = 0; 
        FILE *fp = fopen( FileName, "rb" ); 
        fseek(fp,0,SEEK_END); 
        fgetpos(fp,&fsize); 
        fclose(fp); 
        return fsize; 
}

>あとデータの保存方法は何とかわかります 
>読み込みも「セーブデータのロード」のスレを見ればなんとかいけそうです

と書いてある後に

>どう保存して読み込みすればいいのかわかりません 

と書いてありますが、どっちでしょう?
上の説明でお解りいただけるでしょうか。


290ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(347ポイント)   Date: 2010/02/23(火) 23:16   No:48522     
Title: Re:リプレイの実装方法がさっぱりです…    
 fopen( FileName, "rb" ); 
の部分のファイルの名前がうまく取得できないのですが
ファイルのルートはアプリケーションと同じフォルダ階層から始まっているのでしょうか?

またGetCurrentDirectoryをつかおうとしても変数の型が合いません

どうすればよいでしょうか…?


110ポイント を落としてしまった。

Name: Yuno  ..ぴよぴよ(352ポイント)   Date: 2010/02/23(火) 23:24   No:48523     
Title: Re:リプレイの実装方法がさっぱりです…    
というより
FileNameに\\replay\\flag.logを渡して
fopen(FileName,"wb");
にするとエラーを喰らうんですが…


5ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(64,265ポイント)   Date: 2010/02/23(火) 23:38   No:48525     
Title: Re:リプレイの実装方法がさっぱりです…    
詳しく読んでいませんが、replayのフォルダを作成していないんだと思います。


# 追記
> ファイルのルートはアプリケーションと同じフォルダ階層から始まっているのでしょうか?

やっぱり読んでいませんでした。
プロジェクタを使って、デバッグなどで実行しているなら、プロジェクトデータがある階層からです。


拡張子が、.sln や .vcproj などがある階層です 編集済み


33ポイント を手に入れた。



Name: Dixq (管理人) [URL]  ..ウィザード(1,152,032ポイント)   Date: 2010/02/20(土) 00:11   No:48259       
Title: [雑談] あなたは何歳?    
タイトルにこだわらないので気軽にザックバランな感じでどうぞヽ(´▽`)ノ

最近ここの掲示板に来て下さっている方々の年齢層は案外低いのでは・・・?!
とか思いつつ、年齢層がちょっと気になったりしています。

そこで、もし差し支えなければ年齢をお聞き出来ませんか?
普段「見てるだけ」って人もよければコメント下さい〜☆

---------------

まず私から。
「どこに行っても最年少」いつまでもそうだと思っていたのにもうそれはずっと昔に終わっていたようだ・・。
うぅ、今年自分が26だなんて信じられない〜!
完全に平均より上だよね・・。だよね・・。


215ポイント を手に入れた。


Name: shilfia  ..入門者(4,726ポイント)   Date: 2010/02/20(土) 00:30   No:48262     
Title: Re:[雑談] あなたは何歳?    
21です。この掲示板ではやや低い方・・・かな?
就活楽しいですw


28ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,152,496ポイント)   Date: 2010/02/20(土) 00:33   No:48263     
Title: Re:[雑談] あなたは何歳?    
就活楽しんでいらっしゃるようで何よりですw
確かに後半は私もハイになってました^^
就活なんて要するに自慢のオンパレーd(ry

大きな買い物をする前はわくわくしながらパンフレットを見るものですが、
就活は人生をわける選択・・例えるなら人生で一番大きな買い物?!
しっかり吟味して、良い選択をされることお祈りしています^^


141ポイント を手に入れた。

Name: あ〜る  ..上級者(16,714ポイント)   Date: 2010/02/20(土) 00:55   No:48265     
Title: Re:[雑談] あなたは何歳?    
キャッピキャピ(死語)の16歳、現役高校一年生です☆
中3ぐらいから居る筈ですが、最年少かと思いきや実は一歳年下がいる筈(kerotanさんとかそうでしたっけ?)
もしかしたらもっと年下もいるのかも、やっぱ10歳81ヶ月で(ぉ

最近雑談スレがたくさんあって楽しい、というか有意義な情報が沢山聞けて、非常に為になります
学校とかでも、卒業生の講演会みたいので学部選びとかの参考にさせられるんですけど、僕の興味の方向から言うとこの掲示板の人達の実体験談の方がよっぽど興味深いです、ありがとうございます(かと言って講演会も聞き流してる訳じゃ無いので悪しからず;;)
それに、やっぱ自分の質問にどうゆう人が答えてくれてるのか、とかどうゆう人が質問してるのか知ってた方が質問しやすい&答えやすいですよね。ただの受け答えだけだとなんかやりにくいです。
というわけで、雑談肯定派でしたぁ


263ポイント を手に入れた。

Name: 御津凪 [URL]  ..ハッカー(140,713ポイント)   Date: 2010/02/20(土) 05:19   No:48271     
Title: Re:[雑談] あなたは何歳?    
携帯から。

私は21ですね。
ゲームプログラマやってます。

会社に入りたての頃は最年少(未成年)でしたが、
今はもう年下の後輩がいるので最年少ではないです。


53ポイント を手に入れた。

Name: Ma  ..熟練のプログラマー(52,724ポイント)   Date: 2010/02/20(土) 05:26   No:48272     
Title: Re:[雑談] あなたは何歳?    
17
海外在住の高校生です。
受験勉強しないと…。


22ポイント を手に入れた。

Name: Tororo  ..入門者(3,443ポイント)   Date: 2010/02/20(土) 08:25   No:48276     
Title: Re:[雑談] あなたは何歳?    
12才
最年少かな?


7ポイント を手に入れた。

Name: kerotan0820  ..上級者(24,264ポイント)   Date: 2010/02/20(土) 09:50   No:48279     
Title: Re:[雑談] あなたは何歳?    
>>あ〜るさん
私は15の中3ですので、あーるさんの一個下で正解です^^。

私はいつからこの掲示板を利用していたんでしたっけなぁ…
確か中学2の頃に初めて顔をだして、Hellow Wordの表示すらはっきりと理解できずに半年くらい放置してたんでしたよ…
そこからまた中3で再開して、やっとこさ関数っていう…orz
皆さんには今後もご迷惑おかけしますが、どうぞお許しを…


119ポイント を手に入れた。

Name: tuelon  ..ぴよぴよ(33ポイント)   Date: 2010/02/20(土) 10:42   No:48281     
Title: Re:[雑談] あなたは何歳?    
普段見てるだけですが失礼〜(2年前からくらい・・・)

みんな若すぎるw

年齢は、26です。

仕事は、プログラミングとはなんの関係もない製造系の工場で働いてますw


33ポイント を手に入れた。

Name: やっくん  ..中級者(14,962ポイント)   Date: 2010/02/20(土) 12:56   No:48286     
Title: Re:[雑談] あなたは何歳?    
久々に掲示板に顔を出してみる。

二十歳です。
大学で情報系を勉強中です。

今は文字認証(オフラインパターン認識)などやってます


37ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,153,657ポイント)   Date: 2010/02/20(土) 13:00   No:48287     
Title: Re:[雑談] あなたは何歳?    
>> あ〜るさん

若いですね〜!
高校かぁ・・もう昔の話になってしまった(涙
あの頃に戻りt・・いや、しかし受験はもうやりたくないな^^;

>それに、やっぱ自分の質問にどうゆう人が答えてくれてるのか、とかどうゆう人が質問してるのか知ってた方が質問しやすい&答えやすいですよね。ただの受け答えだけだとなんかやりにくいです。 

そうですよね。
年齢層が把握できればHP作る時に何か参考になりそうですし、私も興味があります^^
出来れば職業とか年齢とかわかるプロフィールみたいなものも欲しいですねぇ。

>> 御津凪さん

その年で先輩ですか〜。年齢層低いですね。
うちは私が最年少ですので、おっさんばっかりかな^^;

>> Maさん

受験の時期ですか〜、
受験の頃「こんなもん知らなくても生きていける」とか思いながら勉強してましたが、
実際そうでは無かったこと沢山ありました。
特にベクトルや行列計算なんかやっても無意味だと思ってましたが、もろ必要でした^^;
一般教養的な知識は大学受験までに付けたものがその人の生涯の知識になると言っても過言ではないかも。
大人になってそう思いました^^;
受験勉強頑張ってくださいね☆
ところで・・英語圏ですか?

>>Tororoさん

常連さんの中では最年少のようですね、小学生のうちからプログラミングされるとはすごいですね。
私は大人になってから始めたので、他の人との差が埋まらないです・・。
以前「9才でもゲーム作れますか」って投稿がありましたけど、PC使う年齢層がどんどん低くなってるんですかね〜;
私が小学校の頃は外でサッカーしかしてなかったな^^;
PC初めて触ったの18だし・・。

>>kerotan0820さん

>確か中学2の頃に初めて顔をだして、Hellow Wordの表示すらはっきりと理解できずに半年くらい放置してたんでしたよ… 
>そこからまた中3で再開して、やっとこさ関数っていう…orz 

おぉ、ブランク短い。
私は高1の時友達からC言語進められて、hello world見せられたんですが、
「環境変数?なんのこっちゃ」ってそれからハタチまで放置してました^^;
今から勉強されたらとても力が付くでしょうね。頑張ってください☆

>> tuelonさん

おぉ、同い年ですね☆ 初コメありがとうございます^^

> みんな若すぎるw 

若いですよね〜;
平均年齢は二十歳位なんじゃないでしょうか^^;
ただし回答者様はハタチ以上の人が多いように思います。

> 仕事は、プログラミングとはなんの関係もない製造系の工場で働いてますw

趣味でプログラミングされてるんですか?


2倍のポイントを手に入れた! 1,048ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,153,726ポイント)   Date: 2010/02/20(土) 13:02   No:48288     
Title: Re:[雑談] あなたは何歳?    
> やっくんさん

お、ちょうど平均年齢位でしょうか?
私もついこの前成人したはずなんですが・・(気持の上は

> 今は文字認証(オフラインパターン認識)などやってます

あ、先日日記で拝見したあれですね^^
卒業研究ですか?
・・となるともう最終発表が終わるころ・・?


69ポイント を手に入れた。

Name: Tororo  ..入門者(3,566ポイント)   Date: 2010/02/20(土) 13:12   No:48291     
Title: Re:[雑談] あなたは何歳?    
最年少取ったどーw

たぶん最初にやったプログラムはHSPで、4年生だから・・10歳かな?


32ポイント を手に入れた。

Name: tuelon  ..ぴよぴよ(607ポイント)   Date: 2010/02/20(土) 14:36   No:48297     
Title: Re:[雑談] あなたは何歳?    
>趣味でプログラミングされてるんですか?

工業高校卒業して(←プログラミングは学校の授業でBASICをグレイズしたぐらい^^;)

18で入社・・・

いつの間にやら4年ぐらいすぎ・・・(←この時間はもうとりもどせない;)

22の時くらいにニコニコ動画でとあるシューティングゲームの動画があがってて
そのゲームがたった一人でつくられていることを知り、『よし、私もゲームを作ってみよう』と思い
グーグル先生でいろいろ検索・・・

いろんな言語やらDirectXとかの敷居の高さに挫折~~;

そしてさらに時はたち・・・(←この時間ももどってこない^^;)

2年ぐらい前にまたニコニコ動画でシューティングゲームの動画が!
それが四聖龍神録だったわけです。

ということでプログラミングは完全に趣味です。


2倍のポイントを手に入れた! 574ポイント を手に入れた。

Name: MNS  ..プログラマー(31,951ポイント)   Date: 2010/02/20(土) 17:27   No:48300     
Title: Re:[雑談] あなたは何歳?    
今はかろうじて15歳ですね。
まもなく中学を卒業して高校へ進学しますが、
高校になったら、本格的に大学受験に向けて勉強をはじめなければならないので、
プログラミングを好き勝手できるのは、中学まででしょうね。

そもそも、勉強とプログラミングは両立できるものではないかな、と思っていたのですが、
まあ、三角関数やベクトルの考え方や概念などはプログラミングを通じてだいたい理解しましたが、
いざそれで数学が出来るようになるかといえば、自身で計算をしない以上、やはりあまり意味がありません。
(物理あたりではまだ役に立つのかもしれませんけれどね)
そういう訳で、やはり今のうちにしか、プログラミングは出きないでしょう。

ただ、プログラミングをすることによって論理的思考は身につくのでしょうか、
とりあえず、このプログラミングの経験と、それで身についた知識が、
今後の人生において無駄にならないことを願うばかりです。

と、自分でも何が言いたいのか良く分からない文章になってしまったので、
とりあえずプログラミングのことについてでも。

今は、AI関連についての技術について勉強しているのですが、
その過程で出てきたグラフ理論というものにとても興味が湧いています。
個人的に、作るのが最も難しいと思っているゲームのジャンルがRTSであり、
このジャンルのゲームをつくり、完成させるのが今後の目標でもあるのですが、
RTS、今活気づいているFPSでも、やはり経路というものはとても重要で、
グラフ理論を使いこなせれば、これらのジャンルのゲームが作れるようになる、
または、それに一歩近づくことが出来るような気がします。
まあ、グラフ理論といってもそれはあくまで理論であって、
重要なのはそれを応用する経路探索アルゴリズム等なのでしょうが、
それも含めて習得するのが今後のプログラミングにおける指針ですね。


531ポイント を手に入れた。

Name: Tororo  ..入門者(3,621ポイント)   Date: 2010/02/20(土) 17:48   No:48301     
Title: Re:[雑談] あなたは何歳?    
今気が付いた事
自分、このせいなのか、運動が極端に出来ないw
ただ英語、計算が多少良くなった気がするw

後、引きこもりガチ・・


38ポイント を落としてしまった。

Name: kerotan0820  ..上級者(24,752ポイント)   Date: 2010/02/20(土) 18:38   No:48305     
Title: Re:[雑談] あなたは何歳?    
>>Tororoさん

運動せずに引きこもりガチでプログラミングしてらっしゃるって…そんなことしたら私は数日あれば病んでしまいますw
気晴らしの運動とかは結構大事だと思いますよ(笑
運動神経有無で、自分の趣味から言うと、サイクリングとか… ランニング?
プログラミングの勉強などをずっとしていると僕の場合楽しい気持ちでやっていても{(楽しさ)8:2(ストレス)}くらいの比率でストレスはたまってますからねぇ…
運動などなさってみてはいかがですか?
健康面においても良いでしょうし


2倍のポイントを手に入れた! 488ポイント を手に入れた。

Name: Tororo  ..入門者(3,537ポイント)   Date: 2010/02/20(土) 18:49   No:48306     
Title: Re:[雑談] あなたは何歳?    
>>kerotan0820さん
多分、部活が入るからと安心してましたw
でも、ソノ間プログラムやってないから意味ありませんねw
まぁたまには運動も必要ですね^^;


84ポイント を落としてしまった。

Name: こめかみ  ..熟練のプログラマー(53,763ポイント)   Date: 2010/02/20(土) 19:18   No:48308     
Title: Re:[雑談] あなたは何歳?    
キャピキャピの22歳です。
ええ、御津凪さんて年下なの?もっと年上の方かと・・・社会人かっこいい。

ハイ私の精神年齢が子供なんですね。味覚も子供ですよー。お酒も辛いのも苦いのもだめなひとですよー。甘党のむさい大学生ですよー。
最近は研究以外でのプログラムはすっかりご無沙汰ですよー。さらにDTMとかギターにまで手を出し始めていろいろいっぱいいっぱいですよー。でも今春こそSTGつくっちゃうんだから。つくれるといいな。たぶんつくれるとおもう。

今春は入り浸る予定ですのでヨロシクです。

Tororoさん
>後、引きこもりガチ・・

小学生の頃私にとってはゲームは遊ぶものであり、つくるなんて考えたこと無かったです。
生産的なヒキコモリなら個人的にはアリだと思いますが親御さんに心配かけない程度にしましょうねー。
ええ、私のことです。

若くて時間があるうちにたくさん音楽ライブとか行っておくと後悔しないぜ!
ええ、私のことです。

もっと金をかけて遊ぶ体験を得ておくべきだったなーと最近思いまして、唐突ですが楽器オススメです。基礎的なコトしかできなくても楽しいし、演奏できるようになれば運動にも匹敵するエネルギー消費ですよたぶん(根拠無し)。ゲームに使う音源も自作できるようになるかもしれないし、息抜きにもイイしいいコトずくめ。あーなんかとりとめの無い発言すみません、卒論から開放されて浮かれています。


12ポイント を落としてしまった。

Name: kazuoni [URL]  ..ハッカー(135,721ポイント)   Date: 2010/02/20(土) 20:32   No:48310     
Title: Re:[雑談] あなたは何歳?    
ピチピチの21歳です。
これから研究室かと思うと、身の毛がよだちます。

> こめかみさん
> 唐突ですが楽器オススメです。基礎的なコトしかできなくても楽しいし、
> 演奏できるようになれば運動にも匹敵するエネルギー消費ですよたぶん

ええ。ものすごい汗かきます。
中学はバンドマンに憧れ、無我夢中でバンドやってました。
小さな箱のライブになると、猛烈に暑いです・・・。
自分たちはですが、ミストがかかってましたね。
自分たちの演奏が終わり、自分たちの憧れの人たちの演奏が始まると
もっと汗かきます。wまぁ、もみくちゃにされますけどね^^;

っと、もうほとんどコードを忘れた人の発言でした。


134ポイント を手に入れた。

Name: shift [URL]  ..ぴよぴよ(185ポイント)   Date: 2010/02/20(土) 20:45   No:48311     
Title: Re:[雑談] あなたは何歳?    
どーも、普段見てるだけですがコメさせてもらいます。

自分は17才です。

2年ぐらい前からC++をやり始めた程度のプログラム歴です。
この掲示板や、C言語何でも質問サイトの書かれていることを見て勉強させてもらってます。
目標は今のところ、ゲーム一本完成させることです。(現在テトリス作成中)

上のレスを見る限り、
年上の方が多いのかと思いきや、同年代の方も結構多いですね。
正直驚きました。


ではでは〜 影から応援してる者の発言でした。



185ポイント を手に入れた。

Name: 山崎  ..プログラマー(36,556ポイント)   Date: 2010/02/20(土) 21:58   No:48313     
Title: Re:[雑談] あなたは何歳?    
う〜ん、みなさん若いですね〜!!
あんまりみなさん若いので、私は恥ずかしくて歳を申し上げることができません ^^;

…ああ、みなさんそんなにお若いのにホント優秀なのですね、
掲示板では回答者側ですからね〜。
私は今まで何を勉強してきたのだろう…。

もっと若いうちからC++を始めていればよかったです…嗚呼、後悔っ!


168ポイント を落としてしまった。

Name: もぐりん  ..ぴよぴよ(902ポイント)   Date: 2010/02/20(土) 22:47   No:48317     
Title: Re:[雑談] あなたは何歳?    
こんにちは。
間もなくアラフォーを迎えます。
C言語は大学に入ってから始めたので、かれこれ15年以上になりますが、
未だに組込み系の開発で苦労しています。
それでも、他人のソースを見て不具合箇所を見つけては修正するということを
未だにやっております。
しかし、最近の不況で派遣先との契約が昨年9月末で終了し、現在自宅待機状態です。
派遣元からは解雇されず、給料も出ているのでやってけています。
ようやく、4月から同じ派遣先に行くことが決まったので、貯金ができそうです。

これからも、ちょくちょく投稿しますのでよろしくお願いします。


155ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(123,746ポイント)   Date: 2010/02/20(土) 23:22   No:48320     
Title: Re:[雑談] あなたは何歳?    
私は平均年齢を高めている一人ですね。40オーバーです。
やはり、30代の人が少ないですね。

Tororoさん
中年からの忠告ですが、運動はした方が良いですよ。
運動神経はどうしよう無いですが、どんな人でも運動したら運動しただけ体力が付きます。
プログラマやSEの仕事をしていると、どうしても体力不足は辛いです・・・。はい。
マラソン、水泳、サイクリングのどれかをお薦めします(要は持久力のアップです)。


128ポイント を手に入れた。

Name: あ〜る  ..上級者(16,709ポイント)   Date: 2010/02/20(土) 23:39   No:48322     
Title: Re:[雑談] あなたは何歳?    
>>Tororoさん
水泳を全力で推します。水球部でした。
運動すれば何か色々ありますがとにかく体にいいです。
体力はあるにこしたことは無いですし
あと体力があると山登りとか運動会とかのだるいイベントも楽しめます(ここ重要!)
学校生活は一回しか無いんで、全力は楽しんだ方がいいです。とか体力無かったせいで昔楽しめ無かった人が言ってみます

あと僕はダメ学生なんで何とも言えませんが、中学の内は案外時間あると思いますよ
高校になるとちょっち厳しいけどw
ただ睡眠時間を削るのはあまりお勧めできません、倒れます
まぁTororoさんはまだまだ未来に満ち溢れてるんで、色々と頑張って下さい!


178ポイント を手に入れた。

Name: yu  ..熟練のプログラマー(42,053ポイント)   Date: 2010/02/20(土) 23:50   No:48323     
Title: Re:[雑談] あなたは何歳?    
17才 です。

掲示板で、最近は「見てるだけ」になりつつあります・・・。
忘れてしまった方も多いと思っています。
回答したい気持ちはあるのですが、本当に合っていることを答えているのか不安で
プレビュー画面で留まってしまうことが何回かありました;

プログラミング関係では最近は何もしていません。


79ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(51,985ポイント)   Date: 2010/02/20(土) 23:56   No:48327     
Title: Re:[雑談] あなたは何歳?    
もうすぐ30歳
色々社会的にプログラムを続けることにあせりを感じてます

最近はでたばかりの.NETを調べてみようかとしてますが
英語オンリーなので、なかなか進みません
.NETはオブジェクト指向なので
その前にMFCを攻略しようかと考えてます

.NET4の日本語の訳したものでないかなぁ・・・


101ポイント を手に入れた。

Name: tkmakwins15  ..比類無きプログラマー(99,097ポイント)   Date: 2010/02/21(日) 00:16   No:48330     
Title: Re:[雑談] あなたは何歳?    
17歳です。
意外と同世代でプログラミングやってる人が多いので安心しました。


42ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(123,895ポイント)   Date: 2010/02/21(日) 00:34   No:48332     
Title: Re:[雑談] あなたは何歳?    
>>dicさん。
>最近はでたばかりの.NETを調べてみようかとしてますが英語オンリーなので、なかなか進みません
.NETの3.5なら日本語訳があるかと思いますが、なぜ4.0じゃないとダメなんでしょう?

>.NETはオブジェクト指向なのでその前にMFCを攻略しようかと考えてます
MFCと.NETでは大分実装が違いますので参考にならないと思いますが。それともオブジェクト指向の参考用ってことでしょうか?


149ポイント を手に入れた。

Name: Tororo  ..入門者(3,579ポイント)   Date: 2010/02/21(日) 09:01   No:48339     
Title: Re:[雑談] あなたは何歳?    
>>あーるさん
2ヶ月前まで水泳やってましたw
塾に行くことになったので
やめましたw


42ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,155,199ポイント)   Date: 2010/02/21(日) 11:29   No:48347     
Title: Re:[雑談] あなたは何歳?    
> tuelonさん

> いろんな言語やらDirectXとかの敷居の高さに挫折~~; 

よし何かやってみるか、位の意気込みでDirectX学ぶと挫折してしまいますよね;
私も最初DirectXやOpenGL見た時はなんじゃこれと思いました^^;

>2年ぐらい前にまたニコニコ動画でシューティングゲームの動画が! それが四聖龍神録だったわけです。

お〜それは光栄です〜^^ ありがとうございます☆


>> MNSさん

そんなにお若かったんですか^^;
いや〜若い人多いな〜・・。

> プログラミングを好き勝手できるのは、中学まででしょうね。 

あ〜確かに高2、3とかになると難しいでしょうね〜。

> まあ、三角関数やベクトルの考え方や概念などはプログラミングを通じてだいたい理解しましたが、 
> いざそれで数学が出来るようになるかといえば、自身で計算をしない以上、やはりあまり意味がありません。 

高校の時学んでいないとプログラムに応用できないって事はあるでしょうけど、
プログラムやってるから高校で学ぶ必要が無くなるって事はないですもんね。

> ただ、プログラミングをすることによって論理的思考は身につくのでしょうか

それは大きいと思いますよ。
最初からそういう傾向にあったと思いますが、自分でも何でもかんでも順序立てて考えようとしてしまうくせがある気がします。
「理屈っぽい人」にはならないように注意していますが、理屈っぽいのかもしれません^^;

> その過程で出てきたグラフ理論というものにとても興味が湧いています。 

お〜それなら大学の授業が面白いでしょうね。
研究テーマも早い段階で見つかりそうですね^^


>> kerotanさん

やっぱ体動かすのも大事ですよね^^
私もアウトドアな事が好きなのですが、北海道に転勤になってから全然やってないです(T_T


>>kazuoniさん

音楽いいですね〜、私も音楽やってた時期があったのですが、今はもうやってないです・・。
ゲーム作るようになってから続けておけばよかったと後悔しました><;


>>shiftさん

初めまして☆ コメありがとうございます^^
意外に皆さんお若いですよね・・。ビックリしています^^;
アンケートの回答結果からして
http://dixq.net/board/ank/enq.cgi?mode=kekka
大学生がかなりの数占めていると勝手に思っていました。


>>山崎さん

ちょ、ダメですよ〜せっかくこのトピに来て下さったんですから〜w
それにしても最年長ではないですよね・・?
でもそうだったとしてもいいじゃないですか、うちのオヤジなんか
「わしもC言語勉強する!」とか言いだしてC言語の本買ってきてましたよ(笑
(56才から始めるワクワクゲームプログラミング とかって本無いのかなw)


>> もぐりんさん

こんにちは、カキコありがとうございます^^
不況の響きは痛いですね〜;
しかしそんなにも長い間組み込みされているとは、かなりお詳しいのでしょうね。
私も自分の専門だけは誰にも負けない知識が付けられるよう頑張ります☆


>> softyaさん

>30代少ない

いや、案外そうでもないですよ。
ここに書き込んでいらっしゃらないだけで、別件で聞いた時は30代案外いましたし、
去年の研究会に来て下さった方々の中にも何人かいらっしゃいました。

> プログラマやSEの仕事をしていると、どうしても体力不足は辛いです

う、リアルなアドバイス^^;
不況となるとさらに厳しくなりそうですね! 私も頑張ります><;


>>  yuさん

お久しぶりです^^

> 間違い

気にしちゃだめですよ!
私も何度間違った回答をしたことか(ぇ
是非是非お気軽におこしください^^


>>  tkさん

〜〜15という名前はそのままでいいんでしょうかw
しかし少し前まではtkさんが最年少ではないかと思っていたのに、
ドンドン若い人がいらっしゃいますね^^;
もう日本の将来は若いもんにまk・・(ry


109ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,448ポイント)   Date: 2010/02/21(日) 12:04   No:48352     
Title: Re:[雑談] あなたは何歳?    
> softya さん

>.NETの3.5なら日本語訳があるかと思いますが、なぜ4.0じゃないとダメなんでしょう?
なんというか、新しい物が好きなんです
それに田舎に住んでるもので、本屋に.NETに関する資料がないんです(;;
あっても、初心者向けで、つっこんだ内容までは書かれてなかったりしてて
なかなか納得いかないのです


>MFCと.NETでは大分実装が違いますので参考にならないと思いますが。
>それともオブジェクト指向の参考用ってことでしょうか? 
内部構造よりも、どうやって、スマートなソースコードを書くかが
気になってるんで、MFCスタイルを習得してからだと、.NETスタイルも
習得しやすいかな〜と思ってですね

MFC理解できたら、自分のゲームのフレームワークにも応用できないかな〜って
参考用ですね


217ポイント を手に入れた。

Name: 山崎  ..プログラマー(37,180ポイント)   Date: 2010/02/21(日) 12:14   No:48355     
Title: Re:[雑談] あなたは何歳?    
この記事に参加しておいて申し上げないのも確かにちょっと卑怯でしたかも… ^^;

これだけ恥ずかしがっておいて最年長じゃないとなると、
私より年上の方々には非常に失礼な振る舞いをしてしまいました、どうかご容赦のほどを…。

私は23です。
なんかおかしいんですよ、こないだまで17歳だったんです。
ふと気付いたらいきなり23歳になってたんですよ。
時間が経つのって恐ろしいです…。

きっと、いくつになっても、
「あのときやっておけばよかった〜」って思うことがあるのでしょうね。
私も私なりにいろいろやってきたつもりだったんですが、
皆さんの若さとプログラミング技術を目の当たりにすると、
私なんてまだまだだなぁとひしひしと感じます。

私もまだ学生の身分ですが、もはやなかなか時間が取れなくなってまいりました。
じっくりと3Dプログラミングとかについて技術と理解を深めたいんですけどね…。
小学生とかのうちに「時間がどれくらい大事か」というのを理解していれば、
余暇を利用してもっといろいろ自分を伸ばすことができたのかもしれないと考えております。

その辺が、「凡人」と「優秀な人材」を分けるポイントの一つなのかなぁと思いを馳せる今日この頃です。


71ポイント を手に入れた。

Name: 少年X  ..かけだし(2,421ポイント)   Date: 2010/02/21(日) 12:15   No:48357     
Title: Re:[雑談] あなたは何歳?    
年齢は18歳で高専生です。

最近何か作りつくてPSPで東方をやってみようと思い、このサイトに来るようになりました。
このサイトの掲示板ではいろいろな人がアドバイスをしてくれるので感謝しています。

ここで個人的な悩みをぶちまけます。(2つ程度)
まず、彼女がなかなかできません(泣) 寮生活と専門学校のせいなのか、女性との関わる時間が少ないために彼女ができません。前の彼女と別れてからはしばらくたつので寂しくて寂しくて・・・ もう自分がやけになりそうで怖いです。
二つ目は進路ですね。高専からは主に大学編入と就職なのです。僕としては大学に行ってキャンパスライフを楽しみたいと思っていたのですが、教師に「大学は自分の研究したいことをやって、他人にはない自分の長所を作る目的が無いと意味がない」と言われました。どうしようかって感じです。


219ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(124,653ポイント)   Date: 2010/02/21(日) 12:58   No:48361     
Title: Re:[雑談] あなたは何歳?    
>それに田舎に住んでるもので、本屋に.NETに関する資料がないんです(;;
>あっても、初心者向けで、つっこんだ内容までは書かれてなかったりしてて
>なかなか納得いかないのです

なかなか無いですよ。
MFCや.NETで内容の深い本なんて。あるとしたら洋書ですかね?
私は、とりあえずMFCを必要なところだけ自力で解析してます。

>内部構造よりも、どうやって、スマートなソースコードを書くかが
>気になってるんで、MFCスタイルを習得してからだと、.NETスタイルも
>習得しやすいかな〜と思ってですね

うーん。両方共やりたいなら別ですが、どちらか片方で良いと思います。
確かにMFC後なら分かりやすくはなると思いますが。
MFCがスマートかと聞かれると疑問が(汗)MFCだと無駄なコードが多いですし。
カプセル化は、.NETの方が遥かにスマートだと思います。
って言うほど.NETは使ってないんですけどね。MFCはWin32APIの本体が見え隠れします。

>MFC理解できたら、自分のゲームのフレームワークにも応用できないかな〜って
>参考用ですね

WTLなら無料公開されているので参考にするなら、こちらはどうでしょうか?
http://ja.wikipedia.org/wiki/Windows_Template_Library
MFCより規模が小さい(程度問題ですが)ので参考にしやすいと思います。
あとQtとか
http://ja.wikipedia.org/wiki/Qt
wxWidgetsとか
http://www.wxwidgets.org/
FLTKとか
http://ja.wikipedia.org/wiki/FLTK


642ポイント を手に入れた。

Name: sizuma [URL]  ..プログラマー(34,614ポイント)   Date: 2010/02/21(日) 13:32   No:48363     
Title: Re:[雑談] あなたは何歳?    
23です。

結構印象と実年齢が違ったりしますね。
softyaさんは30くらいかな?って思ってました。
MNSさんも僕と同じくらいかなって印象だったんですけど・・・

初めてC言語の入門書を読んでから1年半ぐらいなんで、ほとんどが先輩ですね。


> 運動
僕はずっと硬式テニス部でした。
小学生まではメルヘンに行ってましたけど!
たしか管理人さんもテニス部だった気が。
テニスめっちゃおもしろいです。日本の国技に推奨してます。高校ぐらいから僕が勝手に(笑
 編集済み


18ポイント を手に入れた。

Name: non  ..比類無きプログラマー(94,533ポイント)   Date: 2010/02/21(日) 16:08   No:48368     
Title: Re:[雑談] あなたは何歳?    
やはり、私が最高年齢のようですね。
最初に購入したパソコンがPC8001mkUでした。わかるかな。学生の頃には国産のパソコンは
ありませんでした。TK-80とかH68TRなどのマイコンを4Kベーシックで動かしてました。
そのころのプログラムはプログラムをカセットテープに入れてたんですよ。
カンサスシティスタンダードとかサッポロシティスタンダードなんて規格がありました。
簡単なプログラム(インベーダーとか平安京エイリアンなんてのを、必死でコード(機械語)
を入力したものです。プログラムをテープから読み込ませるのに20分ぐらいかかるのも
ありました。
フロッピーディスクドライブを最初に手に入れたときには感激しました。
さらには、ハードディスクの20メガを20万程度で購入して・・・・今思えば、
技術の発達は、素晴らしい。これから、10年先、20年先にはどうなっているでしょうか?
楽しみではありますが、これからコンピュータを勉強する人はますます、たくさんの事を
覚えなくてはいけないので大変ですね。



209ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(124,890ポイント)   Date: 2010/02/21(日) 18:24   No:48371     
Title: Re:[雑談] あなたは何歳?    
>>nonさんへ。
>カンサスシティスタンダードとかサッポロシティスタンダードなんて規格がありま
両方共分かります。たぶん近い世代かと。
ちなみに私はマイコン自作派だったので、メーカー製パソコンは持っていませんでした。
そのころの愛読誌は、I/O、ASCII、トラ技(未だに読んでますが)。


75ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(163,725ポイント)   Date: 2010/02/21(日) 18:48   No:48372     
Title: Re:[雑談] あなたは何歳?    
私もnonさんやsoftyaさんと同世代だと思いますが、10代のころはコンピュータに興味がなかったので、ぜんぜん違うことをやっていました。
大学時代もコンピュータにそれほど興味がなく、電子工学科だったのに最大の関心は比較言語学だったりします。


114ポイント を手に入れた。

Name: ひよこ  ..比類無きプログラマー(80,347ポイント)   Date: 2010/02/21(日) 21:00   No:48376     
Title: Re:[雑談] あなたは何歳?    
みなさんの年齢があまりに低くて、言いづらくなってしまいました。
それでも言ってしまいます。
17歳です。1年くらい前からDXライブラリでプログラムしています。
流星書記を作ったり、プログラムの実験していたり、いろいろしてます。
小学生から、大人まで結構年齢が広いですね。
純粋に驚きました。


129ポイント を手に入れた。

Name: cosmo  ..中級者(9,747ポイント)   Date: 2010/02/21(日) 21:30   No:48378     
Title: Re:[雑談] あなたは何歳?    
お久しぶりです。

私は21歳です。大学3年です。
最近PCで絵を描いたりとかしていて、めっきりこの掲示板に来れなくなってしまいました・・・
一応顔を出してみました^^;
すると、やっぱりありましたねぇ、雑談スレ。
C#をちょこっとやってるくらいで今は殆どプログラムに触れてないですorz
 編集済み


125ポイント を落としてしまった。

Name: ti  ..初心者(5,293ポイント)   Date: 2010/02/21(日) 21:35   No:48379     
Title: Re:[雑談] あなたは何歳?    
今年で27歳になります
1年くらい前にC言語でPGを1年ほどやっていました
今は趣味でプログラムをやっているくらいで
今後もどれたらいいな〜っておもいながら製造(サービス業)をやっています


90ポイント を手に入れた。

Name: YuO  ..熟練のプログラマー(42,720ポイント)   Date: 2010/02/21(日) 21:58   No:48380     
Title: Re:[雑談] あなたは何歳?    
昨年,10の位がインクリメントされました。来年,0x10の位がインクリメントされます。
あと,どちらも2桁です。
# と,クイズっぽい解答をしてみる。


51ポイント を手に入れた。

Name: クロウ  ..中級者(13,304ポイント)   Date: 2010/02/21(日) 22:28   No:48382     
Title: Re:[雑談] あなたは何歳?    
前回来た時からだいぶ間が経っていますが
おそらく平均の21歳です。

やっとテストが終わったので・・・と思いきや就活の毎日ですorz...
プログラム自体は大学入ってから始めたのでもうすぐC++が3年目ですかね。
他にもHTML,CGI,SQL,Java,Lua等々ちょっと手をつけてマスターできていない言語がいろいろ・・・


98ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(117ポイント)   Date: 2010/02/21(日) 22:47   No:48391     
Title: Re:[雑談] あなたは何歳?    
16才です。
プログラムはJavaを10からだからおれも最年少の一人かな〜www
今テスト前なのに俺なんでプログラムしてるんだろ…

それにしても年齢層低いなあ
HTML,Java,HSP,CSS,CGI,VB,C#いろんなのやったな
もっといろんなやつマスターしてみよ

それにしてもC++難しい…


109ポイント を手に入れた。

Name: tkmakwins15  ..比類無きプログラマー(99,441ポイント)   Date: 2010/02/21(日) 22:54   No:48392     
Title: Re:[雑談] あなたは何歳?    
>〜〜15という名前はそのままでいいんでしょうかw 
>しかし少し前まではtkさんが最年少ではないかと思っていたのに、 
>ドンドン若い人がいらっしゃいますね^^; 

もう"15"は飾りです。意味を持っていません。取っちゃっても問題は無いんですけど、ポイントが…
最近は、フリーソフトでどこまでパソコンを便利にできるか、ということを考えています。プログラミングもやってはいるのですが、ガラクタばっかりがたまって、どれが使えるソースコードなのかわけが分からない状態に…


176ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,155,352ポイント)   Date: 2010/02/21(日) 23:28   No:48408     
Title: Re:[雑談] あなたは何歳?    
>> 山崎さん

なんだ、むしろ私より若いじゃないですか^^;
しかし年食うのは早いですよね。
私が高校の頃は25と聞くとおっさn(失礼
結構年上というイメージがあったのですが、まさかその歳に自分がなろうとは^^;

少し前までは「ついこの前まで高校生だったのに」と思ってたんですが、
最近は「いくらなんでもついこの前高校生というイメージは無いな」と思い始めたのでそろそろ・・。

まだ20代のうちにやるべき事をやらないとですね^^;


>> nonさん

ググってみましたが、すごいコンピュータですね^^;
しかし身近にコンピュータが無かった時代にどういう機会に興味を持たれたんでしょう・・。
このコンピュータが発売された頃は私はまだ生まれてないかもしれませんね^^;


>> cosmoさん

お久しぶりです〜^^
絵描いてる人多いですね。
そういえば藍さんも絵を描くようになってから来なくなっちゃったな〜^^;
しかし絵と音楽が作れるスキルが欲しいな〜><


>> Yuoさん

ソフトウェア技術研究会のメンバー紹介の欄にお歳が書いてありますね^^;


>> tkさん

お名前は変えられたら新しい方に移しますよ^^
といっても、毎年ハンドルネームが変わるような名前は考え直してもいいかもしれませんね^^;
数字無しでも十分ユニークでは?


437ポイント を手に入れた。

Name: non  ..比類無きプログラマー(95,323ポイント)   Date: 2010/02/22(月) 09:22   No:48435     
Title: Re:[雑談] あなたは何歳?    
>softyaさん
>そのころの愛読誌は、I/O、ASCII、トラ技(未だに読んでますが)。
当時の私と同じです。I/Oは創刊号から読みました。最初は薄っぺらでしたが、だんだん
コマーシャルの方が多くなって、トラ技のような厚みになっていきましたね。
I/Oに載っているコードを一生懸命、友達と手分けして、入力しました。
当時はマイコンもいろいろ触ってました。卒研では6800CPUを使ったH68/TRのカラーTVボードの製作です。
当時のパソコンはまだ白黒でした。(緑かな)


>たかぎさん
>私もnonさんやsoftyaさんと同世代だと思いますが
同世代にしていただいて光栄です。まだまだ、頑張ります。

>Dixqさん
>しかし身近にコンピュータが無かった時代にどういう機会に興味を持たれたんでしょう・・。

インベーダゲームが大学在学中に大ヒットしました。毎日、喫茶店にインベーダをやりに行ったものです。
1ゲーム100円ですからね。コーヒーが300円なのに・・・。このゲームを見て、マイコンに興味を持ちました。
このとき任天堂に就職しておけば良かった・・・まだ、ファミコンが出るずっと前ですから、このころなら
就職できたかもしれません。タイトー(インベーダの会社)は倍率が高そうでした。

 


2倍のポイントを手に入れた! 790ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(57,718ポイント)   Date: 2010/02/22(月) 11:03   No:48437     
Title: Re:[雑談] あなたは何歳?    
たいちうです。39です。初PCはMZ-700でした。


dicさん>

私の知っている本は古い本ですが、これはいかがでしょうか?
VC6用の本ですが、それ以降のMFCを使う場合でも役に立つでしょう。

『Inside Visual C++ version5』
www.amazon.co.jp/dp/4756121748

> MFC理解できたら、自分のゲームのフレームワークにも応用できないかな〜って
> 参考用ですね

昔MFCで作ったプログラムのいくつかを、Express Editionでも扱えるように、
非MFCに移植中です。その過程で汎用的なフレームワークも徐々に形になってきました。
フレームワークも役に立ってますが、フレームワークを作成する作業自体が、
良いエクササイズになっています。部分的にでも取り組んで損はないと思いますよ。


134ポイント を手に入れた。

Name: softya [URL]  ..ハッカー(125,778ポイント)   Date: 2010/02/22(月) 11:09   No:48438     
Title: Re:[雑談] あなたは何歳?    
>>nonさん
>当時の私と同じです。I/Oは創刊号から読みました。最初は薄っぺらでしたが、だんだん
>コマーシャルの方が多くなって、トラ技のような厚みになっていきましたね。
>I/Oに載っているコードを一生懸命、友達と手分けして、入力しました。

私はオリジナルマイコン(Z80)なんで、ASCIIに掲載されていたGAME言語の機械語ダンプをハンド逆アセンブルして移植したりしてました。お陰で色々鍛えられました。
↓GAME-IIIの移植版GAME86。当時の雰囲気が楽しめます。
http://www.mztn.org/game86/

>当時はマイコンもいろいろ触ってました。卒研では6800CPUを使ったH68/TRのカラーTVボードの製作です。
>当時のパソコンはまだ白黒でした。(緑かな) 

私は白黒の文字ビデオ回路(汎用ロジックIC)とかを自作したりして苦労してました。
そうか卒研に出来るほどのネタだったのか。
そのころは、ASCIIやIOに載っている回路レベルは難しくないものと勘違いしてましたね。

>>Dixqさん
>しかし身近にコンピュータが無かった時代にどういう機会に興味を持たれたんでしょう・・。

私の場合は電子回路→デジタル回路→マイコンの繋がりで興味を持ちました。
電子ブロック世代なもので。
http://otonanokagaku.net/products/kit/ex150/detail.html
私はマイキット派ですが。
http://otonanokagaku.net/products/kit/mykit/detail.html
Dixqさん世代だとわかんない話ですよね。


596ポイント を手に入れた。

Name: non  ..比類無きプログラマー(95,617ポイント)   Date: 2010/02/22(月) 11:36   No:48440     
Title: Re:[雑談] あなたは何歳?    
>私は白黒の文字ビデオ回路(汎用ロジックIC)とかを自作したりして苦労してました。 
>そうか卒研に出来るほどのネタだったのか。 

専用ICがなかったですからね。ビデオRAMボードをラッピングで作るだけでも、気が遠くなる
作業でした。確か、RAMは2114だったでしょうか。ライブラリはアセンブラで作りました。

電子ブロック・・・懐かしいですね。



111ポイント を手に入れた。

Name: Tororo  ..入門者(3,781ポイント)   Date: 2010/02/22(月) 19:46   No:48455     
Title: Re:[雑談] あなたは何歳?    
>>Dixqさん
さっき本屋で、Windows100%見ました^^
中にありましたよ〜 ゲーム紹介。

なんか以外に、小学生には良くなさそうな事も載っていましたw
興味ないですけど^^;


2倍のポイントを手に入れた! 134ポイント を手に入れた。

Name: 組木紙織  ..比類無きプログラマー(76,998ポイント)   Date: 2010/02/23(火) 00:21   No:48474     
Title: Re:[雑談] あなたは何歳?    
お久しぶりです。

私は、20代で管理人さんとほぼ同じ年代ですね(多分一つ下?)
実際にプログラミングを始めたのは数年前なんですが、データをテープで読み込むという話が出ており
昔にそのような話を聞いたことを思い出して懐かしいです。(実際に触ったことがありませんが)

実際に見たことがあるので言うとでかいフロッピーディスクぐらいですね。あとLDかな(これは関係ないか)
高校時代に昔のWindows95が入ったパソコンがなぜか家に貰われてきたのでそれを(徹夜で)
遊んだこともあります。起動するのも一苦労でした。


#アセンブラなんかで実際に色々してきた人には憧れますね。
#いまはある意味あまり考えなくても作れる時代になってきてるので


218ポイント を手に入れた。

Name: LUNA  ..初心者(6,417ポイント)   Date: 2010/02/23(火) 10:30   No:48484     
Title: Re:[雑談] あなたは何歳?    
18歳でゲーム系の専門学校に通っています。
自分は数学系が苦手なのでよくアルゴリズムで積みます(汗)
あと、デザイン系(デッサンやキャラクターデザインで、こっちはほぼ趣味)と併用しているので知識が中途半端かもしれません。最近はデッサンに没頭してましたので・・・
2年生からは3Dゲームを、3,4年からはネットワークゲームを勉強するってのに・・・
しかし、この掲示板は本当にいろんな人がいるのですね。10歳でHSPって・・・

あと現役のゲームプログラマさんがいたら質問なのですが、プログラマはやっぱり複数の言語を習得した方がいいのでしょうか・・・?


263ポイント を手に入れた。

Name: s-rush  ..熟練のプログラマー(57,883ポイント)   Date: 2010/02/23(火) 14:53   No:48491     
Title: Re:[雑談] あなたは何歳?    
おひさしぶりです。

私は22ですね^^
最近はネットゲームにはまってしまって、
趣味の範疇でネトゲのプログラムでもやってみようかと思ってる今日この頃ですw
でも、そうなると通信関係の勉強や、
運営のやりかた(サーバー管理とか?)など、
やらねばならないことが山積みになりそうですorz

いま制作中のポ○モンのクローンも完成させたいしと、やりたいことがいっぱいですw

ようやく、大学の卒業論文も終わりそうなので、
中断していたプログラミングも再開できそうです^^

しかし・・・長期間放置しちゃってたので構造が忘れてるかもですorz


84ポイント を手に入れた。

Name: 御津凪 [URL]  ..ハッカー(140,923ポイント)   Date: 2010/02/23(火) 15:06   No:48492     
Title: Re:[雑談] あなたは何歳?    
> LUNA さん
> あと現役のゲームプログラマさんがいたら質問なのですが、プログラマはやっぱり複数の言語を習得した方がいいのでしょうか・・・?

どこの会社でも就職できるようにって意味であればメジャーな言語は先に一通り習得した方がいいでしょう。

特定の環境で製作されているゲーム会社を求めているのであれば、
コンシューマ機系であれば C / C++ とスクリプト系言語(Ruby や Python 等)がよくつかわれますし、
SNS 等、 Web 上で動くゲームならば PHP や Java 、Ruby on rails 辺りと Ajax(HTML+CSS+JavaScript) を使います。
Flash ゲームを作るための ActionScript もここに入りますね。

目指している会社があるのであれば、先んじて使っていると思われる言語を習得し、
他の言語は後々勉強していった方がいいと思いますよ。

因みに私は C / C++ を主に使っていて、 Ruby, Ajax, C# はたまに使う程度に覚えています。
今はアセンブラを勉強中。


210ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,157,101ポイント)   Date: 2010/02/23(火) 21:16   No:48515     
Title: Re:[雑談] あなたは何歳?    
>> nonさん

インベーダーが大学生の時に・・?!
なるほど、それで興味をお持ちになったのですね。

> 任天堂とタイとー

そう思うとゲーム業界の将来を予測するのは難しいですね〜。
インベーダーからゲーム業界が盛り上がったようですが、
ゲーム離れが進んでいる今から更に30年後はどうなっているのでしょう・・。


>> Tororoさん

あれ、今はかなり自主規制でそういうページは無くなっていたように思いましたけど、まだありましたか。
まぁその辺は自己判断で^^;


>>組木さん

そうですね〜。
案外私たちと同じ年少ないですね。大学生の方が多いかも?


>> LUNAさん

みつなぎさんが仰ってますが、何をするかですね〜。
色んな仕事を受けて顧客の要望にあったソフトを臨機応変に作るような会社は色んな言語の知識が必要そうです。
一方で、大手企業の完全に開発部ごとに区別された部門で働くなら一生一つの言語しか使わないってこともあるかもしれません。
しかし

>知識が中途半端かもしれません。

と言うことでしたら、まずはしっかり一つの言語を勉強した方がよさそうです。
何か一つは習得しておくかおかないかで自信の面でも応用の面でもアピールの面でも違ってくると思います。
ゲーム系で、特にこれと方面が決まっていなければC/C++が無難じゃないでしょうか。


>> s-rushさん

ネトゲはホント中毒になりますよね^^;
私は大学時代どれだけネトゲに時間を費やしたか・・。
あの時間が取り戻したくてしょうがないです・・。
まぁゲームをやることが作る時の糧になったりするので無駄ではなかったと信じています。
・・えぇきっと・・。

卒論お疲れ様です^^
気が向いたらまたいらして下さいまし☆


628ポイント を手に入れた。



Name:  ..ぴよぴよ(91ポイント)   Date: 2010/02/23(火) 19:03   No:48503       
Title: ファイルを開く    
画像を読み込んだりするときに出てくる、
こういう「ファイルを開く」
みたいなのはできますか?
また、どのようにすればいいですか?

お願いします。 編集済み


2倍のポイントを手に入れた! 90ポイント を手に入れた。


Name: バグ  ..ハッカー(190,185ポイント)   Date: 2010/02/23(火) 19:28   No:48505     
Title: Re:ファイルを開く    
開発環境によって方法が違いますんで、『オープンファイルダイアログ』をキーワードにググってみてください。多分、望んだ情報がヒットすると思います(^_^;)

73ポイント を落としてしまった。

Name:  ..ぴよぴよ(107ポイント)   Date: 2010/02/23(火) 19:46   No:48506     
Title: Re:ファイルを開く    
どうもありがとうございました。
ちなみに開発環境は WindowsXP
          VC++2008EE
             です。
早速検索してみます。


16ポイント を手に入れた。

Name:  ..ぴよぴよ(207ポイント)   Date: 2010/02/23(火) 20:19   No:48508     
Title: Re:ファイルを開く    
早速検索してみたのですが、
いまいち↑のようなやつが出てきません。

どうすれば良いでしょうか?


2倍のポイントを手に入れた! 100ポイント を手に入れた。

Name: MNS  ..プログラマー(32,163ポイント)   Date: 2010/02/23(火) 20:28   No:48509     
Title: Re:ファイルを開く    
コモンダイアログですよね。
http://www.geocities.jp/ky_webid/win32c/055.html
ここが参考になると思います。


41ポイント を手に入れた。

Name:  ..ぴよぴよ(265ポイント)   Date: 2010/02/23(火) 20:35   No:48510     
Title: Re:ファイルを開く    
ありがとうございます。

早速やってみます。


2倍のポイントを手に入れた! 58ポイント を手に入れた。

Name:  ..ぴよぴよ(367ポイント)   Date: 2010/02/23(火) 20:46   No:48511     
Title: Re:ファイルを開く    
できました!!
テキスト以外のファイルを開くときには、
ofn.lpstrFilter = _T("text(*.txt)\0*.txt\0All files(*.*)\0*.*\0\0"); 
                ↑    ↑
ここの『.txt』を書き換えればいいのですか?
また、
このダイアログで、
たとえば『.png』などの画像を読み込んで、画面に表示させるにはどうすればいいのですか?

質問ばかりですいません。
どうか、よろしくお願いします。 編集済み


102ポイント を手に入れた。

Name: MNS  ..プログラマー(32,447ポイント)   Date: 2010/02/23(火) 20:58   No:48512     
Title: Re:ファイルを開く    
>『.txt』をすべて書き換えればいいのですか? 
まあ、一応はそうですが、具体的には、
「表示する文字列\0 ワイルドカード指定を使った拡張子表記」という書式を用いるようなので、
lpstrFilter = _T("画像ファイル(.png)\0*.png\0\0");
このような感じでしょうか。(WIN32APIは良く知らないので、適当です。)

>たとえば『.png』などの画像を読み込んで、画面に表示させるにはどうすればいいのですか? 
lpstrFile の値はファイルのフルパスなので、
たとえば、DXライブラリを仕様している場合には、これをファイル名としてLoadGraph等の関数で読み込み、
それをDrawGraph等の関数で画面に描画すれば良いです。


284ポイント を手に入れた。

Name:  ..ぴよぴよ(407ポイント)   Date: 2010/02/23(火) 21:03   No:48514 解決!     
Title: Re:ファイルを開く    
ありがとうございます、
ようやく理解できました。

協力してくださった方々、
本当にありがとうございました。


40ポイント を手に入れた。



Name: スルメ  ..ぴよぴよ(188ポイント)   Date: 2010/02/22(月) 21:39   No:48462       
Title: このプログラムの違い    
この二つを見比べて違うところがどこかあるでしょうか?
コンパイルするときにココの部分のプログラムを書き換えるとエラーが出なくなります。

まずは見本

int can_or_cannot(int x,int y,int muki){
        if(muki==0)
                if(hantei[y/32-1][x/32]==1)
                        return 1;
        if(muki==1)
                if(hantei[y/32][x/32-1]==1)
                        return 1;
        if(muki==2)
                if(hantei[y/32+1][x/32]==1)
                        return 1;
        if(muki==3)
                if(hantei[y/32][x/32+1]==1)
                        return 1;
        return 0;
}


そして自分で打ったプログラム
int can_or_cannot(int x, int y, int muki){
    if(muki==0)//上向き
        if(hantei[y/32-1][x/32]==1)
            return 1;
    if(muki==1)
        if(hantei[y/32][x/32-1]==1)
            return 1;
    if(muki==2)
        if(hantei[y/32+1][x/32)==1)
            return 1;
    if(muki==3)
        if(hantei[y/32][x/32+1]==1)
            return 1;
    return 0;
}

自分で打った際に出るエラー・警告

1>*:\****\*******\*\dxlib_vc\サンプルプログラム実行用フォルダ\test.cpp(33) : error C2143: 構文エラー : ']' が ')' の前にありません。
1>*:\****\*******\*\dxlib_vc\サンプルプログラム実行用フォルダ\test.cpp(33) : error C2143: 構文エラー : ';' が '==' の前にありません。
1>*:\****\*******\*\dxlib_vc\サンプルプログラム実行用フォルダ\test.cpp(33) : warning C4390: ';' : 制御が空の文が見つかりました。意図した記述でしょうか?
1>*:\****\*******\*\dxlib_vc\サンプルプログラム実行用フォルダ\test.cpp(33) : error C2059: 構文エラー : ')'

間違え探しとかで遊んでいるのではなく本当に何処が違うか困っています。


731ポイント を落としてしまった。


Name: MNS  ..プログラマー(32,122ポイント)   Date: 2010/02/22(月) 21:43   No:48463     
Title: Re:このプログラムの違い    
> if(hantei[y/32+1][x/32)==1) 
ここが間違っています。

error C2143: 構文エラー : ']' が ')' の前にありません。 
こういうエラーが出ているのですから、']'が無い場所がないかどうか探しましょう。


94ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(135,884ポイント)   Date: 2010/02/22(月) 21:45   No:48464     
Title: Re:このプログラムの違い    
3つめの

if(hantei[y/32+1][x/32)==1) ×

if(hantei[y/32+1][x/32])==1) ○ 


23ポイント を手に入れた。

Name: スルメ  ..ぴよぴよ(140ポイント)   Date: 2010/02/22(月) 22:08   No:48465 解決!     
Title: Re:このプログラムの違い    
おぉ!!
ありがとうございます。

やっぱりもっといろいろなプログラムを書いてプログラム慣れしないとだめですね…
僕はコレと30分以上格闘していたのに………


48ポイント を落としてしまった。

Name: mnkr  ..入門者(4,525ポイント)   Date: 2010/02/22(月) 22:22   No:48466     
Title: Re:このプログラムの違い    
これを使うと良いと思います。

テキスト比較ツール DF
http://www.vector.co.jp/soft/win95/util/se113286.html


41ポイント を手に入れた。

Name: スルメ  ..ぴよぴよ(191ポイント)   Date: 2010/02/22(月) 22:29   No:48469 解決!     
Title: Re:このプログラムの違い    
今度からは分からなくてもまず自力は当たり前としてココへ質問しに来るのではなくこういったツールも活用させていただきます。

ありがとうございました。


51ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,155,905ポイント)   Date: 2010/02/22(月) 23:57   No:48472     
Title: Re:このプログラムの違い    
VC++だとエラーが出たらダブルクリックでエラーの行に飛べます。
エラーに何行目でエラーが出てるか表示されているのですから、その行を良く見れば大抵解りますよ。
今回の場合33行目にエラーがあったことが示されています。


97ポイント を手に入れた。

Name: バグ  ..ハッカー(190,258ポイント)   Date: 2010/02/23(火) 08:58   No:48480     
Title: Re:このプログラムの違い    
DFは便利ですよね。改造前と後での比較なんかに利用させてもらってます(^-^)

26ポイント を手に入れた。

Name: スルメ  ..ぴよぴよ(215ポイント)   Date: 2010/02/23(火) 19:18   No:48504 解決!     
Title: Re:このプログラムの違い    
>>管理人様
そうなんですか、豆知識ありがとうございます^^


24ポイント を手に入れた。



Name: dic  ..熟練のプログラマー(51,697ポイント)   Date: 2010/02/20(土) 18:01   No:48304       
Title: デバック用の関数がうまく動きません    
デバック用にstringに格納されている文字列をすべて
テキストファイルに出力する関数DebugOutを作ったのですが
画像のように、forループの中でエラーが起きます

ブレークポイント1からブレークポイント2の間に
エラーがおきてます

何が原因でしょうか?
VC++6.0です
void    DebugOut( const vector<string> *v, char *filename ) {
    int    i;
    remove( filename );
    FILE    *file = fopen( filename, "wt" );
    for( i=0; i<v->size(); i++ ) {
        static    char    buf[1024000];
        memset( buf, 0, sizeof(buf) );
        sprintf( buf, v->at(i).c_str() );
        fputs( buf, file );
    }
    fclose( file );
}



287ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(161,680ポイント)   Date: 2010/02/20(土) 21:52   No:48312     
Title: Re:デバック用の関数がうまく動きません    
肝心のウォッチ表示部分が含まれていないので正確なことはわかりませんが、いくつも可能性があります。

1. vやfilenameが正統なオブジェクトを指していることは呼び出し元で保証しているのでしょうか?
2. filenameがディレクトリ名であったり、ファイル名として不正な文字を含んでいたり、存在しないディレクトリを含むパスであったり、FOPEN_MAX個のストリームがすでに作られていたりということはないのでしょうか?
3. 呼び出し元ですでにおかしなことをやっていて、この部分で問題が顕在化しただけということはないのでしょうか?



224ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(51,884ポイント)   Date: 2010/02/20(土) 23:53   No:48324 解決!     
Title: Re:デバック用の関数がうまく動きません    
たかぎさん
ご指摘ありがとうございます

イテレータを使用したらぶじに動作しました
原因は・・・なぞです・・・

ありがとうございました

void    DebugOut( vector<string> *out, char *filename ) {
    remove( filename );
    FILE    *file = fopen( filename, "wt" );
    vector<string>::iterator p = out->begin();
    static    char    buf[10240];
    while( p != out->end() )
    {
        memset( buf, 0, sizeof(buf) );
        strcpy( buf, p->c_str() );
        fputs( buf, file );
        p++;
    }
    fclose( file );
}



187ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(162,692ポイント)   Date: 2010/02/20(土) 23:54   No:48326     
Title: Re:デバック用の関数がうまく動きません    
> イテレータを使用したらぶじに動作しました 
> 原因は・・・なぞです・・・ 

たまたま動いた可能性大です。


2倍のポイントを手に入れた! 34ポイント を手に入れた。

Name: tkmakwins15  ..比類無きプログラマー(99,265ポイント)   Date: 2010/02/21(日) 08:39   No:48337     
Title: Re:デバック用の関数がうまく動きません    
ある程度で書き換えてみました。

void    DebugOut(vector<string> &out,const char *filename ) {
    FILE *file = fopen( filename, "wt" );
    if(file==NULL)return;
    vector<string>::iterator p = out->begin();
    while( p != out->end() )
    {
        fputs( (*p).c_str(), file );
        p++;
    }
    fclose( file );
}

bufは不要だと思います、fopenのエラーチェックぐらいは有ったほうがいいと思います。


168ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,063ポイント)   Date: 2010/02/21(日) 09:00   No:48338     
Title: Re:デバック用の関数がうまく動きません    
たまたまですか・・・
デバック用なんで、製品版には影響ないんで大丈夫ってことにしておきます・・・

改良したらbuf取れますね

ありがとうございます


78ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(162,842ポイント)   Date: 2010/02/21(日) 09:07   No:48340     
Title: Re:デバック用の関数がうまく動きません    
> デバック用なんで、製品版には影響ないんで大丈夫ってことにしておきます・・・ 

この手の現象は、DebugOutではなく、その呼び出し元ですでにおかしくなっている可能性が考えられます(つまり製品版でも影響あり)。


40ポイント を手に入れた。

Name: sun  ..ぴよぴよ(367ポイント)   Date: 2010/02/21(日) 10:57   No:48345     
Title: Re:デバック用の関数がうまく動きません    
v->at(i).c_str()の文字列に%や*などの書式指定に該当する文字が含まれるからではないでしょうか?
だとすれば、sprintf( buf, "%s", v->at(i).c_str() );
にすれば直ると思います。


65ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,231ポイント)   Date: 2010/02/21(日) 11:55   No:48350     
Title: Re:デバック用の関数がうまく動きません    
ん〜
3万プロセスくらい作成して実行すると
微妙にメモリくってるので200MBくらいスワップしてますねぇ〜

たかぎさんのおっしゃるとおり
呼び出し元ですでにバグが混入してますね


2倍のポイントを手に入れた! 168ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(163,343ポイント)   Date: 2010/02/21(日) 12:10   No:48354     
Title: Re:デバック用の関数がうまく動きません    
実際に問題がある箇所と、問題が顕在化する箇所が遠くはなれている場合、設計とコーディングの両方に問題があります。
可能な限りコンパイル時に問題を検出できるように静的にできるところは静的にすべきですし、assertや例外送出処理を入れておくなどの対策をお勧めします(今回は手遅れなら次回からでも)。

あと、標準関数の動作を正確に理解しておきましょう。
元のDebugOutを見ても、bufが不要というだけでなく、いろいろ問題があります。

・filenameはなぜconst char*ではなくchar*なのでしょうか?
・removeはなぜ必要なのでしょうか?
・fopenでわざわざVCの独自仕様("wt")を使う理由は?
・memsetでのゼロクリアはどんな価値があるのでしょうか?
・strcpyでバッファオーバーランを起こしている可能性もあります。
・p++とすると一時オブジェクトが生成され、これが例外を送出する可能性もあります。++pとすべきでは?

など、すでに指摘済みの問題以外にもいろいろ気になる点があります。 編集済み


363ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,374ポイント)   Date: 2010/02/21(日) 12:26   No:48358     
Title: Re:デバック用の関数がうまく動きません    
>filenameはなぜconst char*ではなくchar*なのでしょうか? 
気づきませんでした、牢固にするにはconst char*がいいですね

>removeはなぜ必要なのでしょうか?
何回も処理するので、前の処理で、すでにファイルがある場合、削除するためです

>fopenでわざわざVCの独自仕様("wt")を使う理由は? 
VC独自とは知りませんでした・・・
Windowsを想定してるものでして

>memsetでのゼロクリアはどんな価値があるのでしょうか?
ループ内で、ゴミが入っていないように、安全にするためです

>strcpyでバッファオーバーランを起こしている可能性もあります。
これも気づきませんでした、追加します

>p++とすると一時オブジェクトが生成され、これが例外を送出する可能性もあります。++pとすべきでは? 
ここだけがよくわかりません
昔のソースだとp++をよく見かけるのですが、今作ってる方のソースは++pが主流になってるようですが
p++と++pではどのような違いがあらわれてくるのでしょうか?


364ポイント を落としてしまった。

Name: たかぎ [URL]  ..ハッカー(163,590ポイント)   Date: 2010/02/21(日) 12:35   No:48359     
Title: Re:デバック用の関数がうまく動きません    
> >removeはなぜ必要なのでしょうか? 
> 何回も処理するので、前の処理で、すでにファイルがある場合、削除するためです 

fopenで"w"(またはVCの独自仕様を使うなら"wt")を指定した場合、既存のファイルはサイズゼロに切り詰められます。
つまり、普通なら事前にremoveの必要はありません。
それをあえてやっているのは何か理由があるのかな? と考えたのです。

> >memsetでのゼロクリアはどんな価値があるのでしょうか? 
> ループ内で、ゴミが入っていないように、安全にするためです 

これで安全にはなりません。
ナル文字の処理が不適切になっても、問題の顕在化を遅らせるだけです。

> >p++とすると一時オブジェクトが生成され、これが例外を送出する可能性もあります。++pとすべきでは?  
> ここだけがよくわかりません 
> 昔のソースだとp++をよく見かけるのですが、今作ってる方のソースは++pが主流になってるようですが 
> p++と++pではどのような違いがあらわれてくるのでしょうか? 

簡単にいうと、後置形式の++は、

iterator iterator::operator++(int)
{
    iterator temp(*this);
    ++*this;
    return temp;
}

のように実装される場合が多く、tempおよび返却値の2箇所でコンストラクタが呼ばれます。
ここで例外が送出される可能性があるのです。
もちろんオーバーヘッドにもなります。


247ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,543ポイント)   Date: 2010/02/22(月) 19:07   No:48453     
Title: Re:デバック用の関数がうまく動きません    
すいません、仕事やら付き合いで返事おくれました

>これで安全にはなりません。 
>ナル文字の処理が不適切になっても、問題の顕在化を遅らせるだけです。
ということは、memsetで、ゼロクリアした領域を作るだけでは安全ではないのでしょうか?
どういった場合が挙げられるのでしょうか?

>のように実装される場合が多く、tempおよび返却値の2箇所でコンストラクタが呼ばれます。 
>ここで例外が送出される可能性があるのです。 
>もちろんオーバーヘッドにもなります。
たしかに try文で例外キャッチする方のソースもたまに見ますね
表面的な使いたしか見ておらず、実装までは見てませんでした
参考になります、ありがとうございます



169ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(163,965ポイント)   Date: 2010/02/22(月) 22:24   No:48467     
Title: Re:デバック用の関数がうまく動きません    
> ということは、memsetで、ゼロクリアした領域を作るだけでは安全ではないのでしょうか?
> どういった場合が挙げられるのでしょうか? 

ゼロクリアしたい動機というのは、ナル文字の管理が杜撰だからではないですか?
文字列の長さと終端は必ず意識しなければなりません。それが嫌ならstd::stringなどを使うべきです。
今回のバッファオーバーランもその辺りに原因のひとつがあるように思います。
また、DebugOutの呼び出し元に不具合があっても、たまたま動けば(問題が顕在化しなければ)OKとしているところを見ても、根は同じではないかと思います。


134ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(164,041ポイント)   Date: 2010/02/22(月) 22:27   No:48468     
Title: Re:デバック用の関数がうまく動きません    
連続で失礼します。

> たしかに try文で例外キャッチする方のソースもたまに見ますね
> 表面的な使いたしか見ておらず、実装までは見てませんでした 

例外安全は設計時に保障しなければなりません。
動かしてみて、問題が出たからもぐら叩きをしていたのでは、非常に不安定なものができあがります。


76ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(52,557ポイント)   Date: 2010/02/23(火) 17:46   No:48498     
Title: Re:デバック用の関数がうまく動きません    
ありがとうございました

14ポイント を手に入れた。



Name: Yuno  ..ぴよぴよ(8ポイント)   Date: 2010/02/21(日) 22:31   No:48386       
Title: フルスクリーンへの移行がうまくいきません…    
初めまして初心者です

STGを作っていたのですが、
ALT+ENTERでフルスクリーンモードになるようにしようと思ったのですがうまくいきません

一応それらしきもの↓を見つけたもの↓の使い方もわからず困っています
<DxLib.h 内部のものです…>
SetUseASyncChangeWindowModeFunction(int Flag,void(*CallBackFunction)(void*),void *Data);

どうやったらできますか?
誰か助けてください!!


8ポイント を手に入れた。


Name: Yuno  ..ぴよぴよ(337ポイント)   Date: 2010/02/21(日) 23:06   No:48400     
Title: Re:フルスクリーンへの移行がうまくいきません…    
あとこれは一応ここのプログラムがベースです

25ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(505ポイント)   Date: 2010/02/21(日) 23:21   No:48407     
Title: Re:フルスクリーンへの移行がうまくいきません…    
SetUseASyncChangeWindowModeFunctionは調べたところ最大化を許可する関数のようです。フルスクリーンにはなりません。
DXライブラリのGetHitKeyStateAll関数でALTキーとEnterキーが両方押されていたらChangeWindowModeを呼んでやれば良いかと。
画面のフル、ウィンドウの判定はGetWindowModeFlag関数でどうぞ。


112ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(674ポイント)   Date: 2010/02/21(日) 23:29   No:48409     
Title: Re:フルスクリーンへの移行がうまくいきません…    
それで何度か試してるのですが…
ALT+ENTERをGetHitKeyStateAllで試すと
完全に同時入力しているときのみ1、もしくはTRUEになるんですよ

あの、ALT+ENTERって普通ALT→ENTERの順に押すじゃないですか


44ポイント を手に入れた。

Name: あ〜る  ..上級者(17,067ポイント)   Date: 2010/02/21(日) 23:40   No:48415     
Title: Re:フルスクリーンへの移行がうまくいきません…    
if(window_flag==0 && ENTERとALTが押されてたら){
window_flag=1;
}
if(window_flag==1 && ENTERとALTが押されてたら){
window_flag=0;
}

if(window_flag==0)ウィンドウモード
if(window_flag==1)フルスクリーン

みたいな感じでどすか?
ただこれだと毎ループウィンドウのサイズを設定してるから処理速度とかに悪いかも…そこら辺僕にはわかんないですけど…(-.-;)

#追記
携帯からなんでもしかしたらめっちゃ見にくいかも……
見にくかったらすいません… 編集済み


2倍のポイントを手に入れた! 160ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(63,867ポイント)   Date: 2010/02/21(日) 23:41   No:48416     
Title: Re:フルスクリーンへの移行がうまくいきません…    
if ((ALT) != 0 && (ENTER) != 0) で両方が押下されている常態が検知できると思います。

ただし、押されている間は毎フレーム「GetHitKeyStateAll関数」が呼び出されてしまうので

    if ((ALT) != 0 && (ENTER) != 0 && flag == 0) {
        GetHitKeyStateAll();
        flag = 1;
    } else if (flag == 1) {
        flag = 0;           // 2度目の入力を受け付けるなら、フラグを戻す処理も
    }


などで、フラグ処理を入れて1度しか実行されないようにしたほうがいいと思います。


151ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(725ポイント)   Date: 2010/02/21(日) 23:42   No:48417     
Title: Re:フルスクリーンへの移行がうまくいきません…    
すみません
うまくいきました
少しコードが狂っていたようです

ところでこの移行後にちゃんと描画されないのはどうしてでしょうか?


51ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(747ポイント)   Date: 2010/02/21(日) 23:46   No:48418     
Title: Re:フルスクリーンへの移行がうまくいきません…    
はぁ
なるほど
そんな書き方もあるのですか
参考になります


22ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(683ポイント)   Date: 2010/02/21(日) 23:51   No:48419     
Title: Re:フルスクリーンへの移行がうまくいきません…    
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
         LPSTR lpCmdLine, int nCmdShow )
{
    char Buf[ 256 ] ={0};
    ChangeWindowMode( TRUE );//ウインドウにする


    if( DxLib_Init() == -1 )    // DXライブラリ初期化処理
    {
         return -1;    // エラーが起きたら直ちに終了
    }

    SetDrawScreen( DX_SCREEN_BACK );

    // キーの入力待ち
    while( Buf[ KEY_INPUT_ESCAPE  ] != 1 )
    {
        GetHitKeyStateAll( Buf ) ;

        if( Buf[ KEY_INPUT_LALT ] == 1 || Buf[ KEY_INPUT_RALT ] == 1 )
        {
            if( Buf[ KEY_INPUT_RETURN  ] == 1 ){
                if( GetWindowModeFlag() == 0){
                    ChangeWindowMode( TRUE );//ウインドウにする
                    SetDrawScreen( DX_SCREEN_BACK );//モードチェンジ後再定義
                }else{
                    ChangeWindowMode( FALSE );
                    SetDrawScreen( DX_SCREEN_BACK );
                }
                    //ここで画像ロードし直しとか
            }
        }

        // メッセージ処理
        if( ProcessMessage() == -1 )
        {
             break ;    // エラーが発生したらループを抜ける
        }
    }

    DxLib_End() ;        // DXライブラリ使用の終了処理

    return 0 ;        // ソフトの終了
}

とりあえずやってみたから貼り。

試してみた結果ですが、変更中はすべての処理が停止されるので連続で切り替わるのを予防する処理は要らなかったです。
GetHitKeyStateAll( Buf );は普通に毎ループ呼び出して良い物と思ってましたが違うんでしょうかね。
arrayさんのプログラムで判定より後にGetHitKeyStateAll関数が入っているのが不思議です。 編集済み


178ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(763ポイント)   Date: 2010/02/22(月) 00:00   No:48422     
Title: Re:フルスクリーンへの移行がうまくいきません…    
Bufの定義は普通にCharでいいんでしょうか?
また定義してビルドした際に
error C2109: 配列または、ポインタでない変数に添字が使われました。
fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します。
と言われて
止まるのですが…?


16ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(709ポイント)   Date: 2010/02/22(月) 00:02   No:48423     
Title: Re:フルスクリーンへの移行がうまくいきません…    
↑全ソースに直しました。charで256個の配列を使うようにしてください。(←リファレンスより
あと、whileの入りでエスケープの判定をしていてそこに入るまでにcharが初期化されてないです。
なのでcharは宣言時に初期化して対処でおk

↓管理人様、指摘ありがとうございます。すいませんでした。 編集済み


26ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,155,808ポイント)   Date: 2010/02/22(月) 00:04   No:48425     
Title: Re:フルスクリーンへの移行がうまくいきません…    
普通かどうかではなく、使いたい関数の引数に合わせましょう。

23ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(832ポイント)   Date: 2010/02/22(月) 00:10   No:48426     
Title: Re:フルスクリーンへの移行がうまくいきません…    
ありがとうございます
うまくいきました

……が今度は画面が真っ黒です
操作をちょこちょことすると画像が出てきましたが…
何かしなければいけないのでしょうか?


69ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(761ポイント)   Date: 2010/02/22(月) 00:17   No:48427     
Title: Re:フルスクリーンへの移行がうまくいきません…    
描画処理が止められていなければ大丈夫だと思うんですけど・・・。
意図的に止めたりしてはいませんよね?
あなたの書いたコードがわからないのでこれが限界です。。 編集済み


52ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(0ポイント)   Date: 2010/02/22(月) 00:21   No:48428     
Title: Re:フルスクリーンへの移行がうまくいきません…    
一応メインループの場所はこんな感じです
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    SetDisplayMenuFlag(FALSE);    
    SetKeyExclusiveCooperativeLevelFlag(FALSE);
    char Buf[ 256 ] ={0}; 
    ChangeWindowMode( TRUE );//ウインドウにする
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
    count_t=0;
    while(ProcessLoop()==0){//メインループ
        music_ini();
        switch(func_state){
            case 0://初回のみ入る処理
                load();        //データロード
                first_ini();//初回の初期化
                func_state=98;
                ini();
                break;
            case 98://title
                bgm_main_t();    enter_func_tm("タイトルBGM");
                title();    enter_func_tm("タイトル処理");
                break;
            case 99://STGを始める前に行う初期化
                load_story();
                func_state=100;
                break;
            case 90://STG一時停止復帰用
                ini();
                load_story();
                func_state=100;
                break;
            case 100://通常処理
                fantasy_check();
                                 enter_func_tm("最初");
                calc_ch();       enter_func_tm("キャラ計算");
                ch_move();       enter_func_tm("キャラ移動");
                cshot_main();    enter_func_tm("自機ショットメイン");
                enemy_main();     enter_func_tm("敵処理メイン");
                boss_shot_main();enter_func_tm("ボスショットメイン");
                shot_main();     enter_func_tm("ショットメイン");
                out_main();       enter_func_tm("当たり判定");
                effect_main();   enter_func_tm("エフェクトメイン");
                calc_main();     enter_func_tm("計算メイン");
                graph_main();    enter_func_tm("描画メイン");
                bgm_main();         enter_func_tm("BGMメイン");
                if(boss.flag==0)
                    stage_count++;
                break;
                  case 101://一時停止
                        DrawGraph(0, 0, img_screen, FALSE);
                        break;
                  case 102://コンティニュー
                        DrawGraph(0,0,img_screen,FALSE);
                        break;
            case 103://ラノベ
                calc_ch();
                ch_move();
                calc_option_bb();
                graph_nonshot_etc();
                fantasy_disp();
                if(boss.flag==1)
                    stage_count++;
                break;
            case 104:
                cnt_change++;
                if(cnt_change>20){
                    cnt_change=0;
                    func_state=t_func_state;
                }
                break;
            default:
                printfDx("不明なfunc_state\n");
                break;
        }
        music_play();             enter_func_tm("音楽再生");
        control_main();        enter_func_tm("コントロール");
        fps_wait();                 enter_func_tm("待機した時間",1);
        ScreenFlip();//裏画面反映
        count++;
            GetHitKeyStateAll( Buf ) ; 

            if( Buf[ KEY_INPUT_LALT ] == 1 || Buf[ KEY_INPUT_RALT ] == 1 ) 
            { 
                if( Buf[ KEY_INPUT_RETURN  ] == 1 ){ 
                    if( GetWindowModeFlag() == 0){ 
                        ChangeWindowMode( TRUE );//ウインドウにする 
                 }else{ 
                        ChangeWindowMode( FALSE ); 
                } 
            } 
        // メッセージ処理 
        if( ProcessMessage() == -1 ) 
        { 
             break ;    // エラーが発生したらループを抜ける 
        } 
    }
    }
    DxLib_End();//DXライブラリ終了処理
    return 0;
}

やたら長いですが勘弁願います;;


1,147ポイント を落としてしまった。

Name: Stanry  ..ぴよぴよ(824ポイント)   Date: 2010/02/22(月) 00:30   No:48429     
Title: Re:フルスクリーンへの移行がうまくいきません…    
裏画面反映(ScreenFlip)の前に画面のモード切り替えを入れたらどうなりますか?
どこかで意図的に処理が止められていた場合何か操作しないと画面が出てこないというのならばわかるのですが。 編集済み


63ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(28ポイント)   Date: 2010/02/22(月) 01:53   No:48431     
Title: Re:フルスクリーンへの移行がうまくいきません…    
結局同じです
なぜかfunc_stateを0にすると描画がうまくいくのですが…


28ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(938ポイント)   Date: 2010/02/22(月) 02:12   No:48432     
Title: Re:フルスクリーンへの移行がうまくいきません…    
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=451
ここで書かれているようにChangeWindowMode 関数を呼び出した後、再度 SetDrawScreen( DX_SCREEN_BACK );を
実行する必要があるそうです。
画面設定が消えているということなので、描画内容が消えるのもうなずけます。
画面切り替えした後、SetDrawScreenを実行し、さらに再描画する必要があるみたいです。

念のために上のソースも弄っておきます 編集済み


114ポイント を手に入れた。

Name: yu  ..熟練のプログラマー(42,190ポイント)   Date: 2010/02/22(月) 10:34   No:48436     
Title: Re:フルスクリーンへの移行がうまくいきません…    
DXライブラリのリファレンスページの
ChangeWindowModeの項目の注意書きに記してありますが、

SetDrawScreen等の再設定もそうですが、
読み込んだ画像データやフォントも消えてしまいます。
ですので、もう一度ロードしなければ画像を描画できないようです。

http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R11N1


137ポイント を手に入れた。

Name: Stanry  ..ぴよぴよ(959ポイント)   Date: 2010/02/22(月) 12:50   No:48441     
Title: Re:フルスクリーンへの移行がうまくいきません…    
ロード内容初期化までされちゃうんですか。
そこまで見てなかったので私も勉強になります。


21ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(44ポイント)   Date: 2010/02/22(月) 18:39   No:48449     
Title: Re:フルスクリーンへの移行がうまくいきません…    
わかりました
試してみます


16ポイント を手に入れた。

Name: Yuno  ..ぴよぴよ(341ポイント)   Date: 2010/02/23(火) 00:48   No:48477 解決!     
Title: Re:フルスクリーンへの移行がうまくいきません…    
最終的にこのようにしたところ解決いたしました

main.cpp

void CWM(){
    char Buf[ 256 ] ={0};
            GetHitKeyStateAll( Buf ) ; 

            if(( Buf[ KEY_INPUT_LALT ] == 1 || Buf[ KEY_INPUT_RALT ] == 1 )&&
                func_state!=104) 
            { 
                if( Buf[ KEY_INPUT_RETURN  ] == 1 ){ 
                    if( GetWindowModeFlag() == 0){ 
                        ChangeWindowMode( TRUE );//ウインドウにする
                        t_func_state=func_state;
                    }else{ 
                                  ChangeWindowMode( FALSE ); 
                        t_func_state=func_state;
                    } 
                    SetDrawScreen( DX_SCREEN_BACK );
                    load();
                    reini();
                }
            }
}

ini.cpp

void reini(){

    Ini3Dbackground();//(60)
    Ini3D_01();//(60)

}


どうもありがとうございました


297ポイント を手に入れた。




 
[ 1 , ... ]
 
 
管理者画面   RSS   + Powered By 21style +