2015-05-11 2 views
2
class GameViewController: UIViewController { 
    func shuffle<C: MutableCollectionType where C.Index == Int>(var list: C) -> C { 
    let c = count(list) 
    for i in 0..<(c - 1) { 
     let j = Int(arc4random_uniform(UInt32(c - i))) + i 
     swap(&list[i], &list[j]) 
    } 
    return list 
} 
@IBOutlet weak var backround: UIImageView! 
@IBOutlet weak var button1: UIButton! 
@IBOutlet weak var button2: UIButton! 
@IBOutlet weak var button3: UIButton! 
@IBOutlet weak var button4: UIButton! 
@IBOutlet weak var button5: UIButton! 
@IBOutlet weak var Earthy: UIImageView! 
@IBOutlet weak var Blocker: UIImageView! 
@IBOutlet weak var asteroid5: UIImageView! 
@IBOutlet weak var asteroid4: UIImageView! 
@IBOutlet weak var asteroid3: UIImageView! 
@IBOutlet weak var asteroid2: UIImageView! 
@IBOutlet weak var asteroid1: UIImageView! 


let realAsteroid = UIImage(named: "Asteroid") 
     var numberArray = ["1", "2", "3", "4", "5"] 
var playerScore = 0 
var aliveOrNah:Bool = true 
var positioningNumRock = arc4random_uniform(5) + 1 
var positioningNumBlocker = arc4random_uniform(5) + 1 

     //set random numbers 
override func viewDidLoad(){ 

    var shuffledNumArray:Array = shuffle(numberArray) 
    println(shuffledNumArray) 
    var but1String:String = shuffledNumArray[0] 
    var but2String:String = shuffledNumArray[1] 
    var but3String:String = shuffledNumArray[2] 
    var but4String:String = shuffledNumArray[3] 
    var but5String:String = shuffledNumArray[4] 


    self.button1.setTitle(but1String,forState: UIControlState.Normal) 
    self.button2.setTitle(but2String,forState: UIControlState.Normal) 
    self.button3.setTitle(but3String,forState: UIControlState.Normal) 
    self.button4.setTitle(but4String,forState: UIControlState.Normal) 
    self.button5.setTitle(but5String,forState: UIControlState.Normal) 
    var posRandNum = arc4random_uniform(5) + 1 

    func offWithTheRocks(){ 
    switch posRandNum{ 
    case 1: 
     self.asteroid1.center.y += view.bounds.height 
     UIView.animateWithDuration(10.0, animations: { 
      self.asteroid1.center.y -= self.view.bounds.height - 100 
     }) 



    case 2: 

     self.asteroid2.center.y += view.bounds.height 
     UIView.animateWithDuration(10.0, animations: { 
       self.asteroid2.center.y -= self.view.bounds.height - 100 
      }) 


    case 3: 

      self.asteroid3.center.y += view.bounds.height 
      UIView.animateWithDuration(10.0, animations: { 
       self.asteroid3.center.y -= self.view.bounds.height - 100 
      }) 


    case 4: 

      self.asteroid4.center.y += view.bounds.height 
      UIView.animateWithDuration(10.0, animations: { 
       self.asteroid4.center.y -= self.view.bounds.height - 100 
      }) 


    case 5: 

      self.asteroid5.center.y += view.bounds.height 

         UIView.animateWithDuration(10.0, animations: { 
       self.asteroid5.center.y -= self.view.bounds.height - 100 
      }) 



    default: 
     break 
    } 
    } 

}Почему моя программа Swift не работает и не работает?

}

Этот код строит успешно, но всякий раз, когда я нажал на кнопку воспроизведения, чтобы перейти к этой точке зрения программы киосков и выше код не будет работать. Какие-либо предложения? Кто-нибудь знает, что я сделал неправильно? Я новичок, поэтому я знаю, что я мог совершить тупая ошибка или что-то в этом роде.

+0

Можете ли вы сузить с помощью точек останова или отладки, где он заглох? –

ответ

1

Код ключа/кода никогда не будет запущен, поскольку вы разместили его внутри объявления функции func offWithTheRocks(){ ... } и эта функция никогда не вызывается. Попробуйте удалить func offWithTheRocks(){ и связанный с ним трейлинг-код }.