func displayArrayGraphButtonTips() {
let myview1 = self.view.viewWithTag(2001) as! UIImageView
let myview2 = self.view.viewWithTag(2002) as! UIImageView
myView1.backgroundColor = .darkGray
myView2.backgroundColor = .darkGray
myView1.isUserInteractionEnabled = true
myView2.isUserInteractionEnabled = true
let h = myView1.frame.size.height
let w = myView1.frame.size.width
let padding : CGFloat = 5
let margin : CGFloat = 10
let grid_w = (w - margin * 2 - padding * CGFloat(cols - 1)) / CGFloat (cols)
let grid_h = (h - margin * 2 - padding * CGFloat(rows - 1)) / CGFloat (rows)
for i in 0..<rows {
for j in 0..<cols {
let x = margin + CGFloat(j) * (grid_w + padding)
let y = margin + CGFloat(i) * (grid_h + padding)
let rect = CGRect(x: x, y:y , width: grid_w, height: grid_h)
let fileName1 = iv1[i * cols + j]
let tag1 = i * cols + j + 5000
addButton(view: myView1, rect: rect, fileName: fileNamel, tag: tagl)
let fileName2 = iv2[i * cols + j]
let tag2 = i * cols + j + 4000
addButton(view: myView2, rect: rect,fileName: fileName2, tag:tag2)
}
}
}
func addButton(view:UIView,rect:CGRect,fileName:String,tag:Int) {
let img = UIImage(named: fileName)
let btn = UIButton(frame: rect)
btn.setImage(img, for: .normal)
var mytag = tag
if mytag >= 5000 {
mytag -= 5000
}
else if mytag >= 4000 {
mytag -= 4000
}
let row = Int (mytag / cols)
let col = mytag - cols * row
let result = errorCords.filter {
$0 == (row,col)
}
if result.count >= 1 && TipsFlag {
btn.backgroundColor = .blue
}
else{
btn.backgroundColor = .yellow
}
btn.tag = tag
btn.addTaiget(self, action: #selector(buttonCheckMusicTimer (_:)), for: .touchUpInside)
view.addSubview(btn)
}
@IBAction func onTips(_ sender : UIButton) {
TipsFlag =! TipsFlag
displayArrayGraphButtonTips()
}
@IBAction func onBegin(_ sender : UIButton) {
GameOver = false
beginTimestamp = getCurrentTimeStamp()
timeElapse()
initGame()
distractorCreate(mount: 5)
differenceCreate(mount: 3)
displayArrayGraphButtonTips()
}
func addButton(view:UIView,rect:CGRect,fileName:String,tag:Int) {
let img = UIImage(named: fileName)
let btn = UIButton(frame: rect)
btn.setImage(img, for: .normal)
var mytag = tag
if mytag >= 5000 {
mytag -= 5000
}
else if mytag >= 4000 {
mytag -= 4000
}
let row = Int (mytag / cols)
let col = mytag - cols * row
let result = errorCords.filter {
$0 == (row,col)
}
if result.count >= 1 && TipsFlag {
btn.backgroundColor = .blue
btn.tag = tag
btn.addTarget(self,action: #selector(buttonCheckMusicTimer (_:)), for:.touchUpInside)
view.addSubview(btn)
}
let result1 = cords.filter {
$0 == (row,col)
}
if result1.count >= 1 {
btn.tag = tag
btn.addTarget(self, action: #selector (buttonCheckMusieTimer(_:)), for:.touchupInside)
view.addSubview(btn)
}
}
func removeAllSubViews(view:UIView) {
if view.subviews.count>0 {
view.subviews.forEach({$0.removeFromSuperview()})
}
}
@IBAction func onTips(_ sender :UIButton) {
TipsFlag =! TipsFlag
displayArrayGraphButtonTips()
}
@IBAction func onBegin(_ sender : UIButton){
GameOver = false
beginTimestamp = getCurrentTimeStamp()
timeElapse()
initGame()
distractorCreate(mount: 10)
differenceCreate(mount: 8)
displayArrayGraphButtonTips()
}
@IBAction func onNext(_ sender : UIButton){
GameOver = true
TipsFlag = false
let myView1 = self.view.viewWithTag(2001) as! UIImageView
let myView2 = self.view.viewWithTag(2002) as! UIImageView
CurrentBackground += 1
if CurrentBackground > 4 {
CurrentBackground = 1
}
let image = UIImage(named: "back0\(CurrentBackground)")!
myView1.image = image
myView2.image = image
removeAllSubViews(view: myView1)
removeAllSubViews(view: myView2)
}