actionscript - Help with ratio and frequency -
मेरे पास निम्न है:
पैकेज {import flash.display.MovieClip; पब्लिक क्लास रेशियो मूविक्लिट {निजी वर् काउंटर: संख्या; निजी वारंवारता: संख्या; निजी वैर अनुपात: स्ट्रिंग; निजी var अधिकतम: संख्या; सार्वजनिक फ़ंक्शन अनुपात () {अनुपात = "2/8"; Var arr = ratio.split ("/"); Max = arr [1]; आवृत्ति = एआरआर [0]; काउंटर = 0; AddEventListener (Event.ENTER_FRAME, लूप, गलत, 0, सत्य); } निजी फ़ंक्शन लूप (ई: ईवेंट): शून्य {ट्रेस (काउंटर + ":" + (काउंटर & लेफ्टिनेंट; फ़्रीक्वेंसी)); काउंटर ++; अगर (काउंटर == अधिकतम) {काउंटर = 0; }} सार्वजनिक समारोह नष्ट (): शून्य {removeEventListener (Event.ENTER_FRAME, लूप); }}} यह कुछ ऐसे आउटपुट देता है:
0: सत्य 1: सच 2: गलत 3: गलत 0: सत्य 1: सच 2: गलत 3: झूठी लेकिन वास्तव में मैं क्या चाहूंगा:
0: सच 1: गलत 2: सच 3: गलत 0: सत्य 1: गलत 2: सच 3: गलत अर्थात् और भी फैलाव (प्रत्यावर्तन) ... ऐसा करने का एक तरीका है?
मुझे लगता है कि मैं यहाँ बिंदु याद किया है, लेकिन यह वांछित आउटपुट देना चाहिए:
निजी फ़ंक्शन लूप (ई: इवेंट): शून्य {ट्रेस (काउंटर + ":" +! बूलियन (काउंटर% 2) ); काउंटर ++; यदि (काउंटर == अधिकतम) काउंटर = 0; } अपडेट: हालांकि यह थोड़ा भारी हाथ मिल रहा है, निम्न एक वैकल्पिक फैलाव बनाता है जहां यह बिल्कुल संभव है। सब कुछ एक सीधे अनुक्रम में चलाता है हालांकि मैं गणितज्ञ नहीं हूं, और मुझे लगता है कि यह बेहतर हो सकता है। उदाहरण के लिए यह 3/9 के रूप में 1,1,1,0,0,0,0,0,0,0,0,0,0,0 का इलाज करेगा, जबकि एक 'अच्छा' वितरण हो सकता है 0,1,0 , 0,1,0,0,1,0 <पूर्व> var अनुपात: स्ट्रिंग = "3/5"; Var काउंटर: int = 0; Var arr = ratio.split ("/"); Var आवृत्ति: int = arr [0]; Var अधिकतम: int = arr [1]; addEventListener (Event.ENTER_FRAME, पाश); फ़ंक्शन लूप (ई: इवेंट): शून्य (यदि ((अधिकतम + 1) / आवृत्ति == 2 || अधिकतम / आवृत्ति == 2) {ट्रेस (काउंटर + ":" +! बुलियन (काउंटर% 2)); } और अगर ((अधिकतम -1) / आवृत्ति == 2) {ट्रेस (काउंटर + ":" + बूलियन (काउंटर% 2)); } और {ट्रेस (काउंटर & lt; आवृत्ति); } काउंटर ++; अगर (काउंटर == अधिकतम) removeEventListener (Event.ENTER_FRAME, लूप); }
Comments
Post a Comment