swiftでstructを使ってゲームキャラクターのステータスを作ろうと考えています
そこで、今試している最中なのですが、structでステータスの種類を作り、そこにランダムで値を与えようとしているのですが名前をランダムで作ることができません
.randamElementを試しているのですが、Stringの値にするにはどうすればいいか教えてください
import UIKit class ViewController: UIViewController { struct bo { var name:String var firstname:String // 名前名字 var age:Int // 年齢性別出身地 init(name:String,firstname:String,age:Int) { self.name = name self.firstname = firstname self.age = age } } var aa = bo(name: "A", firstname: "A", age: 12) var namelist:[String] = ["kim","bob","lynn"] // 名前リスト var firstNamelist:[String] = ["brown","miller","wilson"] // 名字リスト @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var firstNameLabel: UILabel! @IBOutlet weak var resultLabel: UILabel! @IBOutlet weak var ageLabel: UILabel! @IBAction func dooo(_ sender: Any) { bo(name: <#String#>, firstname: <#String#>, age: <#Int#>) nameLabel.text = bo.name firstNameLabel.text = bo.firstname ageLabel.text = String(Int.random(in: 1 ... 10)) resultLabel.text = "名字は(bo.firstname)で名前は(bo.name)で年齢は()歳" // ボタンを押したらランダムに名字と年齢が生成されにresultLabelにも表示される } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } }
.randamElement()で名前リストと名字リストをシャッフルしてstuctでつくったboのそれぞれnameとfirstnameのなかに入れたいのですがどうすればいいのですか?
以下がシャッフルでやってみたやつです
import UIKit struct status { var name:[String] = [] var firstName:[String] = [] var age:Int init() { name = ["alex","kim"] firstName = ["elliot","miller"] age = 1 } } var naa = status() class ViewController: UIViewController { @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var firstNameLabel: UILabel! @IBOutlet weak var resultLabel: UILabel! @IBOutlet weak var ageLabel: UILabel! @IBAction func dooo(_ sender: Any) { // 以下名前 naa.name.shuffle() nameLabel.text = naa.name.first // 以下名字 naa.firstName.shuffle() firstNameLabel.text = naa.firstName.first ageLabel.text = String(Int.random(in:1...10)) // ボタンを押したらランダムに名字と年齢が生成されresultLabelにも表示される resultLabel.text = String(nameLabel.text! + firstNameLabel.text!) } override func viewDidLoad() { super.viewDidLoad() naa.name.append("jake") // ここで名前を追加できる naa.firstName.append("sss") // ここで名字を追加 // Do any additional setup after loading the view, typically from a nib. } }
回答1件
あなたの回答
tips
プレビュー