2016-06-10 2 views
0

Я только начал кодировать, так что просто просто не знаю большинства вещей. Я хочу сделать простую игру. Я объясню коротко: когда пользователь нажал кнопку «Нажмите, чтобы начать», вы увидите 7 из 52 карт в колоде карт. Я сделал это, создав несколько кнопок, которые содержат изображение задней стороны карты. Поэтому, когда пользователь нажимает кнопку, откроется 7 карт со случайной картой.Прикрепление значения к массиву не невозможно, как добавить значение к кнопке/массиву/изображению?

Во-первых, я создал массив, чтобы добавить все мои имена фото к контроллеру представления, как это:

var MasterAllCards = ["2_of_clubs", "2_of_spades", "2_of_diamonds", "2_of_hearts", "3_of_clubs", "3_of_spades", "3_of_diamonds", "3_of_hearts", "4_of_clubs", "4_of_spades", "4_of_diamonds", "4_of_hearts", "5_of_clubs", "5_of_spades", "5_of_diamonds", "5_of_hearts", "6_of_clubs", "6_of_spades", "6_of_diamonds", "6_of_hearts", "7_of_clubs", "7_of_spades","7_of_diamonds","7_of_hearts", "8_of_clubs", "8_of_spades", "8_of_diamonds", "8_of_hearts", "9_of_clubs", "9_of_spades", "9_of_diamonds", "9_of_hearts", "10_of_clubs", "10_of_spades", "10_of_diamonds", "10_of_hearts", "jack_of_clubs", "jack_of_spades", "jack_of_diamonds", "jack_of_hearts", "queen_of_clubs", "queen_of_spades", "queen_of_diamonds", "queen_of_hearts", "king_of_clubs", "king_of_spades", "king_of_diamonds", "king_of_hearts", "ace_of_clubs", "ace_of_spades", "ace_of_diamonds", "ace_of_hearts"] 

Чем я создал выход IBAction на мой взгляд контроллера, с моей мыши кнопку, чтобы начать как а затем:

@IBAction func testt(sender: UIButton) { 
    TheGoButton.enabled = false 
    TheGoButton.hidden = true 
    SlotCard1.setImage(UIImage(named: randomcardpicker("Cardslot1")), forState: UIControlState.Normal) 
    Playablecard1.setImage(UIImage(named: randomcardpicker("Playablecard1")), forState: UIControlState.Normal) 
    Playablecard2.setImage(UIImage(named: randomcardpicker("Playablecard2")), forState: UIControlState.Normal) 
    Playablecard3.setImage(UIImage(named: randomcardpicker("Playablecard3")), forState: UIControlState.Normal) 
    Playablecard4.setImage(UIImage(named: randomcardpicker("Playablecard4")), forState: UIControlState.Normal) 
    Playablecard5.setImage(UIImage(named: randomcardpicker("Playablecard5")), forState: UIControlState.Normal) 
    Playablecard6.setImage(UIImage(named: randomcardpicker("Playablecard6")), forState: UIControlState.Normal) 
    Playablecard7.setImage(UIImage(named: randomcardpicker("Playablecard7")), forState: UIControlState.Normal) 
    //sender.setImage(UIImage(named: randomcardpicker("Cardslot1")), forState: UIControlState.Normal) 
} 

Моя функция "randomcardpicker" нижеследовал:

func randomcardpicker (WhatCarduPlay: String) -> String { 
    let randomIndex = Int(arc4random_uniform(UInt32(MasterAllCards.count))) 
    let RandomCard = AllCards[randomIndex] 
    let RandomValueOfTheCard = AllValues[randomIndex] 
    MasterAllCards.removeAtIndex(randomIndex) 
    AllValues.removeAtIndex(randomIndex) 
    StoreHereAllValues.append(RandomValueOfTheCard) 
    StoreHereAllCards.append(RandomCard) 

    return RandomCard 
} 

Как вы можете видеть, я добавил много случайных вещей, потому что не могу понять, как добавить значение добавления в массив, например Int. Теперь кнопка изменится на изображение правильно, но эта кнопка/изображение должна удерживать значение, которое я могу использовать позже, чтобы сравнить 2 значения. Я кое-что прочитал об Enums, но я не мог понять, будет ли это работать на моем коде.

Итак, мой вопрос: как добавить значение к этой кнопке, чтобы я мог использовать это, чтобы сравнить его с другими кнопками в будущем?

Поскольку я пишу это, мне было интересно, чтобы значение изображения было названием этой кнопки, поэтому я могу легко прочитать значение. Поправьте меня, если я ошибаюсь!

+0

Ой, теперь я вижу, что я вообще не объяснил игру ... Игра, которую я хочу воссоздать, - это Волшебные башни. Просто для удовольствия :) – NoKey

+0

Существует много способов сделать это. Простейшим может быть установка свойства «tag» каждой из кнопок. Вы также можете хранить ссылки на кнопки в массиве в известном порядке. Вы можете подклассифицировать UIButton для сохранения некоторого дополнительного состояния. –

+0

Прохладный приятель, не знал о тегах. Теперь моя проблема решена :). – NoKey

ответ

1

Простым подходом может быть установка свойства tag на каждом UIButton, чтобы определить, с кем вы имеете дело.

Смежные вопросы