Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
Лика96
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 2
#1

Приложение - Swift

19.01.2017, 17:44. Просмотров 336. Ответов 0
Метки нет (Все метки)

Здравствуйте) Помогите начинающему программисту)
Написала приложение, где игрок ходит по игровому полю в виде лабиринта, но он перепрыгивает с клетки сразу на новую клетку, а мне нужно чтобы проходил в каждой клетке. Как это сделать? Код :
Код
import UIKit
import AVFoundation

var kubik = 0
var kubik2 = 0
var pers1win: Bool = false
var pers2win: Bool = false     

class ViewController2: UIViewController{
    var go_sound = AVAudioPlayer()
    var go_sound2 = AVAudioPlayer()
    let pers1i = UIImage(named: "daemon.png")!
    let pers1v = UIImageView()
    let pers2i = UIImage(named: "pinguin.png")!
    let pers2v = UIImageView()            
    var x: [Int] = [0,40,80,120,160,200,240,280,280,240,200,160,120,80,40,0,0,40,80,120,160,200,240,280,280,240,200,160,120,80,40,0,0,40,80,120,160,200,240,280,280,240,200,160,120,80,40,0,0,40,80,120,160,200,240,280,280,240,200,160,120,80,40,0]
    var y: [Int] = [300,300,300,300,300,300,300,300,260,260,260,260,260,260,260,260,220,220,220,220,220,220,220,220,180,180,180,180,180,180,180,180,140,140,140,140,140,140,140,140,100,100,100,100,100,100,100,100,60,60,60,60,60,60,60,60,20,20,20,20,20,20,20,20]                
    
    @IBOutlet weak var hod1: UILabel!          
    @IBOutlet weak var hod2: UILabel!
    @IBOutlet weak var go: UIButton!
    func pers1_view(){
        pers1v.image = pers1i
        pers1v.frame.size.width = 40
        pers1v.frame.size.height = 40
        UIView.animate(withDuration: 0.8, animations: {
            self.pers1v.frame.origin.x = CGFloat(self.x[kubik])
            self.pers1v.frame.origin.y = CGFloat(self.y[kubik])
        })
        view.addSubview(pers1v)
    }
    
    @IBOutlet weak var kub_img: UIImageView!
    
    func kubik_go() -> Int{
        let k = Int(arc4random_uniform(6)+1)                
        let kub_num : String = "kub" + String(k) + ".png"  
        let ki: UIImage = UIImage(named: kub_num)!
        kub_img.image = ki
        view.addSubview(kub_img)
        return k
    }
    func pers2go(){                                   
        kubik2 += kubik_go()
        let sound2 = NSURL(fileURLWithPath:
            Bundle.main.path(forResource: "pers2go2", ofType: "wav")!)
        do{
            go_sound2 = try AVAudioPlayer(contentsOf: sound2 as URL)
            go_sound2.prepareToPlay()
            go_sound2.play()
        }
        catch{
            print("Error!")
        }
        if (kubik2<63){
            pers2_view()
        }
        else {
            if (pers2win != true)
            {
                kubik2 = 63
                pers2_view()
                pers2win = true
            }
            else
            {
                kubik2 = 0
                pers2_view()
                kubik = 0
                pers1_view()
                pers2win = false
                hod1.text = "Текущая позиция 2го игрока: \(kubik)"
                }
        }
        hod2.text = "Текущая позиция 2го игрока: \(kubik2)"
        go.isUserInteractionEnabled = true
    }
    
    @IBAction func go(_ sender: UIButton) {
        kubik += kubik_go()
        let sound = NSURL(fileURLWithPath:
            Bundle.main.path(forResource: "pers2go1", ofType: "wav")!)
        do{
            go_sound = try AVAudioPlayer(contentsOf: sound as URL)
            go_sound.prepareToPlay()
            go_sound.play()
        }
        catch{
            print("Error!")
        }
        if (kubik<63){
            if (kubik2 != 63)
            {
            pers1_view()
            go.isUserInteractionEnabled = false
       var _ = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(ViewController2.pers2go), userInfo: nil, repeats: false)
            }
            else {
                let alert = UIAlertController(title: "Вы проиграли!", message: "Печалька...", preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
                self.present(alert, animated: true, completion: nil)
                kubik = 0
                pers1_view()
                kubik2 = 0
                pers2_view()
                pers1win = false
                hod2.text = "Текущая позиция 2го игрока: \(kubik2)"
                pers2win = false
            }
        }
        else {
            if (pers1win != true)
            {
                kubik = 63
                pers1_view()
                pers1win = true
            }
            else
            {
             
                let alert = UIAlertController(title: "Вы победили!", message: "Поздравляем!", preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
                self.present(alert, animated: true, completion: nil)
                kubik = 0
                pers1_view()
                kubik2 = 0
                pers2_view()
                pers1win = false
                hod2.text = "Текущая позиция 2го игрока: \(kubik2)"
            }
        }
        hod1.text = "Текущая позиция 1го игрока: \(kubik)"
        }
    
    func pers2_view(){
        pers2v.image = pers2i
        pers2v.frame.size.width = 40
        pers2v.frame.size.height = 40
        UIView.animate(withDuration: 0.8, animations: {
            self.pers2v.frame.origin.x = CGFloat(self.x[kubik2])
            self.pers2v.frame.origin.y = CGFloat(self.y[kubik2])
        })
        view.addSubview(pers2v)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        pers1_view()
        pers2_view()
        
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
        
    }
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2017, 17:44     Приложение
Посмотрите здесь:

приложение в C#
Управляемое приложение, обычное приложение 1С
Delphi FireMonkey Приложение в фоне или как свернуть приложение?
Microsoft windows приложение не отвечает . Возможно, что приложение ответит , если подождать Windows 7
При нажатии на кнопку приложение вылетает Swift
Скомпилировать приложение так, чтобы другое приложение было у него в ресурсах C#
Приложение работает не на всех устройствах ("Приложение остановлено") Delphi FireMonkey
Поймал вирус Advanced PC Care, Амиго браузер, спутник маил ру, приложение вк, приложение одноклассники
Как сделать подобное приложение? Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru