2017-01-23 48 views
0

私はswiftを使用してタイルベースの単語ゲームを作成しようとしており、タイルに表示されている文字をランダム化する必要があります(A-Zから)。私はこれを行うためのさまざまな方法について読んできましたが、私はそれを特定の変数に対して機能させることができませんでした。これまでのところちょうど彼らが正しく表示さを確認するために、私はレイアウトやインターフェースに取り組んでいますので、私は唯一の手動入力文字を持っているランダムな文字A-Zを生成するSwift

var availableTiles: [Character]!

:私は現在、定義された変数を持って

func randomizeAvailableLetter() { 

    availableTiles = ["X", "B", "F", "H", "K", "V"] 

} 

ご覧のとおり、6タイルに表示される文字はハードコードされていますが、これらの文字をランダムにする必要があります。無作為化された文字を表示するために、ハードコードされた部分を置き換えるのは何ですか?

+0

? 6文字のそれぞれがAからZまでの任意の文字であることを意味しますか? – matt

+0

はい、タイルごとに1文字があり、任意の文字A〜Zにすることができます。 –

+0

[ランダムな英数字の文字列をSwiftで生成する]の複製があります(http://stackoverflow.com/questions/26845307/generate-random-alphanumeric-string-in-swift) –

答えて

3

あなたはこのようなものである機能を使用することができます:「これらの手紙」「ランダム」にするためのルールは何

func randomizeAvailableLetters(tileArraySize: Int) -> Array<String> { 
    let alphabet: [String] = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] 
    var availableTiles = [String]() 
    for i in 0..<tileArraySize { 
    let rand = Int(arc4random_uniform(26)) 
    availableTiles.append(alphabet[rand]) 
    } 
    return(availableTiles) 
} 

print(randomizeAvailableLetters(tileArraySize: 6)) //["X", "B", "F", "H", "K", "V"] 
+0

ここで私はこのコードをviewDidLoadの下に置いています: 'randomizeAvailableLetters() 'あなたが提案したコードを追加しようとするとエラーが1つ発生します:"パラメータ 'tileArraySize'の引数が見つからない場合は " –

+0

' tileArraySize'は配列のサイズ、つまり '6'は' randomizeAvailableLetters(tileArraySize:6 )) 'または、常にサイズの配列が6の場合は、パラメータを使用しないように関数を変更してください。 – shash678

+0

よろしくお願いいたします。それはエラーを修正しました! –

関連する問題