OsamaSaif نشر 18 نوفمبر 2015 أرسل تقرير نشر 18 نوفمبر 2015 أقوم بالعمل على لعبة بطاقات playing cards على iOS بلغة البرمجة swift ، عندي 52 بطاقة أريد أن أغيّر ترتيبيهم في المصفوفة بشكل عشوائي كل مرة كيف أفعل ذلك؟ اقتباس
0 Lujain Maaz نشر 19 نوفمبر 2015 أرسل تقرير نشر 19 نوفمبر 2015 يوجد عدّة طرق لتغيير ترتيب عناصر في مصفوفة بشكل عشوائي في Swift، الطريقة الأولى هي باستخدام Shuffle كـ دالة method.اكتب الشيفرة التالية:func shuffle<C: MutableCollectionType where C.Index == Int>(var list: C) -> C { let c = count(list) if c < 2 { return list } for i in 0..<(c - 1) { let j = Int(arc4random_uniform(UInt32(c - i))) + i swap(&list[i], &list[j]) } return list } shuffle([1, 2, 3, 4, 5, 6, 7, 8]) // e.g., [6, 1, 8, 3, 2, 4, 7, 5] shuffle(["hello", "goodbye", "ciao"]) // e.g., ["ciao", "goodbye", "hello"]الطريقة الثانية باستخدام (extension (shuffle as a mutating array methodاكتب الشيفرة التالية:extension Array { mutating func shuffle() { if count < 2 { return } for i in 0..<(count - 1) { let j = Int(arc4random_uniform(UInt32(count - i))) + i swap(&self[i], &self[j]) } } } var numbers = [1, 2, 3, 4, 5, 6, 7, 8] numbers.shuffle()الطريقة الثالثة باستخدام (extension (shuffle as a non-mutating array methodاكتب الشيفرة التالية:extension Array { func shuffled() -> [T] { if count < 2 { return self } var list = self for i in 0..<(list.count - 1) { let j = Int(arc4random_uniform(UInt32(list.count - i))) + i swap(&list[i], &list[j]) } return list } } let numbers = [1, 2, 3, 4, 5, 6, 7, 8] let mixedup = numbers.shuffled() // e.g., mixedup == [6, 1, 8, 3, 2, 4, 7, 5] 1 اقتباس
السؤال
OsamaSaif
أقوم بالعمل على لعبة بطاقات playing cards على iOS بلغة البرمجة swift ، عندي 52 بطاقة أريد أن أغيّر ترتيبيهم في المصفوفة بشكل عشوائي كل مرة كيف أفعل ذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.