🎃
CodeWithChris Day 8: Day 8: Adding the App Logicの記憶
CodeWithChrisでSwiftを学んでいる
学んだことの記録を残していきます。
CodeWithChris の How to Make an App in 8 Days を進めています。
CodeWithChris - The Leader in iOS Foundations Training : CodeWithChris https://codewithchris.com/
画像をランダムに置き換える
カード表示
以下のコードで実現している。
var playerCard = "card7"
Image(playerCard)
ランダム生成
Dealボタンがタップされると以下のタスクが機能してランダムに置き換わる
func deal(){
// Random the players card
playerCard = "card" + String(Int.random(in: 2...14))
}
@Stateの利用
この変更だとsyntaxエラーとなった。
変数の定義の頭に@Stateを追加した。
@State var playerCard = "card7"
Viewの状態管理のために@Stateを利用するようだ。
SwiftUIでは、@Stateプロパティラッパーを使用して、ビューの状態を管理します。@Stateは、ビューの状態を表すプロパティに付与され、その値が変更されるたびにビューが自動的に更新されます。
if文の使い方
if, else if分岐
var a = 4
var b = 20
var c = 40
if a > b {
// aがbより大きい
print("Bang!")
}
else if b > c {
// bがcより大きい
print("Shoot!")
}
else {
// 上記以外
print("hello")
}
ゲームのスコアにif文を利用
ランダム整数のみの値を変数定義
画像ファイル名の数字部分をランダム整数を生成していた。カードの数字を比較するためにランダム整数部分を変数に置き換えた。
// Random the players card
var playerCardValue = Int.random(in: 2...14)
playerCard = "card" + String(playerCardValue)
if文を利用してカードの数を比較してスコアを変更する
playerCardValueとcpuCardValueを比較して、値が大きい方のスコアに1を加える
// Update the score
if playerCardValue > cpuCardValue {
//Add 1 to player score
playerScore += 1
}
else if cpuCardValue > playerCardValue {
//Add 1 to cpu score
cpuScore += 1
}
完成したもの
イメージ
操作動画
Day8を終えた感想
Swiftはプログラミング知識がない自分にも触れやすい。(まだ課題が簡単だからか)
SwiftUIもとっつきやすい。
コードを書いた部分の変更がすぐに反映されて確認できるのがわかりやすい。
(過去に触れていたHTMLとCSSのコーディングの感覚に似ている)
今後の展望
プログラミングと、SwiftUIでどうやって画面を作るかのインプットを継続していこう。
Discussion