C/C++

2013年5月23日 (木)

C言語のお勉強 ポインタ編 第3回

先生

ポインタ変数も変数だ

生徒

そうですね

先生

ポインタ変数にもとうぜん識別番号が振られている。識別番号は喩えだが

生徒

そういうことになりますね

先生

ポインタ変数の識別番号を格納する変数もまたポインタ変数だ

生徒

あれ?そこはポインタへのポインタとか言うんじゃないですか?

先生

違うぞ。ポインタ変数はポインタ変数だ

生徒

どういうことですか?

続きを読む "C言語のお勉強 ポインタ編 第3回"

| | コメント (2)

2013年5月21日 (火)

C言語のお勉強 ポインタ編 第2回

生徒

ポインタは関数呼び出しの実引数を書き換えるのに使うと習いました

先生

ああ、うん、そうだね

生徒

何ですか?その煮え切らない感じ

先生

どうしてポインタを使わないと実引数を書き換えられないのか説明できるかい?

生徒

話を逸らしましたね。ええと、仮引数は実引数のコピーなので仮引数を書き換えても実引数に影響しない…ですよね

先生

そうだ。そのように実引数のコピーが仮引数に代入される仕組みを値渡しと呼ぶ

生徒

そこがポインタだと違うわけですね

先生

違わない

生徒

へ?

先生

違わないのだよ。引数の型がポインタであっても値渡しだ

生徒

どういうことですか?

続きを読む "C言語のお勉強 ポインタ編 第2回"

| | コメント (0)

2013年5月20日 (月)

C言語のお勉強 ポインタ編 第1回

先生

変数は値を入れる箱だという喩えを聞いたことがあるかい?

生徒

ええ、よくある喩えですね

先生

その箱にアクセスするとき変数名を使うね。例えばこんな具合だ

int i;
i = 100;
printf("%d\n", i);
先生

実はその箱には必ず識別番号が振られている。識別番号は喩えだが

生徒

識別番号ですか?何のために?

先生

もちろん箱にアクセスするためだ

生徒

変数名を使えばいいじゃないですか

先生

名前の無い変数もあるのさ。名前の付いた変数は寿命が決まっているが名前の無い変数にはそのような縛りがない

生徒

何ですか?それ

先生

いまは知らなくていいよ。名前に縛られないメリットは他にもある。要するに便利なのさ

続きを読む "C言語のお勉強 ポインタ編 第1回"

| | コメント (0)

2012年3月 1日 (木)

壁に沿って転がる玉

壁に沿って転がる玉

壁に沿って玉が転がるサンプルプログラムを作った。

マウスカーソルを左右に動かすとステージが玉を中心に回転する。

玉は常に画面の中心にあり、画面に対して下方向に落下する。

続きを読む "壁に沿って転がる玉"

| | コメント (0)

2011年11月21日 (月)

ノベルゲーム風に一文字ずつ表示する【UTF-8/SDL版】

SDL版作った。

SDL_ttfの関数にUTF-8文字列を渡すために、DXライブラリ版と違ってバッファにはUTF-8のまま記録する。SDL_ttf以外もSDLは基本UTF-8だし。

禁則文字の判定にはワイド文字を使う。Visual C++とMinGWは標準ライブラリでUTF-8に対応していないので、Win32 APIを使った関数に差し替える。MinGWは未確認。

続きを読む "ノベルゲーム風に一文字ずつ表示する【UTF-8/SDL版】"

| | コメント (0)

2011年11月19日 (土)

ノベルゲーム風に一文字ずつ表示する【UTF-8/DXライブラリ版】

ノベルゲーム風に一文字ずつ表示する』を、UTF-8文字列を読み込むようにしてみた。

いまのところゲームプログラムでShiftJIS以外は考えなくて良い気がするけれど、ふとSDLで作るなら必要だなあと思ってしまったので実験的に作ってみた。

将来必要になるかもしれないし。

そんなわけだが、今回はDXライブラリ版。

Visual C++のC/C++標準ライブラリはUTF-8に対応していないので、Win32 APIを使ってUTF-8のマルチバイト文字をワイド文字に変換。UNICODE版のAPIが使えるので内部ではワイド文字で持つようにした。

続きを読む "ノベルゲーム風に一文字ずつ表示する【UTF-8/DXライブラリ版】"

| | コメント (0)

2011年11月16日 (水)

ノベルゲーム風に一文字ずつ表示する

禁則処理付き折り返し文字列描画【ShiftJIS版/改行付き】』を改造して、ノベルゲーム風に一文字ずつ表示するサンプルプログラムを作ってみた。

続きを読む "ノベルゲーム風に一文字ずつ表示する"

| | コメント (0)

2011年11月13日 (日)

禁則処理付き折り返し文字列描画【ShiftJIS版/改行付き】

禁則処理付き折り返し文字列描画【ShiftJIS版】』を改行対応にした。

需要が大きいと思ったので作り置き。

続きを読む "禁則処理付き折り返し文字列描画【ShiftJIS版/改行付き】"

| | コメント (0)

2011年11月10日 (木)

禁則処理付き折り返し文字列描画【ShiftJIS版】

指定幅で折り返して文字列を描画するサンプルプログラム。

行頭禁則と行末禁則に対応。

制御文字には対応していないので強制改行とかは無し。

ShiftJIS専用。

DXライブラリと自前のフレームワークを使っている。

続きを読む "禁則処理付き折り返し文字列描画【ShiftJIS版】"

| | コメント (0)

2011年6月17日 (金)

曲がるレーザーの実装実験(6/6)

高速化を図ってみた。

曲がるレーザー 500本あたりでややコマ落ち

続きを読む "曲がるレーザーの実装実験(6/6)"

| | コメント (0)