コード例 #1
0
 private void Movechallenge_Load(object sender, EventArgs e)
 {
     viewarray = new List <ViewList>();
     for (int i = 0; i < studentname.Length; i++)
     {
         ViewList viewList = new ViewList();
         viewList.Settext((i + 1).ToString(), studentname[i]);
         if (i == 0) // 첫 줄은 타이틀
         {
             ViewList title = new ViewList();
             title.Settitle();
             result.Add(title.GetList());
             viewarray.Add(title);
         }
         viewarray.Add(viewList);
     }
     viewarray.ForEach(x => x.Dock = DockStyle.Top);
     viewarray.Reverse <ViewList>().ToList().ForEach(x => panel1.Controls.Add(x)); // 역순 추가해야 마지막이 최상단에 위치
     buzzer.SetMsgNo(Handle);
     if (!buzzer.SetConnection())
     {
         MessageBox.Show("수신기 연결 오류");
     }
     Receiver303.StartVote(buzzer.ComNo);
     checkbuzzer    = new bool[bps];
     rank           = new Dictionary <string, string>(studentname.Length);
     panel1.Visible = true;
 }
コード例 #2
0
 private void allcolor_Click(object sender, EventArgs e) // 전체 buzzer 색상변경
 {
     try
     {
         Receiver303.UpdateAllIdSame(buzzer.ComNo, 0, Convert.ToByte(comboBox1.Text), Convert.ToByte(comboBox2.Text),
                                     Convert.ToByte(comboBox3.Text), Convert.ToByte(comboBox4.Text));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #3
0
 private void eachcolor_Click(object sender, EventArgs e) // 선택 buzzer 색상변경
 {
     try
     {
         Receiver303.UpdateOneId(buzzer.ComNo, Convert.ToInt32(textBox2.Text) - 1, 0, Convert.ToByte(comboBox1.Text), Convert.ToByte(comboBox2.Text),
                                 Convert.ToByte(comboBox3.Text), Convert.ToByte(comboBox4.Text));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #4
0
 private void Pacer_Load(object sender, EventArgs e)
 {
     rank = new Dictionary <string, string>(studentname.Length);
     buzzer.SetMsgNo(Handle);
     if (!buzzer.SetConnection())
     {
         MessageBox.Show("수신기 연결 오류");
     }
     Receiver303.StartVote(buzzer.ComNo);
     Game.recordhistory = game.Recordhistory().OrderByDescending(x => x[1]).ToList();;  // 역대 recordhistory 가져오기
     Ranking();
 }
コード例 #5
0
 public void GameRule() // 게임 규칙
 {
     if (showstudent <= studentname.Length)
     {
         int id = Convert.ToInt32(buzzer.ID);
         for (int i = 0; i < checkbuzzer.Length; i++) // 버저의 눌림상태를 번호순으로 확인하여 순서대로 눌릴 수 있도록함
         {
             if (checkbuzzer[i] == false)
             {
                 if (i == (id - 1) % bps) //버저는 (bps * n) + 1번부터 (bps * n) + bps까지 할당
                 {
                     checkbuzzer[i] = true;
                     if (!studentname[showstudent - 1].StartsWith("unknown")) // unknown의 경우 DB접근 X
                     {
                         game.Buzzerdata(id, buzzer.Content, buzzer.Color, buzzer.Time);
                     }
                     if (i == 0) // 게임 시작
                     {
                         stopwatch.Restart();
                         return;
                     }
                     viewarray[showstudent].Settime(i, stopwatch.Elapsed.ToString().Substring(3, 8));
                     if (i == bps - 1) // 마지막 버저
                     {
                         stopwatch.Stop();
                         checkbuzzer = new bool[bps];
                         rank.Add(viewarray[showstudent].GetName(), viewarray[showstudent].Gettotal());
                         List <string> r = viewarray[showstudent].GetList();
                         result.Add(r);
                         game.UpdateRecord(game.getGamenum(), Convert.ToInt32(r[0]), r[7]); // 기록 DB저장
                         Ranking();
                         if (showstudent++ == studentname.Length)                           // 마지막 참가자
                         {
                             MessageBox.Show("게임종료");
                             Game.recordhistory = game.Recordhistory().OrderBy(x => x[1]).ToList(); // 역대 기록 갱신
                             GetResult.Enabled  = true;
                             Receiver303.StopVote(buzzer.ComNo);
                         }
                     }
                 }
                 else
                 {
                     break;
                 }
             }
         }
     }
 }
コード例 #6
0
        private void gamestart_Click(object sender, EventArgs e) // 게임 시작
        {
            gamename = ((Button)sender).Text;
            if (MessageBox.Show("게임을 생성하시겠습니까?", "확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                Receiver303 connectioncheck = new Receiver303();
                connectioncheck.SetMsgNo(Handle);
                if (!connectioncheck.SetConnection())
                {
                    MessageBox.Show("수신기 연결 오류로 게임생성 불가");
                    return;
                }
                gamepanel.Controls.Clear();
                Parent.Width = this.Width += 160;
                db.InsertGame(gamename);
                int[] stunum = new int[students]; // 학생 고유 번호
                int   unum   = 1;                 // unknown 번호
                for (int i = 0; i < students; i++)
                {
                    try
                    {
                        stunum[i] = Convert.ToInt32(texts[i].Text.Split('/')[0]);
                    }
                    catch
                    {
                        studentname[i] = studentname[i] == null ? "unknown" + unum++ : studentname[i];
                    }
                }
                db.InsertParticipate(stunum); // 참가인원 등록
                switch (gamename)
                {
                case "movechallenge":
                    Movechallenge movechallenge = new Movechallenge(studentname);
                    movechallenge.Dock = DockStyle.Fill;
                    gamepanel.Controls.Add(movechallenge);
                    break;

                case "pacer":
                    Pacer pacer = new Pacer(studentname);
                    pacer.Dock = DockStyle.Fill;
                    gamepanel.Controls.Add(pacer);
                    break;
                }
            }
        }
コード例 #7
0
 public void BuzzerSetting_VisibleChanged(object sender, EventArgs e) // 화면변경 시 버저 수신종료, 색상 변경 초기화
 {
     Receiver303.StopVote(buzzer.ComNo);
     Receiver303.UpdateAllIdSame(buzzer.ComNo, 0, 0, 0, 0, 0);
 }