[[授業]]

* 目的:簡単なゲーム製作を通してC言語によるプログラミングの基礎を学ぶ。 [#tf972eaa]

* Hellow world [#nd51cafe]
- printf
- 変数、変数の型、整数型、文字列型
- コンパイルと実行
 % cc hello.c
 % ./a.out

&ref(hello.c); &ref(hello2.c); &ref(hello3.c);

* Hello world (ncurses版) [#pd815d04]
- mvaddstr
- コンパイルと実行
 % cc foo.c -lncurses
 % ./a.out
- 画面の初期化と終了
- 色指定

&ref(hello4.c); &ref(hello5.c);

* お絵描き [#af9e8673]
- キー入力でペンを上下左右に移動、色を変更できる、画面クリア、
- switch文、if文
-

* ビープ音でオルガンを作る [#jbda19e6]
- beep()

* パズル [#jc47c952]
&ref(puzzle.c);
- 関数
- 配列とポインタ(二次元配列を一次元配列のように扱う)、添字は0から始まる。
- 変数の値の入れ替え、配列要素の入れ替え
- 乱数
- 初期化 ... 任意の二つの数字を奇数回入れ替えると、解けない問題になる。乱数を直接用いてもダメ。⇒ 1〜9 の数字を順に並べておき、実際に偶数回入れ替える。
- 初期化後、9 が入っている座標を探す。
- さらに、タイマーを追加し、時間の早さを競う
- 数字のコマを大きくし、色をつけて、それらしく見せる
- 4×4にする
- 対戦する(複数キーの入力検知できる?)

* ボールゲーム [#mde768a2]
- アニメーション
++直線運動 &ref(ball.c);
++表示の高速化 &ref(ball2.c);
++画面の周囲で反射 &ref(ball3.c);
- 微分方程式の解法(オイラー法)
++重力場 &ref(ball4.c);
++速度をキー操作 &ref(ball5.c);
- 当たり判定、画面の文字を読む
++mvinnstr &ref(ball6.c);
++

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS