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

Swift

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

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

19.01.2017, 17:44. Просмотров 555. Ответов 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.
        
    }
 }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2017, 17:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приложение (Swift):

Мультиязычное приложение - Программирование iOS
Добрый день! Разрабатываю текстовое приложение, которую собираюсь переводить на английский язык. Хочу понять, стоит создавать 2...

Сбилдить приложение - Программирование iOS
Добрый день, коллеги. У меня есть небольшое приложение, мне нужно выложить его в интернете для своих друзей. В общем сделать шаги, которые...

Приложение будильник - Программирование iOS
Ни у кого нет простого приложения &quot;будильник&quot;? Я нашел видеоуроки, сайты с примерами, но не могу запустить виртуалку (по ходу комп не...

Многоэкранное приложение - Программирование iOS
Здравствуйте! Подскажите пожалуйста как сделать вот такое: Имеется SingleViewApplication. Нужно чтобы он отображался в течении 2-3...

Приложение на IOS - Программирование iOS
Всем добрый день! Мне нужно приложение на IOS для мебельной компании. Пример я оставляю тут стиль и оформление нужно...

Вход в приложение - Программирование iOS
Привет всем. Хочу спросить, как лучше сделать такой вход в приложение? на экране 9 точек и надо по узлам провести траекторию? ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2017, 17:44
Привет! Вот еще темы с ответами:

Делаем приложение на сайт - Программирование iOS
Всем привет Делаю приложение на сайт раньше с этим не связывался Сайт тоже делал сам на joomla Кто нибудь может обьяснить Как это...

Приложение, основанное на браузере - Программирование iOS
Возникла необходимость сделать клиент-приложение под adnroid, ios и win phone. Сроки ограничены, так что изучать разработку под яблоко и...

Приложение под iOS - Программирование iOS
Нужен программист для написания под iPhone (iPad) приложения со следующим функционалом: - пользователь из приложения фотографирует...

Обновить приложение в AppStore - Программирование iOS
Добрый день! Подскажите, вот, скажем, я выложила свое приложение а аппстор. А потом через пару недель изменила немного дизайн, кое-что...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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