// public bool ExistRecord(Record Record) { string query = "SELECT [Contest_ID]" + " FROM [Record]"; DataTable dt = DA.SelectDatabase(query); int i = 0; if (dt != null) { foreach (DataRow item in dt.Rows) { if (Convert.ToInt32(item["Contest_ID"].ToString()) == Record.IDContest) { i++; } } } if (i== 0 || i<Record.AmountTeam) { return false; } else { return true; } }
//update record public bool EditRecordByIDContest(Record Record) { string query = "UPDATE [Record]" + " SET [Contest_ID]='" + Record.IDContest + "', [Player_ID]='" + Record.IDPlayer + "', [Phase_ID]='" + Record.IDPhase + "'" + ",[NumofCorrect]='" + Record.NumPass + "',[NumofIncorrect]='" + Record.NumFail + "',[Defy]='" + Record.Defy_I + "'" + ",[Support]='" + Record.Support_I + "',[Exist]='" + Record.Exist_I + "',[PhaseIndex]='" + Record.PhaseIndex + "'" + ",[PlayerScore]='" + Record.TeamScore + "',[TotalCorrect]='" + Record.TotalPass + "',[PlayerSequence]='" + Record.SequecePlayer + "',[PM]='" + Record.PM_I + "'" + ",[Undie]= '" + Record.Undie_I + "', [PlayerTurn] = '" + Record.PlayerTurn_I + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "' AND [Player_ID] = '" + Record.IDPlayer + "'"; return DA.UpdateDatabase(query); }
//Insert Record public bool AddRecord(Record Record) { string query = "INSERT INTO [Record]" + "([Contest_ID],[Player_ID],[Phase_ID],[NumofCorrect],[NumofIncorrect],[Defy],[Support],[Exist],[PhaseIndex]," + "[PlayerScore],[TotalCorrect],[PlayerSequence],[PM],[Undie],[PlayerTurn],[Turn],[Done],[First],[Sub])" + " VALUES ('" + Record.IDContest + "','" + Record.IDPlayer + "', '" + Record.IDPhase + "', '" + Record.NumPass + "'," + "'" + Record.NumFail + "','" + Record.Defy_I + "','" + Record.Support_I + "','" + Record.Exist_I + "', '" + Record.PhaseIndex + "'," + "'" + Record.TeamScore + "', '" + Record.TotalPass + "','" + Record.SequecePlayer + "', '" + Record.PM_I + "', '" + Record.Undie_I + "', '" + Record.PlayerTurn_I + "', '" + Record.Turn + "', '" + Record.Done_I + "', '" + Record.First_I + "', '" + Record.Sub + "')"; if (ExistRecord(Record) == true) { return false; } else { return DA.InsertDatabase(query); } }
////Update score, position, record after player have correct answer in phase public void PassQuestionInPhase(int score) { //Record Record Restore = new Record(); records.ElementAt(team).NumPass -= 1; //Number of correct Restore.NumPass = records.ElementAt(team).NumPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofCorrect(Restore); records.ElementAt(team).TotalPass++; //Total correct Restore.TotalPass = records.ElementAt(team).TotalPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTotalCorrect(Restore); records.ElementAt(team).TeamScore += score; //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); MoveNextPhaseHaveChallenge(); UpdateScreenAfterChallenge(); }
//////move to next phase when have challenge public void MoveNextPhaseHaveChallenge() { //Update team location in lane on audience screen foreach (Player_Lane1 PlayerLane in audience.pnl_Lane.Controls) { if (Convert.ToInt32(PlayerLane.lbl_SequencePlayer.Text) == sequenceplayer(records.ElementAt(team).IDPlayer)) { if (records.ElementAt(team).TotalPass == AmountPhase * AmountSteptoPass) {//move out lane when done all question in all phase //get bonus when team is the first champion if (records.ElementAt(team).First == true) { records.ElementAt(team).TeamScore += Bonus; //Record Record Restore = new Record(); //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); //check player done records.ElementAt(team).Done = true; Restore.Done_I = 1; Restore.IDContest = iDContest; Restore.IDPlayer = records.ElementAt(team).IDPlayer; RecordBL.UpdateDone(Restore); //check false all first //for (int i = 0; i < records.Count; i++) //{ // records.ElementAt(i).First = false; //} //Restore.First_I = 0; //Restore.IDContest = iDContest; //RecordBL.UpdateFirst(Restore); //Done = false; GameOver = true; //show icon to end when team have finished //pb_EndGame.Visible = true; } int H_Phase = (PlayerLane.Height - PlayerLane.btn_Team.Height - PlayerLane.lbl_Finish.Location.Y - PlayerLane.lbl_Finish.Height) / (AmountPhase * AmountSteptoPass); PlayerLane.btn_Team.Location = new Point(PlayerLane.btn_Team.Location.X + 0, PlayerLane.btn_Team.Location.Y - (H_Phase / 2 - PlayerLane.btn_Team.Height / 2) - PlayerLane.lbl_Finish.Height - PlayerLane.btn_Team.Height - 2); } else {//move after done each question int H_Phase = (PlayerLane.Height - PlayerLane.btn_Team.Height - PlayerLane.lbl_Finish.Location.Y - PlayerLane.lbl_Finish.Height) / (AmountPhase * AmountSteptoPass); PlayerLane.btn_Team.Location = new Point(PlayerLane.btn_Team.Location.X + 0, PlayerLane.btn_Team.Location.Y - H_Phase); } } } //move to next phase if (records.ElementAt(team).NumPass == 0) { //get phase Phase.IDContest = iDContest; List<Phase> ListPhase; ListPhase = PhaseBL.GetPhaseNormal(Phase); records.ElementAt(team).PhaseIndex += 1; records.ElementAt(team).NumFail = AmountSteptofail; records.ElementAt(team).NumPass = AmountSteptoPass; //Record Record Restore = new Record(); //Number of correct Restore.NumPass = records.ElementAt(team).NumPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofCorrect(Restore); //Number of incorrect Restore.NumFail = records.ElementAt(team).NumFail; RecordBL.UpdateNumofIncorrect(Restore); //Phase index Restore.PhaseIndex = records.ElementAt(team).PhaseIndex; RecordBL.UpdatePhaseIndex(Restore); if (records.ElementAt(team).PhaseIndex < AmountPhase) { records.ElementAt(team).IDPhase = ListPhase.ElementAt(records.ElementAt(team).PhaseIndex).IDPhase; //Record Restore.IDPhase = ListPhase.ElementAt(records.ElementAt(team).PhaseIndex).IDPhase; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateIDPhase(Restore); } else { //if phase out of range } } }
//--1 load Map in game public void loadMap() { Screen[] screens = Screen.AllScreens; if (screens.Count() > 1) { Rectangle bounds = screens[1].Bounds; audience.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); audience.StartPosition = FormStartPosition.Manual; audience.Show(); } else { audience.Show(); } //audience.Show(); audience.flp_PlayerAnswers.Controls.Clear(); audience.progressBarControl1.Value = 1; audience.btn_PM.Text = ""; CheckChallengeChoice = false; CheckQuestionPM = false; typequestion = ""; CorrectShortAnswer = ""; PlayerAnswerShortQuestion = ""; CorrectAnswerChallenge = ""; countTime = 0; if (team == records.Count) { team = 0; } int i = 0; //show all team on controller screen foreach (Team teamControllerScreen in flp_Team.Controls) { teamControllerScreen.BackgroundImage = Properties.Resources.team_2; teamControllerScreen.BackColor = Color.FromArgb(colorplayer(records.ElementAt(i).IDPlayer)); teamControllerScreen.lbl_TeamName.Text = nameplayer(records.ElementAt(i).IDPlayer); teamControllerScreen.lbl_TeamScore.Text = records.ElementAt(i).TeamScore.ToString(); teamControllerScreen.lbl_CurrentPhase.Text = NameofPhase(records.ElementAt(i).IDPhase); teamControllerScreen.chk_Challenged.Checked = false; teamControllerScreen.gb_team.Visible = false; teamControllerScreen.chk_QuestionPM.Checked = false; teamControllerScreen.chk_defy.Checked = false; teamControllerScreen.chk_Support.Checked = false; teamControllerScreen.flp_Answer.Controls.Clear(); teamControllerScreen.flp_Answer.Visible = false; teamControllerScreen.chk_Correct.Checked = false; teamControllerScreen.chk_Correct.Visible = false; i++; } //show lanes in audience screen Record Restore = new Record(); Restore.IDContest = iDContest; List<Record> ListRestore; ListRestore = RecordBL.GetRecordByIDContest(Restore); int k = 0; foreach (Player_Lane1 playerLane in audience.pnl_Lane.Controls) { playerLane.btn_Team.BackColor = Color.FromArgb(colorplayer(Convert.ToInt32(playerLane.lbl_IDPlayer.Text))); playerLane.BackColor = Color.Transparent; playerLane.HighLight(false); //show player lane on audience screen if (Run == true && SoundWelcome== true) { int H_Phase = (playerLane.Height - playerLane.btn_Team.Height - playerLane.lbl_Finish.Location.Y - playerLane.lbl_Finish.Height) / (AmountPhase * AmountSteptoPass); if (ListRestore.ElementAt(k).TotalPass == AmountSteptoPass*AmountPhase) { playerLane.btn_Team.Location = new Point(playerLane.btn_Team.Location.X + 0, playerLane.btn_Team.Location.Y - playerLane.btn_Team.Location.Y + 2); } else { playerLane.btn_Team.Location = new Point(playerLane.btn_Team.Location.X + 0, playerLane.btn_Team.Location.Y - (H_Phase / 2 + playerLane.btn_Team.Height / 2) - H_Phase * ListRestore.ElementAt(k).TotalPass); } } k++; } int j = 0; //show player information on audience screen foreach (Team_AudienceScreeen teamAdienceScreen in audience.flp_Team.Controls) { teamAdienceScreen.HighLight(false); teamAdienceScreen.HighLightChallenge(false); teamAdienceScreen.BackColor = Color.Transparent; teamAdienceScreen.lbl_TeamName.Text = nameplayer(records.ElementAt(j).IDPlayer); teamAdienceScreen.lbl_TeamScore.Text = records.ElementAt(j).TeamScore.ToString(); teamAdienceScreen.lbl_TeamScore.ForeColor = Color.White; teamAdienceScreen.lbl_TeamName.ForeColor = Color.White; teamAdienceScreen.btn_SupportChoice.BackColor = Color.SkyBlue; teamAdienceScreen.btn_ChallengeChoice.BackColor = Color.SkyBlue; //check support choice exist to show if (records.ElementAt(j).Support == true) { //keep image } else { //teamAdienceScreen.pb_SupportChoice.Image = Properties.Resources.het_y_kien; teamAdienceScreen.btn_SupportChoice.BackgroundImage = Properties.Resources.End_Support; } //check challenge choice exist to show if (records.ElementAt(j).Defy == true) { //keep image } else { //teamAdienceScreen.pb_ChallengeChoice.Image = Properties.Resources.het_thach_dau; teamAdienceScreen.btn_ChallengeChoice.BackgroundImage = Properties.Resources.Shield_Grey; } //show heart in player //////// if (records.ElementAt(j).Undie == false) { if (records.ElementAt(j).NumFail == 3) { teamAdienceScreen.pb_Heart1.Show(); teamAdienceScreen.pb_Heart2.Show(); teamAdienceScreen.pb_Heart3.Show(); } else { if (records.ElementAt(j).NumFail == 2) { teamAdienceScreen.pb_Heart1.Show(); teamAdienceScreen.pb_Heart2.Show(); teamAdienceScreen.pb_Heart3.Hide(); } else { if (records.ElementAt(j).NumFail == 1) { teamAdienceScreen.pb_Heart1.Show(); teamAdienceScreen.pb_Heart2.Hide(); teamAdienceScreen.pb_Heart3.Hide(); } else { teamAdienceScreen.pb_Heart1.Hide(); teamAdienceScreen.pb_Heart2.Hide(); teamAdienceScreen.pb_Heart3.Hide(); teamAdienceScreen.BackgroundImage = Properties.Resources.Team_Over_1; //hide all right teamAdienceScreen.btn_ChallengeChoice.Visible = false; ; teamAdienceScreen.btn_SupportChoice.Visible = false; teamAdienceScreen.flp_Heart.Visible = false; } } } //end game if (records.ElementAt(j).Exist == false) { teamAdienceScreen.BackColor = Color.Transparent; teamAdienceScreen.btn_ChallengeChoice.BackColor = Color.Transparent; teamAdienceScreen.btn_SupportChoice.BackColor = Color.Transparent; teamAdienceScreen.lbl_TeamScore.BackColor = Color.Transparent; teamAdienceScreen.lbl_TeamName.BackColor = Color.Transparent; teamAdienceScreen.flp_Heart.BackColor = Color.Transparent; teamAdienceScreen.BackgroundImage = Properties.Resources.Team_Over_1; //hide all right teamAdienceScreen.btn_ChallengeChoice.Visible = false; ; teamAdienceScreen.btn_SupportChoice.Visible = false; teamAdienceScreen.flp_Heart.Visible = false; } } else { teamAdienceScreen.pb_Heart1.Hide(); teamAdienceScreen.pb_Heart2.Hide(); teamAdienceScreen.pb_Heart3.Hide(); } j++; } //Clear panel audience.flp_AnswerQuiz.Controls.Clear(); audience.lbl_QuestionContent.Text = ""; audience.lbl_Phase.Text = ""; audience.lbl_typeQ.Text = ""; audience.lbl_Point.Text = ""; loadNumberQuestionInPhase(); //move to next step step++; }
//get score player public List<Record> GetsScoreplayerByIDContest(Record record) { List<Record> RecordList = new List<Record>(); string query = "SELECT [PlayerScore],[Player_ID],[Sub]" + " FROM [Record]" + " WHERE [Contest_ID] = '" + record.IDContest + "'"; DataTable dt = DA.SelectDatabase(query); //int i = 1; if (dt != null) { foreach (DataRow item in dt.Rows) { Record Record = new Record(); Record.TeamScore = Convert.ToInt32(item["PlayerScore"].ToString()); Record.IDPlayer = Convert.ToInt32(item["Player_ID"].ToString()); Record.Sub = Convert.ToInt32(item["Sub"].ToString()); RecordList.Add(Record); } } return RecordList; }
private void deleteSetupToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("Bạn muốn xóa cuộc thi này không?", "Xóa Thiết Đặt", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { Contest Contest = new Contest(); Phase Phase = new Phase(); Player Player = new Player(); Record Record = new Record(); ContestBL ContestBL = new ContestBL(); PhaseBL PhaseBl = new PhaseBL(); PlayerBL PlayerBL = new PlayerBL(); PhaseQuestionBL PhaseQuestionBL = new PhaseQuestionBL(); RecordBL RecordBL = new RecordBL(); Contest.IDContest = Convert.ToInt32(lbl_IDContest.Text); Phase.IDContest = Convert.ToInt32(lbl_IDContest.Text); Player.IDContest = Convert.ToInt32(lbl_IDContest.Text); Record.IDContest = Convert.ToInt32(lbl_IDContest.Text); RecordBL.DeleteRecordByIDContest(Record); PhaseQuestionBL.DeletePhaseQuestionbyIDContest(Phase); PlayerBL.DeletePlayerbyIDContest(Player); PhaseBl.DeletePhasebyIDContest(Phase); ContestBL.DeleteContestbyID(Contest); LoadAll(); EventHandler delete = onDelete; if (delete != null) { MyEventArgs args = new MyEventArgs(); args.IDNewGame = iD_NewGame; delete(this, args); } } }
//Get eventhadler check question PM void team_checkQuestionPM(object sender, EventArgs e) { int idPlayerUC = (e as MyEventArgs).IDPlayerUC; foreach (Team TeamCS in flp_Team.Controls) { if (TeamCS.IdPlayerUC == idPlayerUC) { DialogResult dr = MessageBox.Show("Are you sure to use Question PM?", "Game Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { try { List<Phase> ListPhase; Phase.IDContest = iDContest; ListPhase = PhaseBL.GetPhasePM(Phase); IDPhasePM = ListPhase.ElementAt(0).IDPhase; int countTeamChallenged = 0; //count team is challenged foreach (Team teamCS in flp_Team.Controls) { if (teamCS.chk_Challenged.Checked == true) { countTeamChallenged++; } } //show question have challenge choice if (CheckChallengeChoice == true) { if (countTeamChallenged == 0 || countTeamChallenged > NumofChallenge) { if (countTeamChallenged == 0) { MessageBox.Show("Please selected challenged team!"); TeamCS.chk_QuestionPM.Checked = false; } else { MessageBox.Show("Maxmimum number of team will be challenged is " + NumofChallenge); TeamCS.chk_QuestionPM.Checked = false; } } else { foreach (Team teamCS in flp_Team.Controls) { if (Convert.ToInt32(teamCS.lbl_Sequence.Text) == sequenceplayer(records.ElementAt(team).IDPlayer)) { //show question by id phase if (ShowQuestionByIDPhase(IDPhasePM) == true) { teamCS.gb_team.Visible = false; /////// records.ElementAt(team).PM = false; //Record Record Restore = new Record(); Restore.PM_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdatePM(Restore); CheckQuestionPM = true; //show audience screen lblHint.Text = guideline[3].ToString(); audience.tbc_ShowGame.SelectedTab = audience.tab_ShowQuestion; //sound show question try { axWindowsMediaPlayer1.URL = (Directory.GetCurrentDirectory()) + "\\Sound\\HienThiCauHoi.wav"; axWindowsMediaPlayer1.Ctlcontrols.play(); } catch (Exception) { } //axWindowsMediaPlayer1.settings.setMode("Loop", true); step++; } else { MessageBox.Show("Run out of questions PM. Please choose questions in phase"); OutOfQuestion(); } } } } } else {//show question don't have challenge choice foreach (Team teamCS in flp_Team.Controls) { if (Convert.ToInt32(teamCS.lbl_Sequence.Text) == sequenceplayer(records.ElementAt(team).IDPlayer)) { //show question by id phase if (ShowQuestionByIDPhase(IDPhasePM) == true) { if (records.ElementAt(team).Support == false) { teamCS.gb_team.Visible = false; teamCS.chk_Support.Visible = false; } else { teamCS.chk_Support.Visible = true; } teamCS.chk_QuestionPM.Visible = false; teamCS.chk_defy.Visible = false; /////// records.ElementAt(team).PM = false; //Record Record Restore = new Record(); Restore.PM_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdatePM(Restore); CheckQuestionPM = true; pb_Play.Enabled = true; //show audience screen lblHint.Text = guideline[3].ToString(); audience.tbc_ShowGame.SelectedTab = audience.tab_ShowQuestion; //sound show question try { axWindowsMediaPlayer1.URL = (Directory.GetCurrentDirectory()) + "\\Sound\\HienThiCauHoi.wav"; axWindowsMediaPlayer1.Ctlcontrols.play(); } catch (Exception) { } step++; } else { MessageBox.Show("Run out of questions PM. Please choose questions in phase"); OutOfQuestion(); } } } } } catch (Exception) { MessageBox.Show("Question is not set up in game. Please choose question in phase"); TeamCS.chk_QuestionPM.Checked = false; } } else { TeamCS.chk_QuestionPM.Checked = false; } } } }
//--7 Update point for player public void CalculteScore() { if (CheckChallengeChoice == true) { CalculateScoreChallenge(); } else { CalculateScoreNotChallenge(); } int NumPlayerEndGame = 0; //check number of player end game foreach (Record record in records) { if (record.Exist == false) { NumPlayerEndGame++; } } //End Game if (NumPlayerEndGame == AmountPlayer) { System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip(); ToolTip1.SetToolTip(this.pb_Play, "Game Over"); pb_Play.Visible = false; pb_SubContest.Visible = true; lblHint.Visible = false; GameOverAll = true; //pb_EndGame.Visible = true; UpdateScreenAfterChallenge(); Contest.EndContest = 1; ContestBL.EditStatusContestbyID(Contest); //back to initial foreach (Player_Lane1 playerLane in audience.pnl_Lane.Controls) { playerLane.BackColor = Color.Transparent; playerLane.HighLight(false); } foreach (Team_AudienceScreeen teamAdienceScreen in audience.flp_Team.Controls) { teamAdienceScreen.HighLight(false); teamAdienceScreen.HighLightChallenge(false); teamAdienceScreen.BackColor = Color.Transparent; teamAdienceScreen.lbl_TeamScore.ForeColor = Color.White; teamAdienceScreen.lbl_TeamName.ForeColor = Color.White; teamAdienceScreen.btn_SupportChoice.BackColor = Color.SkyBlue; teamAdienceScreen.btn_ChallengeChoice.BackColor = Color.SkyBlue; } ///////// } else { //move to another player CorrectAnswer = 0; PlayerCheck = 0; Record Restore1 = new Record(); Restore1.IDPlayer = records.ElementAt(team).IDPlayer; Restore1.IDContest = iDContest; List<Record> ListRecord1 = RecordBL.GetDoneGameByIDContest(Restore1); // || ListRecord1.ElementAt(0).First==false) if (GameOver == true) { if (records.ElementAt(team).SequecePlayer == records.ElementAt(records.Count-1).SequecePlayer) { System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip(); ToolTip1.SetToolTip(this.pb_Play, "Game Over"); pb_Play.Visible = false; pb_SubContest.Visible = true; lblHint.Visible = false; GameOverAll = true; UpdateScreenAfterChallenge(); //update status contest id this contest have run Contest.EndContest = 1; ContestBL.EditStatusContestbyID(Contest); //back to initial foreach (Player_Lane1 playerLane in audience.pnl_Lane.Controls) { playerLane.BackColor = Color.Transparent; playerLane.HighLight(false); } foreach (Team_AudienceScreeen teamAdienceScreen in audience.flp_Team.Controls) { teamAdienceScreen.HighLight(false); teamAdienceScreen.HighLightChallenge(false); teamAdienceScreen.BackColor = Color.Transparent; teamAdienceScreen.lbl_TeamScore.ForeColor = Color.White; teamAdienceScreen.lbl_TeamName.ForeColor = Color.White; teamAdienceScreen.btn_SupportChoice.BackColor = Color.SkyBlue; teamAdienceScreen.btn_ChallengeChoice.BackColor = Color.SkyBlue; } ///////// } } Record Restore = new Record(); //show on game controller screen if (team == records.Count-1) { foreach (Team teamCS in flp_Team.Controls) { if (Convert.ToInt32(teamCS.lbl_Sequence.Text) == sequenceplayer(records.ElementAt(0).IDPlayer)) { Restore.PlayerTurn_I = 1; Restore.IDPlayer = records.ElementAt(0).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } else { Restore.PlayerTurn_I = 0; Restore.IDPlayer = Convert.ToInt32(teamCS.lbl_IDPlayer.Text); Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } } } else { foreach (Team teamCS in flp_Team.Controls) { if (Convert.ToInt32(teamCS.lbl_Sequence.Text) == sequenceplayer(records.ElementAt(team+1).IDPlayer)) { Restore.PlayerTurn_I = 1; Restore.IDPlayer = records.ElementAt(team+1).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } else { Restore.PlayerTurn_I = 0; Restore.IDPlayer = Convert.ToInt32(teamCS.lbl_IDPlayer.Text); Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } } } team++; step = 1; } }
////Update score, position, record after player have correct answer in PM question have challenge public void UpdatePlayerChallengeInPM() { int countTeamTrue = 0; int countTeamFalse = 0; int BonusScoreQuestionPM = BonusScoreofPhase(IDPhasePM); int MinusScoreQuestionPM = MinusScoreofPhase(IDPhasePM); bool ownerChallenge = false; foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (playerAnswer.lbl_Check.Text == "true") { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) == records.ElementAt(team).IDPlayer) { ownerChallenge = true; } countTeamTrue++; } else { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) == records.ElementAt(team).IDPlayer) { ownerChallenge = false; } countTeamFalse++; } } //all team is correct if (countTeamTrue == audience.flp_PlayerAnswers.Controls.Count) { records.ElementAt(team).TeamScore += BonusScoreQuestionPM; //Record Record Restore = new Record(); //Team Score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); //update screen } //all team is incorrect if (countTeamFalse == audience.flp_PlayerAnswers.Controls.Count) { records.ElementAt(team).TeamScore -= MinusScoreQuestionPM; //Record Record Restore = new Record(); //Team Score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); //update screen } // if (countTeamTrue != audience.flp_PlayerAnswers.Controls.Count && countTeamFalse != audience.flp_PlayerAnswers.Controls.Count) { //owner challenge win if (ownerChallenge == true) { records.ElementAt(team).TeamScore += BonusScoreQuestionPM; //Record Record Restore = new Record(); //Team Score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) != records.ElementAt(team).IDPlayer && playerAnswer.lbl_Check.Text == "false") { for (int i = 0; i < records.Count; i++) { if (records.ElementAt(i).IDPlayer == Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text)) { records.ElementAt(i).TeamScore -= ChallengeScore; //Record score for challenged team Restore.TeamScore = records.ElementAt(i).TeamScore; Restore.IDPlayer = records.ElementAt(i).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).TeamScore += ChallengeScore; //Record score for defying team Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); } } } } //update screen } else {//Owner challenge lose records.ElementAt(team).TeamScore -= MinusScoreQuestionPM; //Record Record Restore = new Record(); //Team Score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) != records.ElementAt(team).IDPlayer && playerAnswer.lbl_Check.Text == "true") { for (int i = 0; i < records.Count; i++) { if (records.ElementAt(i).IDPlayer == Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text)) { records.ElementAt(i).TeamScore += ChallengeScore; //Record score for challenged team Restore.TeamScore = records.ElementAt(i).TeamScore; Restore.IDPlayer = records.ElementAt(i).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).TeamScore -= ChallengeScore; //Record score for defying team Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); } } } } } } }
////Pass question PM public void PassQuestionPM(int score) { records.ElementAt(team).TeamScore += score; //Record Record Restore = new Record(); //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); UpdateScreenAfterChallenge(); }
//Delete Record public bool DeleteRecordByIDContest(Record Record) { string query = "DELETE FROM [Record]" + " WHERE [Contest_ID] = '" + Record.IDContest + "'"; return DA.DeleteDatabase(query); }
//Update to team is undie public bool UpdateUndie(Record Record) { string query = "UPDATE [Record]" + " SET [Undie]= '" + Record.Undie_I + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "' AND [Player_ID] = '" + Record.IDPlayer + "'"; return DA.UpdateDatabase(query); }
//Update Total Pass public bool UpdateTotalCorrect(Record Record) { string query = "UPDATE [Record]" + " SET [TotalCorrect]='" + Record.TotalPass + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "' AND [Player_ID] = '" + Record.IDPlayer + "'"; return DA.UpdateDatabase(query); }
//Update Phase index public bool UpdatePhaseIndex(Record Record) { string query = "UPDATE [Record]" + " SET [PhaseIndex]='" + Record.PhaseIndex + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "' AND [Player_ID] = '" + Record.IDPlayer + "'"; return DA.UpdateDatabase(query); }
//Update number of incorrect public bool UpdateNumofIncorrect(Record Record) { string query = "UPDATE [Record]" + " SET [NumofIncorrect]='" + Record.NumFail + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "' AND [Player_ID] = '" + Record.IDPlayer + "'"; return DA.UpdateDatabase(query); }
//Update to team is the first public bool UpdateFirst(Record Record) { string query = "UPDATE [Record]" + " SET [First]= '" + Record.First_I + "'" + " WHERE [Contest_ID] = '" + Record.IDContest + "'"; return DA.UpdateDatabase(query); }
////Update score, position, record after player have correct answer in phase have challenge public void UpdatePlayerChallengeInPhase() { int countTeamTrue = 0; int countTeamFalse = 0; int BonusScoreInPhase = BonusScoreofPhase(records.ElementAt(team).IDPhase); int MinusScoreInPhase = MinusScoreofPhase(records.ElementAt(team).IDPhase); bool ownerChallenge = false; foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (playerAnswer.lbl_Check.Text == "true") { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) == records.ElementAt(team).IDPlayer) { ownerChallenge = true; } countTeamTrue++; } else { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) == records.ElementAt(team).IDPlayer) { ownerChallenge = false; } countTeamFalse++; } } //all team is correct if (countTeamTrue == audience.flp_PlayerAnswers.Controls.Count) { records.ElementAt(team).NumPass -= 1; //Record Record Restore = new Record(); //Number of Correct Restore.NumPass = records.ElementAt(team).NumPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofCorrect(Restore); records.ElementAt(team).TotalPass++; //Total correct Restore.TotalPass = records.ElementAt(team).TotalPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTotalCorrect(Restore); records.ElementAt(team).TeamScore += BonusScoreInPhase; //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); MoveNextPhaseHaveChallenge(); } //all team is incorrect if (countTeamFalse == audience.flp_PlayerAnswers.Controls.Count) { records.ElementAt(team).NumFail -= 1; //Record Record Restore = new Record(); //Number of incorrect Restore.NumFail = records.ElementAt(team).NumFail; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofIncorrect(Restore); records.ElementAt(team).TeamScore -= MinusScoreInPhase; //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); if (records.ElementAt(team).NumFail == 0 && records.ElementAt(team).Undie == false) { records.ElementAt(team).Exist = false; records.ElementAt(team).Defy = false; records.ElementAt(team).Support = false; //record Restore.Defy_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateDefy(Restore); Restore.Support_I = 0; RecordBL.UpdateSupport(Restore); Restore.Exist_I = 0; RecordBL.UpdateExist(Restore); } } // if (countTeamTrue != audience.flp_PlayerAnswers.Controls.Count && countTeamFalse != audience.flp_PlayerAnswers.Controls.Count) { //owner challenge win if (ownerChallenge == true) { records.ElementAt(team).TeamScore += BonusScoreInPhase; //Record Record Restore = new Record(); //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).NumPass -= 1; //Number of correct Restore.NumPass = records.ElementAt(team).NumPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofCorrect(Restore); records.ElementAt(team).TotalPass++; //Total correct Restore.TotalPass = records.ElementAt(team).TotalPass; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTotalCorrect(Restore); foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) != records.ElementAt(team).IDPlayer && playerAnswer.lbl_Check.Text == "false") { for (int i = 0; i < records.Count; i++) { if (records.ElementAt(i).IDPlayer == Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text)) { records.ElementAt(i).TeamScore -= ChallengeScore; //Team score for challenged team Restore.TeamScore = records.ElementAt(i).TeamScore; Restore.IDPlayer = records.ElementAt(i).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).TeamScore += ChallengeScore; //Team score for defying team Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); } } } } MoveNextPhaseHaveChallenge(); } else {//Owner challenge lose records.ElementAt(team).TeamScore -= MinusScoreInPhase; //Record Record Restore = new Record(); //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).NumFail -= 1; //Number of incorrect Restore.NumFail = records.ElementAt(team).NumFail; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofIncorrect(Restore); //////// if (records.ElementAt(team).NumFail == 0 && records.ElementAt(team).Undie == false) { records.ElementAt(team).Exist = false; records.ElementAt(team).Defy = false; records.ElementAt(team).Support = false; //record Restore.Defy_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateDefy(Restore); Restore.Support_I = 0; RecordBL.UpdateSupport(Restore); Restore.Exist_I = 0; RecordBL.UpdateExist(Restore); } foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text) != records.ElementAt(team).IDPlayer && playerAnswer.lbl_Check.Text == "true") { for (int i = 0; i < records.Count; i++) { if (records.ElementAt(i).IDPlayer == Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text)) { records.ElementAt(i).TeamScore += ChallengeScore; //Team score for challenged team Restore.TeamScore = records.ElementAt(i).TeamScore; Restore.IDPlayer = records.ElementAt(i).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); records.ElementAt(team).TeamScore -= ChallengeScore; //Team score for defying team Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); } } } } } } }
//get First public List<Record> GetDoneGameByIDContest(Record record) { List<Record> RecordList = new List<Record>(); string query = "SELECT [First]" + " FROM [Record]" + " WHERE [Contest_ID] = '" + record.IDContest + "' AND [Player_ID] = '" + record.IDPlayer + "'"; DataTable dt = DA.SelectDatabase(query); //int i = 1; if (dt != null) { foreach (DataRow item in dt.Rows) { Record Record = new Record(); Record.First = (bool)(item["First"]); RecordList.Add(Record); } } return RecordList; }
//Update postion in sub question public void UpdatePlayerChallengeInPM_1() { foreach (PlayerAnswer playerAnswer in audience.flp_PlayerAnswers.Controls) { if (playerAnswer.lbl_Check.Text == "true") { for (int i = 0; i < records.Count; i++) { if (records.ElementAt(i).IDPlayer == Convert.ToInt32(playerAnswer.lbl_IDPlayer.Text)) { records.ElementAt(i).Sub += 1; Record Restore = new Record(); //Team Score Restore.Sub = records.ElementAt(i).Sub; Restore.IDPlayer = records.ElementAt(i).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateSub(Restore); } } } else { } } }
////Update score, position, record after player have incorrect answer in phase public void FailQuestionInPhase(int score) { //Record Record Restore = new Record(); //minus life if team fail in question records.ElementAt(team).NumFail -= 1; //Number of incorrect Restore.NumFail = records.ElementAt(team).NumFail; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateNumofIncorrect(Restore); records.ElementAt(team).TeamScore -= score; //Team score Restore.TeamScore = records.ElementAt(team).TeamScore; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTeamScore(Restore); if (records.ElementAt(team).NumFail == 0 && records.ElementAt(team).Undie == false) { records.ElementAt(team).Exist = false; records.ElementAt(team).Defy = false; records.ElementAt(team).Support = false; //Record Restore.Defy_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateDefy(Restore); Restore.Support_I = 0; RecordBL.UpdateSupport(Restore); Restore.Exist_I = 0; RecordBL.UpdateExist(Restore); } UpdateScreenAfterChallenge(); }
//Get evenhanler check challenge choice void team_checkChallenge(object sender, EventArgs e) { int idPlayerUC = (e as MyEventArgs).IDPlayerUC; foreach (Team TeamCS in flp_Team.Controls) { if (TeamCS.IdPlayerUC == idPlayerUC) { DialogResult dr = MessageBox.Show("Are you sure to use Challenged Choice?", "Game Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { //record Record Restore = new Record(); Restore.Defy_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateDefy(Restore); records.ElementAt(team).Defy = false; //TeamCS.gb_team.Visible = false; TeamCS.chk_defy.Visible = false; CheckChallengeChoice = true; ShowTeamsChallenged(); //sound challenged try { axWindowsMediaPlayer1.URL = (Directory.GetCurrentDirectory()) + "\\Sound\\CapNhatDiem.wav"; axWindowsMediaPlayer1.Ctlcontrols.play(); } catch (Exception) { } foreach (Team_AudienceScreeen TeamAS in audience.flp_Team.Controls) { if (TeamCS.lbl_IDPlayer.Text == TeamAS.lbl_ID.Text) { TeamAS.HighLightChallenge(true); } } } else { TeamCS.chk_defy.Checked = false; } } } }
//Get contest content public void GetContestContent() { //get contest Contest.IDContest = iDContest; List<Contest> ListContest; ListContest = ContestBL.GetContestByID(Contest); if (ListContest != null) { for (int i = 0; i < ListContest.Count; i++) { AutoShowQuestion = ListContest.ElementAt(i).TimeShowQuestion; AutoShowAnswer = ListContest.ElementAt(i).TimeShowAnswer; AmountSteptoPass = ListContest.ElementAt(i).TimesTrue; AmountSteptofail = ListContest.ElementAt(i).TimesFalse; TimeSupport = ListContest.ElementAt(i).TimeSupport; Bonus = ListContest.ElementAt(i).Bonus; ChallengeScore = ListContest.ElementAt(i).ChallengceScore; NumofChallenge = ListContest.ElementAt(i).NumberChallenge; Run = ListContest.ElementAt(i).Run; } } //get phase Phase.IDContest = iDContest; List<Phase> ListPhase; ListPhase = PhaseBL.GetPhaseNormal(Phase); AmountPhase = ListPhase.Count; //get player Player.IDContest = iDContest; List<Player> ListPlayer; ListPlayer = PlayerBL.GetPlayerByIDContest(Player); AmountPlayer = ListPlayer.Count; Record Restore = new Record(); Restore.AmountTeam = AmountPlayer; if (Run == false) { if (ListPlayer != null) { for (int i = 0; i < ListPlayer.Count; i++) { if (ListPlayer.ElementAt(i) != null) { Team teamCS = new Team(); teamtTag++; teamCS.Tag = teamtTag; teamCS.IdPlayerUC = teamtTag; //subcribe event teamCS.checkSupport += team_checkSupport; teamCS.checkQuestionPM += team_checkQuestionPM; teamCS.checkChallenge += team_checkChallenge; teamCS.ChoiceChallengedTeam += team_ChoiceChallengedTeam; teamCS.checkCorrect += team_checkCorrect; //properties teamCS.BackColor = Color.FromArgb(colorplayer(ListPlayer.ElementAt(i).IDPlayer)); teamCS.lbl_TeamName.Text = ListPlayer.ElementAt(i).PlayerName; teamCS.lbl_TeamScore.Text = ListPlayer.ElementAt(i).PlayerScore.ToString(); teamCS.lbl_CurrentPhase.Text = ListPhase[0].NamePhase; teamCS.lbl_Sequence.Text = ListPlayer.ElementAt(i).Sequence.ToString(); teamCS.lbl_IDPlayer.Text = ListPlayer.ElementAt(i).IDPlayer.ToString(); teamCS.gb_team.Visible = false; idPlayer = ListPlayer.ElementAt(i).IDPlayer; if (AmountSteptofail == 0) { Record r = new Record(idPlayer, ListPhase[0].IDPhase, iDContest, AmountSteptoPass, AmountSteptofail, true, true, true, 0, ListPlayer.ElementAt(i).PlayerScore, 0, i, true, true,false,true,0); records.Add(r); //record Restore.IDContest = iDContest; Restore.IDPlayer = idPlayer; Restore.IDPhase = ListPhase[0].IDPhase; Restore.NumPass = AmountSteptoPass; Restore.NumFail = AmountSteptofail; Restore.Defy_I = 1; Restore.Support_I = 1; Restore.Exist_I = 1; Restore.PhaseIndex = 0; Restore.TeamScore = ListPlayer.ElementAt(i).PlayerScore; Restore.TotalPass = 0; Restore.SequecePlayer = ListPlayer.ElementAt(i).Sequence; Restore.PM_I = 1; Restore.Undie_I = 1; Restore.Turn = i; // Restore.Done_I = 0; Restore.First_I = 1; Restore.Sub = 0; RecordBL.AddRecord(Restore); } else { Record r = new Record(idPlayer, ListPhase[0].IDPhase, iDContest, AmountSteptoPass, AmountSteptofail, true, true, true, 0, ListPlayer.ElementAt(i).PlayerScore, 0, i, true, false, false, true,0); records.Add(r); //record Restore.IDContest = iDContest; Restore.IDPlayer = idPlayer; Restore.IDPhase = ListPhase[0].IDPhase; Restore.NumPass = AmountSteptoPass; Restore.NumFail = AmountSteptofail; Restore.Defy_I = 1; Restore.Support_I = 1; Restore.Exist_I = 1; Restore.PhaseIndex = 0; Restore.TeamScore = ListPlayer.ElementAt(i).PlayerScore; Restore.TotalPass = 0; Restore.SequecePlayer = ListPlayer.ElementAt(i).Sequence; Restore.PM_I = 1; Restore.Undie_I = 0; Restore.Turn = i; // Restore.Done_I = 0; Restore.First_I = 1; Restore.Sub = 0; RecordBL.AddRecord(Restore); } flp_Team.Controls.Add(teamCS); } } } } else { Restore.IDContest = iDContest; List<Record> ListRestore; ListRestore = RecordBL.GetRecordByIDContest(Restore); if (ListPlayer != null) { for (int i = 0; i < ListPlayer.Count; i++) { if (ListPlayer.ElementAt(i) != null) { Team teamCS = new Team(); teamtTag++; teamCS.Tag = teamtTag; teamCS.IdPlayerUC = teamtTag; //subcribe event teamCS.checkSupport += team_checkSupport; teamCS.checkQuestionPM += team_checkQuestionPM; teamCS.checkChallenge += team_checkChallenge; teamCS.ChoiceChallengedTeam += team_ChoiceChallengedTeam; teamCS.checkCorrect += team_checkCorrect; //properties teamCS.BackColor = Color.FromArgb(colorplayer(ListPlayer.ElementAt(i).IDPlayer)); teamCS.lbl_TeamName.Text = ListPlayer.ElementAt(i).PlayerName; // teamCS.lbl_TeamScore.Text = ListRestore[i].TeamScore.ToString(); teamCS.lbl_CurrentPhase.Text = NameofPhase(ListRestore[i].IDPhase); teamCS.lbl_Sequence.Text = ListPlayer.ElementAt(i).Sequence.ToString(); teamCS.lbl_IDPlayer.Text = ListRestore[i].IDPlayer.ToString(); teamCS.gb_team.Visible = false; if (ListRestore[i].PlayerTurn == true) { team = ListRestore[i].Turn; } //idPlayer = ListPlayer.ElementAt(i).IDPlayer; if (AmountSteptofail == 0) { Record r = new Record(ListRestore.ElementAt(i).IDPlayer, ListRestore.ElementAt(i).IDPhase , ListRestore.ElementAt(i).IDContest, ListRestore.ElementAt(i).NumPass , ListRestore.ElementAt(i).NumFail, ListRestore.ElementAt(i).Defy, ListRestore.ElementAt(i).Support , ListRestore.ElementAt(i).Exist, ListRestore.ElementAt(i).PhaseIndex, ListRestore.ElementAt(i).TeamScore , ListRestore.ElementAt(i).TotalPass, ListRestore.ElementAt(i).SequecePlayer , ListRestore.ElementAt(i).PM, ListRestore.ElementAt(i).Undie, ListRestore.ElementAt(i).Done, ListRestore.ElementAt(i).First, ListRestore.ElementAt(i).Sub); records.Add(r); } else { Record r = new Record(ListRestore.ElementAt(i).IDPlayer, ListRestore.ElementAt(i).IDPhase , ListRestore.ElementAt(i).IDContest, ListRestore.ElementAt(i).NumPass , ListRestore.ElementAt(i).NumFail, ListRestore.ElementAt(i).Defy, ListRestore.ElementAt(i).Support , ListRestore.ElementAt(i).Exist, ListRestore.ElementAt(i).PhaseIndex, ListRestore.ElementAt(i).TeamScore , ListRestore.ElementAt(i).TotalPass, ListRestore.ElementAt(i).SequecePlayer , ListRestore.ElementAt(i).PM, ListRestore.ElementAt(i).Undie, ListRestore.ElementAt(i).Done, ListRestore.ElementAt(i).First, ListRestore.ElementAt(i).Sub); records.Add(r); } flp_Team.Controls.Add(teamCS); } } } } }
//get eventhandler check support from audience choice void team_checkSupport(object sender, EventArgs e) { int idPlayerUC = (e as MyEventArgs).IDPlayerUC; foreach (Team TeamCS in flp_Team.Controls) { if (TeamCS.IdPlayerUC == idPlayerUC) { timer1.Stop(); audience.timer1.Stop(); DialogResult dr = MessageBox.Show("Are you sure to use supported choice?", "Game Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { //record Record Restore = new Record(); Restore.Support_I = 0; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateSupport(Restore); records.ElementAt(team).Support = false; //hide support choice on controller screen TeamCS.chk_Support.Visible = false; //show time on controller screen lbl_Time.Text = (Convert.ToInt32(lbl_Time.Text)+(TimeSupport)).ToString(); timer1.Start(); //show time on audience screen audience.lbl_TimeShowQuestion.Text = (Convert.ToInt32(audience.lbl_TimeShowQuestion.Text) + (TimeSupport)).ToString(); audience.progressBarControl1.Max = (int)audience.progressBarControl1.Value + (TimeSupport * 900); audience.progressBarControl1.Value += (TimeSupport*900); audience.timer1.Start(); try { axWindowsMediaPlayer1.URL = (Directory.GetCurrentDirectory()) + "\\Sound\\CapNhatDiem.wav"; axWindowsMediaPlayer1.Ctlcontrols.play(); } catch (Exception) { } //hint support choice on controller screen after it has been used foreach (Team_AudienceScreeen teamAdienceScreen in audience.flp_Team.Controls) { if (Convert.ToInt32(teamAdienceScreen.lbl_ID.Text) == records.ElementAt(team).IDPlayer) { teamAdienceScreen.btn_SupportChoice.BackgroundImage = Properties.Resources.End_Support; } } } else { timer1.Start(); audience.timer1.Start(); TeamCS.chk_Support.Checked = false; } } } }
//--2 Go to player's turn public void GoPlayer() { // Get team in turn //if (OutOfQuestionPM == true && OutOfQuestionInPhase == true) //{ // for (int i = 0; i < records.Count; i++) // { // if (i == team) // { // if (records.ElementAt(i).Exist == true) // { // break; // } // else // { // team++; // if (team == AmountPlayer) // { // for (int j = 0; j < records.Count; j++) // { // if (records.ElementAt(j).Exist == true) // { // team = j; // break; // } // } // } // } // } // } //} //////// if (records.ElementAt(team).Undie == false) { if (records.ElementAt(team).Exist == false) { pb_Play.Enabled = false; } } else { //////// } Record Restore = new Record(); //show on game controller screen foreach (Team teamCS in flp_Team.Controls) { if (Convert.ToInt32(teamCS.lbl_Sequence.Text) == sequenceplayer(records.ElementAt(team).IDPlayer)) { teamCS.BackgroundImage = Properties.Resources.Team; teamCS.Enabled = true; teamCS.flp_Answer.Visible = true; teamCS.gb_team.Visible = true; if (ExistPM()==false) { teamCS.chk_QuestionPM.Visible = false; } else { teamCS.chk_QuestionPM.Visible = true; } teamCS.chk_Support.Visible = false; if (records.ElementAt(team).Defy == true) { teamCS.chk_defy.Visible = true; } else { teamCS.chk_defy.Visible = false; } Restore.PlayerTurn_I = 1; Restore.IDPlayer = records.ElementAt(team).IDPlayer; Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } else { teamCS.gb_team.Visible = false; Restore.PlayerTurn_I = 0; Restore.IDPlayer = Convert.ToInt32(teamCS.lbl_IDPlayer.Text); Restore.IDContest = iDContest; RecordBL.UpdateTurn(Restore); } } //show player lane on audience screen foreach (Player_Lane1 Playerlane in audience.pnl_Lane.Controls) { if (Convert.ToInt32(Playerlane.lbl_SequencePlayer.Text) == sequenceplayer(records.ElementAt(team).IDPlayer)) { Playerlane.HighLight(true); if (records.ElementAt(team).NumPass == AmountSteptoPass && records.ElementAt(team).NumFail == AmountSteptofail && records.ElementAt(team).PhaseIndex == 0 && records.ElementAt(team).PM == true && Run==false) { int H_Phase = (Playerlane.Height - Playerlane.btn_Team.Height - Playerlane.lbl_Finish.Location.Y - Playerlane.lbl_Finish.Height) / (AmountPhase * AmountSteptoPass); Playerlane.btn_Team.Location = new Point(Playerlane.btn_Team.Location.X + 0, Playerlane.btn_Team.Location.Y - (H_Phase / 2 + Playerlane.btn_Team.Height / 2)); } } } //show player information on audience screen foreach (Team_AudienceScreeen teamAdienceScreen in audience.flp_Team.Controls) { if (Convert.ToInt32(teamAdienceScreen.lbl_ID.Text) == records.ElementAt(team).IDPlayer) { teamAdienceScreen.HighLight(true); teamAdienceScreen.lbl_TeamScore.ForeColor = Color.Black; teamAdienceScreen.lbl_TeamName.ForeColor = Color.Black; } else { //if (teamAdienceScreen.pb_Heart1.Visible == false && teamAdienceScreen.pb_Heart2.Visible == false && teamAdienceScreen.pb_Heart3.Visible == false) //{ // //teamAdienceScreen.btn_Stop.BackgroundImage = Properties.Resources.Icon_stop; // teamAdienceScreen.BackgroundImage = Properties.Resources.Team_Over; //} } } //move to next step step++; }
private void Result_Load(object sender, EventArgs e) { Record records = new Record(); records.IDContest = iDcontest; RecordBL recordBL = new RecordBL(); List<Record> ListRecord = recordBL.GetsScoreplayerByIDContest(records); //Sort player assending in list player int length = ListRecord.Count; Record temp = ListRecord[0]; //Declare data string[] Rank = new string[] { "st", "nd", "rd", "th", "th" }; //for (int i = 0; i < length; i++) //{ // for (int j = i + 1; j < length; j++) // { // if (ListRecord.ElementAt(i).TeamScore < ListRecord.ElementAt(j).TeamScore) // { // temp = ListRecord[i]; // ListRecord[i] = ListRecord[j]; // ListRecord[j] = temp; // } // } //} for (int i = 0; i < length; i++) { for (int j = i + 1; j < length; j++) { if (ListRecord.ElementAt(i).TeamScore < ListRecord.ElementAt(j).TeamScore) { temp = ListRecord[i]; ListRecord[i] = ListRecord[j]; ListRecord[j] = temp; } else { if (ListRecord.ElementAt(i).TeamScore == ListRecord.ElementAt(j).TeamScore) { if (ListRecord.ElementAt(i).Sub < ListRecord.ElementAt(j).Sub) { temp = ListRecord[i]; ListRecord[i] = ListRecord[j]; ListRecord[j] = temp; } } } } } //Declare data int width = flp_TeamEndGame.Width; //Show player for (int i = 0; i < ListRecord.Count; i++) { TeamEndGame teamEndGame = new TeamEndGame(); teamEndGame.lbl_Score.Text = ListRecord.ElementAt(i).TeamScore.ToString(); teamEndGame.lbl_Name.Text = nameplayer(ListRecord.ElementAt(i).IDPlayer); teamEndGame.pb_TeamShirt.BackColor = Color.FromArgb(colorplayer(ListRecord.ElementAt(i).IDPlayer)); teamEndGame.Size = new System.Drawing.Size(width - 10, teamEndGame.Height); //if (i == 0) //{ // teamEndGame.BackgroundImage = Properties.Resources.First; //} //if (i == 1) //{ // if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(0).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.First; // } // else // { // teamEndGame.BackgroundImage = Properties.Resources.Second; // } //} //if (i == 2) //{ // if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(0).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.First; // } // else // { // if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(1).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Second; // } // else // { // if (ListRecord.ElementAt(0).TeamScore == ListRecord.ElementAt(1).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Second; // } // else // { // teamEndGame.BackgroundImage = Properties.Resources.Thirst; // } // } // } //} //if (i == 3) //{ // if (ListRecord.ElementAt(3).TeamScore == ListRecord.ElementAt(0).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.First; // } // else // { // if (ListRecord.ElementAt(3).TeamScore == ListRecord.ElementAt(1).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Second; // } // else // { // if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(0).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Second; // } // else // { // if (ListRecord.ElementAt(3).TeamScore == ListRecord.ElementAt(2).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Thirst; // } // else // { // if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(1).TeamScore) // { // teamEndGame.BackgroundImage = Properties.Resources.Thirst; // } // else // { // teamEndGame.BackgroundImage = Properties.Resources.Fourth; // } // } // } // } // } //} //i==0 if (i == 0) { teamEndGame.BackgroundImage = Properties.Resources.First; } //i==1 if (i == 1) { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(0).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(0).Sub) { teamEndGame.BackgroundImage = Properties.Resources.First; } else { teamEndGame.BackgroundImage = Properties.Resources.Second; } } else { teamEndGame.BackgroundImage = Properties.Resources.Second; } } //i==2 if (i == 2) { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(0).TeamScore) { if (ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(0).Sub) { teamEndGame.BackgroundImage = Properties.Resources.First; } else { if (ListRecord.ElementAt(0).TeamScore == ListRecord.ElementAt(1).TeamScore) { if (ListRecord.ElementAt(0).Sub == ListRecord.ElementAt(1).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore && ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore && ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } } else { if (ListRecord.ElementAt(0).TeamScore == ListRecord.ElementAt(1).TeamScore) { if (ListRecord.ElementAt(0).Sub == ListRecord.ElementAt(1).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore && ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore && ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } } //i==3 if (i == 3) { if (ListRecord.ElementAt(3).TeamScore == ListRecord.ElementAt(0).TeamScore) { if (ListRecord.ElementAt(3).Sub == ListRecord.ElementAt(0).Sub) { teamEndGame.BackgroundImage = Properties.Resources.First; } else { if (ListRecord.ElementAt(0).TeamScore == ListRecord.ElementAt(1).TeamScore) { if (ListRecord.ElementAt(0).Sub == ListRecord.ElementAt(1).Sub) { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } } } else { if (ListRecord.ElementAt(0).TeamScore == ListRecord.ElementAt(1).TeamScore) { if (ListRecord.ElementAt(0).Sub == ListRecord.ElementAt(1).Sub) { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } } else { if (ListRecord.ElementAt(1).TeamScore == ListRecord.ElementAt(2).TeamScore) { if (ListRecord.ElementAt(1).Sub == ListRecord.ElementAt(2).Sub) { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Second; } else { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } else { if (ListRecord.ElementAt(2).TeamScore == ListRecord.ElementAt(3).TeamScore && ListRecord.ElementAt(2).Sub == ListRecord.ElementAt(3).Sub) { teamEndGame.BackgroundImage = Properties.Resources.Thirst; } else { teamEndGame.BackgroundImage = Properties.Resources.Fourth; } } } } } flp_TeamEndGame.Controls.Add(teamEndGame); } }
// public List<Record> GetRecordByIDContest(Record record) { List<Record> RecordList = new List<Record>(); string query = "SELECT [Contest_ID],[Player_ID],[Phase_ID],[NumofCorrect],[NumofIncorrect],[Defy],[Support],[Exist],[PhaseIndex]," + "[PlayerScore],[TotalCorrect],[PlayerSequence],[PM],[Undie],[PlayerTurn],[Turn],[Done],[First],[Sub]" + " FROM [Record]" + " WHERE [Contest_ID] = '" + record.IDContest + "' ORDER BY [PlayerSequence] ASC"; DataTable dt = DA.SelectDatabase(query); //int i = 1; if (dt != null) { foreach (DataRow item in dt.Rows) { Record Record = new Record(); Record.IDContest = Convert.ToInt32(item["Contest_ID"].ToString()); Record.IDPlayer = Convert.ToInt32(item["Player_ID"].ToString()); Record.IDPhase = Convert.ToInt32(item["Phase_ID"].ToString()); Record.NumPass = Convert.ToInt32(item["NumofCorrect"].ToString()); Record.NumFail = Convert.ToInt32(item["NumofIncorrect"].ToString()); Record.Defy = (bool)(item["Defy"]); Record.Support = (bool)(item["Support"]); Record.Exist = (bool)(item["Exist"]); Record.PhaseIndex = Convert.ToInt32(item["PhaseIndex"].ToString()); Record.TeamScore = Convert.ToInt32(item["PlayerScore"].ToString()); Record.TotalPass = Convert.ToInt32(item["TotalCorrect"].ToString()); Record.SequecePlayer = Convert.ToInt32(item["PlayerSequence"].ToString()); Record.PM = (bool)(item["PM"]); Record.Undie = (bool)(item["Undie"]); Record.PlayerTurn = (bool)(item["PlayerTurn"]); Record.Turn = Convert.ToInt32(item["Turn"].ToString()); // Record.Done = (bool)(item["Done"]); Record.First = (bool)(item["First"]); Record.Sub = Convert.ToInt32(item["Sub"].ToString()); RecordList.Add(Record); } } return RecordList; }