import UIKit

class ViewController: UIViewController {
    var imageArray:Array<UIImageView> = Array()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.view.backgroundColor = .white
        
        let viewWidth:CGFloat = self.view.frame.width
        let viewHeight:CGFloat = self.view.frame.height
        
        //インスタンスの生成
        for i in 0..<9 {
            let imgView:UIImageView = UIImageView()
            imgView.image = UIImage(named: "AppIcon")
            imgView.contentMode = .scaleAspectFit
            imgView.frame.size = CGSize(width: 200, height: 200)
            imageArray.append(imgView)
            self.view.addSubview(imageArray[i])
        }
        
        //アニメーション
        //1列目
        imageArray[0].center = CGPoint(x: -viewWidth / 2, y: viewHeight * 0.6)
        imageArray[1].center = CGPoint(x: 0, y: viewHeight * 0.3)
        imageArray[2].center =  CGPoint(x: viewWidth / 2, y: 0)
        
        //2列目
        imageArray[3].center = CGPoint(x: -viewWidth / 2, y: viewHeight * 1.2)
        imageArray[4].center = CGPoint(x: 0, y: viewHeight * 0.9)
        imageArray[5].center = CGPoint(x: viewWidth / 2, y: viewHeight * 0.6)
        imageArray[6].center = CGPoint(x: viewWidth, y: viewHeight * 0.3)
        
        //3列目
        imageArray[7].center = CGPoint(x: viewWidth / 2, y: viewHeight * 1.2)
        imageArray[8].center = CGPoint(x: viewWidth, y: viewHeight * 0.9)
        
        //アニメーションの設定
        //4秒間かけて、一定の速さで繰り返しのアニメーションを行う
        UIView.animate(withDuration: 4, delay: 0.0, options: [.repeat, .curveLinear], animations: {
            //1列目
            self.imageArray[0].center = CGPoint(x: 0, y: viewHeight * 0.3)
            self.imageArray[1].center = CGPoint(x: viewWidth / 2, y: 0)
            self.imageArray[2].center = CGPoint(x: viewWidth, y: -viewHeight * 0.3)
            
            //2列目
            self.imageArray[3].center = CGPoint(x: 0, y: viewHeight * 0.9)
            self.imageArray[4].center = CGPoint(x: viewWidth / 2, y: viewHeight * 0.6)
            self.imageArray[5].center = CGPoint(x: viewWidth, y: viewHeight * 0.3)
            self.imageArray[6].center = CGPoint(x: viewWidth * 1.5, y: 0)
            
            //3列目
            self.imageArray[7].center = CGPoint(x: viewWidth, y: viewHeight * 0.9)
            self.imageArray[8].center = CGPoint(x: viewWidth * 1.5, y: viewHeight * 0.6)
        },completion:nil)

    }
}