プログラムというのは、コードを書きますよね。
それで、先頭から読んでいって、ページの最後にたどり着いてしまったら、もうそこで終わるはずだと思うんです。
なぜゲームなどはプレイしてる以上コードを読み続けることができるのが不思議です。
プログラムは一度読んだら終わりではないですか?
また、上から規則正しく読んでいくのにその順番にそった行動をプレイヤーがとらなかったとしてもゲームとして動くことができるのはなぜでしょうか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
ループ処理、それも無限ループを利用しています。
一番ミニマムに考えると、例えば無限ループの中でボタンの状態を監視する状態を作ったと仮定してみてください。
無限ループなのでずーっとボタンの状態を監視し続けます。
しかしあるとき、ユーザーがボタンを押したとしましょう。
すると次のループのチェックのタイミングではボタンが「押された」と検知できます。
そしてもし、その状態を元にif文を使って分岐処理を書いていたら、ユーザーがボタンを押している間だけ別の処理をする、ということが実現できますね。
この基本的な考えを元にゲームは構築されています。
ゲームの場合はもっと複雑に様々な処理が必要です。
ユーザーの入力から始まり、物理演算を行い、さらにはその状態を画面に描画しなければなりません。
そうした諸々の処理をするループを「ゲームループ」と呼んだりします。
要は無限ループを利用して画面に表示される内容を常にアップデートし続けている、と考えるとイメージしやすいかと思います。
投稿2016/02/24 06:48
総合スコア2283
0
いい質問ですね。RMさんの質問は新しい発見ができて私は好きです。
他の回答者にもあるようにループしているから、条件分岐しているからですね。
例えば、windowsPCにUSBを挿したら自動検知してくれますよね。
プログラムはUSBがささるまで自動検知する。実行中…(無限ループ処理)。
ささったら検知してマウントしてくれます。(条件分岐)。
これがもし無限ループしない場合はwindows立ち上げます。
USBを検知するプログラムが働きます。USBがありませんでした。プログラムを終了します。
後になってUSBをさします。プログラムはすでに終了しているため(実行していないため)検知してくれません。
投稿2016/02/24 07:41
総合スコア284
0
プログラムは大きく分けて「順次」「分岐」「反復」という構造があります。
「先頭から順に実行していく」は「順次」です。
「みかんを食べる、りんごを食べる、バナナを食べる」という具合。
「分岐」は条件によってやることを変えていきます。
「みかんがあったらみかんを食べる、りんごがあったらりんごを食べる」
「反復」は繰り返す構造です。
「りんごがある限りりんごを食べる、とにかくみかんを貰えるまで待って、貰えたら食べる」…
特に最後の「反復」があるので、プログラムはいきなり終わることがなく実行し続けます。
投稿2016/03/01 05:30
総合スコア1563
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
条件分岐してるから。
投稿2016/02/24 06:47
総合スコア992
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/24 07:50