コウです、よろしくお願いします!
「ゼロからプログラミングを始める」人に役立つ情報を発信しています。
今回はなんとDay50!
ついに50日目ですよみなさん。
あなたがもし毎日見てくれているとしたら、
2ヶ月程度経っていることになります。
それだけの時間を自主勉強に費やしている人はあまりいないかもしれませんね!
それでは「値を増やす」どうぞ!!
解答例
まずは解答例を確認しましょう。
解答例
コードの解答例は次のようになります。
解答例を動画で確認する
上記のコードを実行した結果がこちらになります。
ステージ攻略「値を増やす」
ステージを攻略していきましょう!
まずはステージをどうまわるか考えます。
今回はワイヤーフレームがあり、宝石の位置や数が毎回変わります。
ワイヤーフレームについては↓こちらからどうぞ
説明文にもありますが、
すべてのマスで宝石があるかどうかを調べなければなりません。
そこでwhileループを使います。
whileループは、与えた条件から外れるまで指示を繰り返すのでしたね。
詳しくは↓から!
whileループの条件
whileループの条件は『壁にぶつかるまで』とします。
しかし、この条件では左の画像のようにはじめの直線しか調べることができません。
ぶつかった時点でwhileループは終了しますからね。
そこで、ループの中に仕掛けを作ります。
それは、『壁にぶつかったら右を向く』というものです。
③の13行目から15行目までの部分です。
こうすることで、右を向いた後にも壁があるということでなければwhileループは継続します。
ステージの端から端まで行って右を向くとそこも壁なので、ここでループが終わるということです。
宝石を取ったら+1
さて、数を数えていきます。
前回までは宝石を取ったら変数の値を自分で書き換えていました。
例えば、初期値が0の時に宝石を取ったら
gemCounter = 1
そこからもう1つ取ったら
gemCounter = 2
というように0を1に、1を2に書き換えていた。
これはあまり利便性が高くありませんよね。
結局自分で数を数えなければならないので。
数えるのをコンピュータに任せるにはどうしたらいいか。
それが『+1』です。
これを使えば自動的に前の値に1を足すことができます。
以下のような式で使います。
var 変数名 = 初期値
変数名 = 変数名 + 1
まずは変数を宣言します。
その上で『変数名=変数名+1』とすることで、
『ここからの変数は今までの変数に+1したものだよ』
とSwiftに教えることができます。
『gemCounter = gemCounter + 1』を
『collectGem()』の後ろに付けることで、
『宝石を取ったら+1』が完成します!
まとめ:値を増やす
前回と同じステージ名で、同じように値を増やしましたが
増やし方が違いましたね。
今回のポイントを振り返りましょう。
- 『変数名 = 変数名 +1』で1ずつ数を増やすことができる
次回はDay51「7つの宝石を集める」でお会いしましょう!それでは!!