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

Swift

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

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

19.01.2017, 17:44. Просмотров 438. Ответов 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     Приложение
Посмотрите здесь:

Приложение в фоне или как свернуть приложение? - Delphi FireMonkey
Робота приложения в фоне или как свернуть приложение. может уже кто сталкивался и разобрался? а то я ничего не нашел(

Управляемое приложение, обычное приложение - 1С
Всем привет. Вопрос про Управляемое приложение и обычное приложение. Как понимаю разница между ними ощутимая, посему хочу понять что...

Приложение работает не на всех устройствах ("Приложение остановлено") - Delphi FireMonkey
Здравствуйте. у меня такая проблема. Написал программу в Delphi embarcaderoxe5 для моб устройств. приложение на моем устройстве работает....

Разработать приложение приложение - C++
Задача: нужно написать приложение, которое будет регистрироваться на порту 80, и в случае прихода HTPP-запроса передавать фиксированную...

Скомпилировать приложение так, чтобы другое приложение было у него в ресурсах - C#
Хочу написать программу-компилятор, в которой нужно указать файл, и она скомпилирует другую программу, с указанным в ней файлом в качестве...

.NET 4.x Приложение со всеми библиотеками, или как запустить приложение без установленного FW - C#
Извините, если для профессионалов эта тема покажется уже заезженной, но я не нашла решения в интернете. Я в целях обучения языку С#...

консольное приложение (при запуске приложение открывалось на весь экран) - C++
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Как java-приложение может попросить OS запустить внешнее приложение? - Java
Как java-приложение может попросить OS запустить внешнее приложение?

Приложение написано на x64, не могу открыть это же приложение на Win32 - C#
Всем доброго дня или вечера. Помогите пожалуйста, я написал приложение си шарпе платформа виндоус 64 разрядный теперь не могу открыть вот...

Запустить приложение, и получить результат, который вернуло отработавшее приложение - C++ WinAPI
Всем привет! Народ подскажите апишку(ки) для реализации следующей задачи. Мне нужно проверить соответствие введенного пользователем...


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

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

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