//Preconditions: Words must be at least as big as the transformer interface array being passed in //Postconditions: Instantitates each trasformer type object in array with new transformer type object //The first 8 are regular transformers, then the last 24 are transformerIseqs with 8 of each type of Iseq private static ITransformer[] TransConstructor(ITransformer[] transArr, string[] words) { for (int i = 0; i < QuartersSize; i++) { transArr[i] = new Transformer(words[i]); } //Since TransformerIseq automatically mods by 3 to choose Iseq, it alternates //Which type of iseq to generate each time i increases for (uint i = QuartersSize; i < ArrSize; i++) { transArr[i] = new TransformerIseq(words[i], (uint)rand.Next(), i); } return(transArr); }
//Preconditions: None //Postconditions: Instantiates each index of Iseq interface array with a different Iseqs-type object, //8 of each type: Regular, RandomS, OscillateS, TransformerIseq (that contains 2 Iseqs and 3 RandomS 3 OscillateS objects) private static IIseqs[] SeqConstructor(IIseqs[] IseqsArr) { string blank = "blank"; for (int i = 0; i < QuartersSize; i++) { IseqsArr[i] = new Iseqs((uint)rand.Next()); } for (int i = QuartersSize; i < HalfSize; i++) { IseqsArr[i] = new RandomS((uint)rand.Next()); } for (int i = HalfSize; i < ThreeQuartersSize; i++) { IseqsArr[i] = new OscillateS((uint)rand.Next()); } for (uint i = ThreeQuartersSize; i < ArrSize; i++) { IseqsArr[i] = new TransformerIseq(blank, (uint)rand.Next(), i); } return(IseqsArr); }