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;
}
}