इसलिए इस कोडबिट में मेरा लक्ष्य बेतरतीब ढंग से दो पासा रोल करना है और जैसा कि हम सभी जानते हैं कि आपके नियमित मरने के केवल 6 पक्ष हैं इसलिए मैंने arc4random_uniform (UInt32) तक पहुंच के लिए फाउंडेशन का आयात किया। मैंने बेतरतीब ढंग से 0 प्राप्त करने से बचने के लिए (1..7) की सीमा का उपयोग करने का प्रयास किया लेकिन फिर भी एक त्रुटि हुई जिसे मुझे बहुत मज़ा नहीं आया। मैंने ऐसा करने की कोशिश की:
dice1 = arc4random_uniform(UInt32(1..7))
हालांकि वह लौट आया
आपूर्ति किए गए तर्कों को स्वीकार करने वाले 'init' के लिए अधिभार नहीं मिला
मुझे आशा है कि यह आपकी जानकारी के लिए पर्याप्त जानकारी है।
कृपया ध्यान दें कि मैं केवल खेल के मैदान में तेजी से अभ्यास करने के लिए कर रहा हूं। यह जरूरी नहीं है कि मैं सीखूं कि यह कैसे करना है; वास्तविक ऐप्स बनाने में कूदने से पहले यह सिर्फ मेरे साथ छेड़छाड़ है: डी
//imports random number function
import Foundation
//creates data storage for dice roll
var dice1: UInt32 = 0
var dice2: UInt32 = 0
//counter variable
var i = 0
//how many times snake eyes happens
var snakeeyes = 0
//how many times a double is rolled
var `double` = 0
//rolls dice 100 times
while i < 100{
//from here
//sets dice roll
यह 'रेंज $ T3' की एक त्रुटि UInt32 के लिए परिवर्तनीय नहीं है
dice1 = arc4random_uniform(1..7) dice2 = arc4random_uniform(1..7)
//checks for snake eyes
if dice1 == 1 && dice2 == 1 {
snakeeyes = snakeeyes + 1
}
//checks for doubles
if dice1 == dice2{
`double` = `double` + 1
}
//increases counter
i = i + 1
//to here
}
println("You got Snake Eyes \(snakeeyes) times.")
println("You got Doubles, \(`double`) times.")
u_int32_t arc4random_uniform(u_int32_t upper_bound);
dice1 = arc4random_uniform(6) + 1
रेंज 1 - 6. पाने के लिए करना चाहिए। मैं आईओएस ऑब्जेक्टिव सी नहीं करता हूं और न ही स्विफ्ट-लैंग्वेज का कोई ज्ञान है। यादृच्छिक विधि आपको 0 - 5, और + 1 1 - 6.