Пример #1
0
        private string ButtonGameRows(RandomizeButtonGame bg)           // format button game instructions
        {
            StringBuilder ButtonGamesb      = new StringBuilder();
            string        ButtonGameHeading = "Button Game \n\n";
            string        ButtonGameHead    = "{LED} -> {Release on digit}\n";

            ButtonGamesb.Append(ButtonGameHeading);
            ButtonGamesb.Append(ButtonGameHead);

            for (int i = 0; i < colors.Length; i++)
            {
                string currentColor     = Converter.CharToStr(colors[i]);
                int    currentTimeValue = bg.TimeValues[i];

                ButtonGamesb.Append($"{currentColor} Color -> {currentTimeValue} \n");
            }

            return(ButtonGamesb.ToString());
        }
Пример #2
0
        private List <char> FormatData(RandomizeButtonGame bg, RandomizeMorseCodeGame mcg, RandomizeSimonSaysGame ssg)    // format data for Arduino
        {
            List <char> rows = new List <char>();

            char[] word = mcg.Word.ToArray();

            // <----- Button Game -----> //

            char color = colors[bg.Index];
            char digit = Converter.DecToHex(bg.TimeValues[bg.Index]);

            rows.Add(color);  // pick the chosen color
            rows.Add(digit);  // pick the chosen digit

            // <------ Morse Code -----> //

            char index = Converter.DecToHex(mcg.Indexes[mcg.IntIndex]);

            rows.Add(index);                      // add MCG index of the word

            for (int i = 0; i < word.Length; i++) // add MCG word as seperate rows
            {
                rows.Add(word[i]);
            }

            // <------ Simon Says -----> //

            for (int i = 0; i < ssg.Nums.Count; i++)
            {
                char currentNum = Converter.DecToHex(ssg.Nums[i]);
                rows.Add(currentNum);
            }

            for (int i = 0; i < ssg.Sequence.Count; i++)
            {
                char currentElement = Converter.DecToHex(ssg.Sequence[i]);
                rows.Add(currentElement);
            }

            return(rows);
        }
Пример #3
0
        private void Generate()
        {
            char[] values = new char[16] {
                'r', '2', '3', 'f', 'o', 'x', '0', '1', '2', '3', '2', '1', '3', '0', '1', '2'
            };
            List <char> hc   = new List <char>(values.ToList());
            List <char> rows = new List <char>();  // collection of all rows for the arduino

            // <----- Create sets of values -----> //

            ButtonGameValues    = new RandomizeButtonGame();
            MorseCodeGameValues = new RandomizeMorseCodeGame();
            SimonSaysGameValues = new RandomizeSimonSaysGame();

            // <----- Copy data ------> //

            rows.AddRange(FormatData(ButtonGameValues, MorseCodeGameValues, SimonSaysGameValues));

            // <----- Send data ------> //

            for (int i = 0; i < rows.Count; i++)
            {
                string currentRow = values[i].ToString();
                port.Write(currentRow);

                while (port.ReadExisting() != "1")
                {
                    Thread.Sleep(10);
                }
            }

            // <----- Display text -----> //

            label1.Text = ButtonGameRows(ButtonGameValues);
            label2.Text = SimonSaysGameRows(SimonSaysGameValues);
            label3.Text = MorseCodeGameRows(MorseCodeGameValues);
            label4.Text = String.Join(", ", rows);
        }