(1) rei0017.c~rei0019.c
- 次のプログラムは、画面に1から5までの数字をひとつずつ出すプログラムです。
printf("1 2 3 4 5");
- これを1から10までに改造しなさいといわれたらどうしますか?・・・そうですね、こうしますよね。
printf("1 2 3 4 5 6 7 8 9 10");
- でも1から100までといわれたらどうしますか?・・・まあ100までせっせと書いてもいいですが、書き間違えるかもしれません。それに1000になったりしたらさすがにもう書く気はおきません。
- そんなときはこうします。新しい命令を使う必要なんてありません。もうここまでで十分に勉強できているのです。
int a; a = 1; b: printf("%d ", a); if (a == 100) { goto c; } a = a + 1; goto b; c:
- これで100まで出ます。やったね!
- 新しい命令はないですが、 a = a + 1; について説明しておくほうがいいかもしれません。これは、aに覚えていた数字に1を加えてそれを覚えなおすということです。
- 変数とifとgotoがあれば、本当にいろいろなことができるのです。
(2) rei0020.c~rei0021.c waitで時間をかける
- 前回の rei0016.c みたいなゲームを作っていると、文字をもっとゆっくり書きたいなと思うことがあります。たとえば「あなたは...しんでしまった!」とか。そういうときはwait命令を使ってこうします。
printf("あなたは..."); wait(1000); printf("しんでしまった!");
- これで「あなたは...」のあと1秒待ってから「しんでしまった!」が表示されます。1000というのが1秒を表します。100なら0.1秒ですし、3000なら3秒です。
- もっとじれったくするのなら、こんなのはどうでしょうか?
printf("あなたは"); wait(500); printf("."); wait(500); printf("."); wait(500); printf("."); wait(500); printf("しんでしまった!");
- これだと全文が表示されるまで合計2秒かかることになります。・・・でも、やりすぎるとかえって嫌われるかもしれないので、演出はほどほどに(笑)。
(3) rei0022.c
- おふろにはいってゆっくり100まで数えます。
int a; a = 1; b: printf("%d ", a); if (a == 100) { goto c; } a = a + 1; wait(1000); goto b; c:
Counter: 106,
today: 3,
yesterday: 0
初版日時: 2011-02-17 (木) 10:42:06
最終更新: 2011-02-23 (水) 00:00:00 (JST) (319d) by lina
|
ぺージ情報 | 閲覧可 | 編集可 | |||
---|---|---|---|---|---|---|
ぺージ名 : | blike/intro/p0006 | グループ : | すべての訪問者 | グループ : | すべての訪問者 | |
ページ作成 : | lina | ユーザー : | すべての訪問者 | ユーザー : | すべての訪問者 | |
ページ別名 : | 未設定 |