ページ 11

C言語を憶えたくて

Posted: 2011年8月20日(土) 12:21
by OP
C言語について関係ないかなとは思っているのですが、あまりにも私はC言語を覚えられなくて困っています。
まだまだ初心者な私に誰か、良いC言語の憶え方など教えていただけると助かります。
それでもやっぱりこういう憶えるのは実際にコピーじゃなく書いたりしたほうがいいんでしょうか?

Re: C言語を憶えたくて

Posted: 2011年8月20日(土) 12:45
by softya(ソフト屋)
とりあえず、最初の頃はコピーよりは手打ちしたほうが良いでしょう。
あと、一行一行の意味を理解するようにされていますか?一行一行を理解して、それぞれの説明を日本語で書いてみてください。
数値を変えたらどうなるのか?とかなぜforでこの数字じゃないといけないのか?とか説明をできたり、forをwhileに置き換えてみたり、色々とチャレンジしてみることも必要です。
流れの理解としては、一行一行の並びを変えたらどうなるのか?この順番で並んでいけない訳は?など説明できるぐらい理解する必要があります。

例えば、
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
をまず理解してみて、ある程度理解できたなと思ったら、ゲームプログラミングの館の最初にある説明文と
「DXライブラリ置き場 リファレンスページ」
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
だけを見て下のプログラムと同じプログラムが書けるかチャレンジしてみてください。

こんな感じです。
「1.7章 裏画面処理をして画像を動かす」
http://dixq.net/g/01_07.html
引用
 6章で裏画面処理の必要性について説明しました。裏画面に画像を描画して、1フレーム分の画が出来たら表画面に反映する手順を踏みます。

と言っても、またもさすがのDXライブラリ。全く難しいことはありません。

・描画先を裏画面にする関数を最初に呼んでおく
・ループの最後に裏画面を表画面に反映する関数を呼ぶ

これだけで実現出来てしまいます。

描画先を裏画面にするには

SetDrawScreen( DX_SCREEN_BACK );

と最初に一度だけ書いておきます。

すると DrawGraph関数 など、描画する関数で画像を描画すると自動的に裏画面に描画されます。

後はループの最後に裏画面に描いた内容を表画面に反映する関数である ScreenFlip関数 を呼び出せばいいだけです。

今回も、ただこの関数を呼び出せばいいだけで詳しく知る必要はないので、関数の詳細は説明しません。
だけを見てプログラムを書いてみます。どうです。書けますか?

Re: C言語を憶えたくて

Posted: 2011年8月20日(土) 12:59
by OP
ありがとうございます!早速やってみたいとおもいます!

Re: C言語を憶えたくて

Posted: 2011年8月20日(土) 14:54
by softya(ソフト屋)
本当に理解できているかは、ここで実際にどれかのプログラムを日本語で書きだしてもらえば添削しますよ。
あと前の質問もそうですが、どうなったか結論は書いてくださいね。

フォラムルールにあるのですが、、
http://dixq.net/board/board.html
引用:また、解決した時は、「解決しました」とだけ言って去らず、ソースコードや解決した方法を明記して下さい。
よろしくお願いします。

Re: C言語を憶えたくて

Posted: 2011年8月21日(日) 12:50
by OP
日本語で訳すということをやってみたところ、なんとか覚えられそうなのでこのままやっていこうとおもいます!!ありがとうございました!!