プログラミングのアルゴリズムを分かりやすく簡単に、楽しく伝えるためにシャドウバースに例えて、for文を理解できるように解説します。シャドウバースとはオンラインカードゲームでeスポーツとしても知られています。それでは、Javaやc言語でよく使われるfor文の解説に入ります。
- for文とは
- 二重ループ
- 無限ループ
- breakの書き方
スポンサーリンク
1,for文とは
for文とは決められた回数、処理を繰り返す時に使われます。シャドバでfor文、繰り返し行なっていると言ったらこのカード!
カシオペア!可愛いカード!
「ランダムな相手フォロワー1体に1ダメージ。これを『自分の手札の枚数』と同じだけ行う。 まさしく、for文を使っています。OOの回数繰り返す。これをfor文で書いてみると↓こうなります。
遷移図に表すと↓こんな感じです。
手札分処理が繰り返され、iがtefuda以上になったら処理が終わります。
2,二重ループ
for文の二重ループはfor文の中にfor文があることです。
カードで例えたかったのですが、良い例が見つからずでしたが、カードパック購入の際に二重ループが使えると思いましたので、それを例にして解説していきます。
1パック8枚のパックが5パック開封する時の二重ループのfor文が↓になります。
8回ランダムなカードが表示されるのを5回行なっています。合計40枚のランダムなカードが表示された事になります。
3,無限ループ
シャドバで無限ループを使っているのは、ほどんどないでしょう。プログラムに無限ループがあった場合、そこで処理が無限にn繰り返されるのでバグになります。何か無限ループを抜ける手段を取れば、バグは回避できます。一応無限ループの書き方を↓で解説します。
無限ループは処理を抜ける条件が記述していないので、(“相手に1点ダメージ”)が無限に繰り返されています。この無限ループを抜ける方法を次の「4,breakの書き方」で説明します。
4,breakの書き方
上記で述べた無限ループを止める手段としてbreakと言うものがあります。無限ループだけではなく、繰り返し処理を行なっている時にある条件を満たした時、forループを抜けるようにもセットする事も出来ます。↓の文で解説していきます。
もし、HPが0以下になったら処理を抜ける(break)記述にしました。
for文を抜けると言う意味です。これで無限ループからは抜ける事ができます。通常のforループからもbreakを使う事で途中でループを抜ける事も出来ます。
ちなみにシャドバで上のような効果のカードがあったらゲーム崩壊ですが、、、
遷移図で表すと↓の感じです。
for文はプログラミングの基本になります。使い方次第で色々な処理、制御ができるので是非マスターしてください。
スポンサーリンク
コメント