見出し画像

はじめてみよう。プログラミング! - Swift Playgroundsでゲーム作成-2。

穴から出入りできるようになりました。今のままでは単純に出て、入ってが規則的になっています。

if mole.center.y <= 0{
mVel = 0.3 }

不規則にするにはこの部分をランダムな数字に変えます

if mole.center.y <= 0{
mVel = Double.random(in: 0.2 ... 0.6)}

とすれば、"0.2 ... 0.6"の間でランダムな数字が作られます。(参考ホームページでは違う方法"arc4random"を使う方法が紹介されています。)

これで穴からモグラ的なものが出てきるところまでできました。タイマーを使って繰り返して行うことが重要です。

let timer  =  Timer.scheduledTimer(withTimeInterval: 0.05, repeats: true, block: { _ in
   mole.center.y += mVel
   if mole.center.y <= 0{
       mVel = Double.random(in: 0.2 ... 0.6)
   }else if mole.center.y >= 9.5{
       mVel *= -1.0
   }
})

"block:"以降で動きを定義してやることで動きが出ます。

1つモデルができました。これを複数配置することでゲームらしくしていきます。

 まず、どこに配置するかを決めてやる必要があります。その表示する場所を指定するには座標を指定する必要があります。

たくさんの座標を一度に指定するには配列が便利です。ひとまとめ記述することができます。

let locations = [
   [8.0,16.0],[-8.0,16.0],
   [-16.0,0.0],[0.0,0.0],[16.0,0.0],
   [-8.0,-16.0],[8.0,-16.0],
]

最小単位として

[x座標,y座標]

となります。例えば

[8.0,16.0]

と書いてあれば、x座標が"8.0",y座標が16.0"ということになります。

[-8.0,16.0]

だと、上の座標"[8.0,16.0]"と比べるとy座標が"16.0"と同じですのでx座標"-8.0"のみの変化ということは水平方向にずらした座標ということです。

画像1

7カ所の円が配置できます。

これをコードを書いて実行します。

for in ループで繰り返し。円の座標が7つ入った変数"locations"を使います。

for location in locations{

   let hole = Circle(radius: 4.0)
   
   hole.color = .orange
   
   hole.center = Point(x: location[0], y: location[1])
   
}

[x座標,y座標]となっていて配列番号で表すと[0,1]となります。

hole.center = Point(x: location[0], y: location[1])

円の中心座標を配列番号で示して、7つの配列で表される座標の位置に円を配置します(上記の画像のようになります)。

7つの円が描画できました。

この記事が気に入ったらサポートをしてみませんか?