衔接上一学期:排球积分规则
一、計劃
? ? ? ? ??這個程序開發時間:兩周。
?二、開發
? ? ? 1、需求分析:
? ? ? ?用戶故事:作為一個教練,我希望了解每一場隊友和對方的比賽加分和扣分細節,以及所有隊員每一場的得分與排行情況,以便于更好的對隊員做出戰術安排。(精確到每一局的結果比分)。<隊伍,比賽情況,比賽記錄,數據庫> ?
? ? ? 2.設計文檔:
? ? ? ?賽制分析:
??? ? 以奧運會賽制為例:預選賽、小組賽、淘汰賽(四分之一)、半決賽、決賽。預選賽:選出十二支隊伍小組賽:單循環賽制,選出以積分排名每組前4,進行八強淘汰,A、B兩隊A1vsB4,A4vsB1,剩余抽簽配對。半決賽:A1/B4勝方VS? A2/B2(B3)勝方;A4vsB1勝方VS? A2/B3(B2)勝方。小組賽排名第6的并列第11名,第5的并列第9名,淘汰賽負方并列第5,。小組賽排名由總分決定。若平局。按獲勝次數決定,按輸贏比率決定,按得分比率決定,按最后一場獲勝代表隊排名靠前。
? ? ? 積分規則
? ? ??若為3:0或3:1,勝者得3分,負者不得分。若為3:2,勝者2分,負者1分。
中國隊名單
主攻:2號朱婷、9號張常寧、12號惠若琪(隊長)、10號劉曉彤
副攻:1號袁心玥、17號顏妮、11號徐云麗
接應:6號龔翔宇、3號楊方旭
二傳:7號魏秋月、16號丁霞
自由人:15號林莉
?
塞爾維亞隊名單
二傳:10號奧杰年諾維奇(Ognjenovi?),茲維科維奇(?ivkovi?);
接應:布拉克塞維奇(Brako?evi?),19號博斯科維奇(Bo?kovi?);
主攻:9號米哈伊洛維奇(Mihajlovi?),尼克里奇(Nikoli?),6號馬列舍維奇(Male?evi?),布薩(Bu?a);
副攻:16號拉西奇(Ra?i?),維利科維奇(Veljkovi?),15號斯塔瓦諾維奇(Stevanovi?);
自由人:17號波波維奇(Popovi?)。
??? ? 3.設計復審:
? ? ???由小組共同進行檢查修改,提出建議,并進行相應的改進。
? ? ??4.代碼規范:
? ? ??5.具體設計:
? ? ? 6.代碼具體如下:
? ? ? 7.代碼復審:
? ? ??8.測試:
三、報告
? ? ? ? ??1.測試報告:無
? ? ? ? ??2.計算工作量:實際工作時間為6.5天。
? ? ? ? ??3.事后總結與過程改進計劃:
? ? ? ? ? 時隔一個學期有點生疏,看了以前的相關書籍,并審查了上個學期的具體代碼,然后有進行編碼設計。整體感覺有點吃力,還是要多練習,多看代碼,理解代碼,才能更好駕馭代碼,生成新代碼。
?
?
?
? private void lblIndex_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? this.Close();
??????????? historySelect a = new historySelect();
??????????? a.Show();
??????? }
??????? private void begin_Click(object sender, EventArgs e)
??????? {
??????????? if (textName.Text.Trim() == "" || Ateam.Text.Trim() == "" || Bteam.Text.Trim() == "")
??????????? {
??????????????? MessageBox.Show("比賽名、隊伍名均不能為空");
??????????? }
??????????? else
??????????? {
??????????????? writeHistory1 w = new writeHistory1();
??????????????? w.bisai(textName.Text);
??????????????? w.TeamA(Ateam.Text);
??????????????? w.TeamB(Bteam.Text);
??????????????? w.Show();
??????????????? this.Close();
??????????? }
????????????
??????? }
??????? private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
?????????? Application.Exit();
??????? }
?
?計分界面:
int sA, sB;
??????? StringBuilder sb = new StringBuilder();
???????
??????? public string bisai(string str)
??????? {
??????????? return name.Text = str;
??????? }
??????? public void TeamA(string str)
??????? {
??????????? teamA.Text = str;
??????? }
??????? public void TeamB(string str)
??????? {
??????????? teamB.Text = str;
??????? }
??????? public void insert(string win)?
??????? {
??????????? string sql = "insert into paiqiu(game,teamA,teamB,one,two,three,four,five,win,qiangqing) values(@game,@teamA,@teameB,@one,@two,@three,@four,@five,@win,@qiangqing)";
??????????? SqlParameter[] sp = {
??????????????????????????????????????? new SqlParameter("@game",name.Text),
??????????????????????????????????????? new SqlParameter("@teamA",teamA.Text),
??????????????????????????????????????? new SqlParameter("@teameB",teamB.Text),
??????????????????????????????????????? new SqlParameter("@one",one),
??????????????????????????????????????? new SqlParameter("@two",two),
??????????????????????????????????????? new SqlParameter("@three",three),
??????????????????????????????????????? new SqlParameter("@four",four==null?DBNull.Value:(object)four),
??????????????????????????????????????? new SqlParameter("@five",five==null?DBNull.Value:(object)five),
??????????????????????????????????????? new SqlParameter("@win",win),
??????????????????????????????????????? new SqlParameter("@qiangqing",sb.ToString())
??????????????????????????????????? };
??????????? SqlHelper.ExecuteNonQuery(sql, sp);
??????? }
??????? public void insertPM( string team,int score,int chang,int ju)
??????? {
??????????? string sql = "insert into paiming values(@game,@team,@score,@chang,@ju)";
??????????? SqlParameter[] sp = {
??????????????????????????????????? new SqlParameter("@game",name.Text),
??????????????????????????????????? new SqlParameter("@team",team),
??????????????????????????????????? new SqlParameter("@score",score),
??????????????????????????????????? new SqlParameter("@chang",chang),
??????????????????????????????????? new SqlParameter("@ju",ju)????
??????????????????????????????????? };
??????????? SqlHelper.ExecuteNonQuery(sql, sp);
??????? }
??????? public void update(string team, int score, int chang, int ju)?
??????? {
??????????? string sql = "update paiming set score=@score,chang=@chang,ju=@ju where dname=@team";
??????????? SqlParameter[] sp = {
??????????????????????????????????? new SqlParameter("@score",score),
??????????????????????????????????? new SqlParameter("@chang",chang),
??????????????????????????????????? new SqlParameter("@ju",ju),
??????????????????????????????????? new SqlParameter("@team",team)
??????????????????????????????? };
??????????? SqlHelper.ExecuteNonQuery(sql, sp);
??????? }
??????? public void select(string team,int score,int chang,int ju)?
??????? {
??????????? string sql = "select * from paiming where sname='"+name.Text.ToString()+"' and dname='"+team+"'";
??????????? SqlDataReader reader=SqlHelper.ExecuteReader(sql);
??????????? if (reader.HasRows)?
??????????? {
??????????????? while (reader.Read())
??????????????? {
??????????????????? int score0 = Convert.ToInt32(reader[2]) + score;
??????????????????? int chang0 = Convert.ToInt32(reader[3]) + chang;
??????????????????? int ju0 = Convert.ToInt32(reader[4]) + ju;
??????????????????? update(team, score0, chang0, ju0);
??????????????? }
??????????? }
??????????? else
??????????? {
??????????????? insertPM(team, score, chang, ju);
??????????? }
??????? }
??????? string one=null, two=null, three=null, four=null, five=null;
??????? private void A_Click(object sender, EventArgs e)
??????? {
??????????? int a=int.Parse(scoreA.Text) + 1;
??????????? int b = int.Parse(scoreB.Text);
??????????? sb.AppendFormat("{0}:{1}={2}:{3}\r\n", teamA.Text, teamB.Text, a, b);
????????????
??????????? int i=Convert.ToInt32( lblNum.Text.Substring(1, 1));
??????????? int sa = Convert.ToInt32(lblA.Text);
??????????? scoreA.Text = a.ToString();
??????????? if (i < 5)
??????????? {
??????????????? if (a >= 25 && a - b >= 2)
??????????????? {
??????????????????? string str = string.Format("本局甲方:{0}勝", teamA.Text);
??????????????????? MessageBox.Show(str);
??????????????????? scoreA.Text = "0";
??????????????????? scoreB.Text = "0";
??????????????????? sa++; i++;
??????????????????? lblA.Text = (sa).ToString();
??????????????????? lblNum.Text = "第" + i + "局";
??????????????????? sb.AppendFormat("第{0}局? {1}:{2}={3}:{4}? 本局{5}勝\r\n", i - 1, teamA.Text, teamB.Text, a, b, teamA.Text);
??????????????????? switch(i-1)
??????????????????? {
??????????????????????? case 1:one=string.Format("{0}:{1}",a,b); break;
??????????????????????? case 2:two=string.Format("{0}:{1}",a,b); break;
??????????????????????? case 3:three=string.Format("{0}:{1}",a,b); break;
??????????????????????? case 4:four=string.Format("{0}:{1}",a,b); break;
??????????????????? }
??????????????? }
??????????? }
??????????? else?
??????????? {
??????????????? if(a>=15&&a-b>=2)
??????????????? {
??????????????????? sb.AppendFormat("第{0}局? {1}:{2}={3}:{4}? 本局{5}勝\r\n", i - 1, teamA.Text, teamB.Text, a, b, teamA.Text);
??????????????????? string str = string.Format("本局甲方:{0}勝", teamA.Text);
??????????????????? MessageBox.Show(str);
??????????????????? sa++;
??????????????????? lblA.Text = (sa).ToString();
??????????????????? five=string.Format("{0}:{1}",a,b);
??????????????? }
??????????? }
??????????? if (sa == 3) {
??????????????? sb.AppendFormat("本場比賽甲方:{0}勝\r\n比賽結束",teamA.Text);
??????????????? string str=string.Format("本場比賽{0}勝",teamA.Text);
??????????????? win.Text = str;
??????????????? win.Visible = true;
??????????????? A.Visible = false;
??????????????? B.Visible = false;
??????????????? insert(teamA.Text);
??????????????? if (lblB.Text == "2") { sA = 2; sB = 1; }
??????????????? else { sA = 3; sB = 0; }
??????????????? select(teamA.Text.ToString(),sA,1,sa);
??????????????? select(teamB.Text.ToString(), sB, 0, Convert.ToInt32(lblB.Text));
??????????? }
??????????? textBox1.Text = sb.ToString();
??????? }
????????
??????? private void B_Click(object sender, EventArgs e)
??????????? int a = int.Parse(scoreB.Text) + 1;
??????????? int b = int.Parse(scoreA.Text);
??????????? sb.AppendFormat("{0}:{1}={2}:{3}\r\n", teamA.Text, teamB.Text, b, a);
????????????
??????????? int i = Convert.ToInt32(lblNum.Text.Substring(1, 1));
??????????? int sa = Convert.ToInt32(lblB.Text);
??????????? scoreB.Text =a.ToString();
??????????? if (i < 5)
??????????? {
??????????????? if (a >= 25 && a - b >= 2)
??????????????? {
??????????????????? string str = string.Format("本局乙方:{0}勝",teamB.Text);
??????????????????? MessageBox.Show(str);
??????????????????? scoreA.Text = "0";
??????????????????? scoreB.Text = "0";
??????????????????? sa++; i++;
??????????????????? lblB.Text = (sa).ToString();
??????????????????? lblNum.Text = "第" + i + "局";
??????????????????? sb.AppendFormat("第{0}局? {1}:{2}={3}:{4}? 本局{5}勝\r\n", i - 1, teamA.Text, teamB.Text, b, a, teamB.Text);
??????????????????? switch (i - 1)
??????????????????? {
??????????????????????? case 1: one = string.Format("{0}:{1}", b, a); break;
??????????????????????? case 2: two = string.Format("{0}:{1}", b, a); break;
??????????????????????? case 3: three = string.Format("{0}:{1}", b, a); break;
??????????????????????? case 4: four = string.Format("{0}:{1}", b, a); break;
??????????????????? }
??????????????? }
??????????? }
??????????? else
??????????? {
??????????????? if (a >= 15 && a - b >= 2)
??????????????? {
??????????????????? sb.AppendFormat("第{0}局? {1}:{2}={3}:{4}? 本局{5}勝\r\n", i-1,teamA.Text,teamB.Text ,b, a,teamB.Text);
??????????????????? string str = string.Format("本局乙方:{0}勝", teamB.Text);
??????????????????? MessageBox.Show(str);
??????????????????? sa++;
??????????????????? lblB.Text = (sa).ToString();
??????????????????? five = string.Format("{0}:{1}", b, a);
??????????????? }
??????????? }
??????????? if (sa == 3) {
??????????????? sb.AppendFormat("本場比賽乙方:{0}勝\r\n比賽結束", teamB.Text);
??????????????? string str = string.Format("本場比賽{0}勝", teamB.Text);
??????????????? win.Text = str;
??????????????? win.Visible = true;
??????????????? A.Visible = false;
??????????????? B.Visible = false;
??????????????? insert(teamB.Text);
??????????????? if (lblA.Text == "2") { sB = 2; sA = 1; }
??????????????? else { sB = 3; sA = 0; }
??????????????? select(teamB.Text.ToString(), sB, 1, sa);
??????????????? select(teamA.Text.ToString(), sA, 0, Convert.ToInt32(lblA.Text));
??????????? }
??????????? textBox1.Text = sb.ToString();
??????? }
??????? private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? if (textBox1.Visible == false)
??????????? {
??????????????? textBox1.Visible = true;
??????????? }
??????????? else?
??????????? {
??????????????? textBox1.Visible = false;
??????????? }
??????? }
??????? private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? this.Close();
??????????? writeHistory0 a = new writeHistory0();
??????????? a.Show();
??????????
??????? }
??????? private void Form1_Load(object sender, EventArgs e)
??????? {
??????????? sb.AppendFormat("比賽名稱:{0}\r\n甲方:{1}? 乙方:{2}\r\n",name.Text, teamA.Text, teamB.Text);
??????????? textBox1.Text = sb.ToString();
??????? }
??????? private void lblIndex_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? this.Close();
??????????? historySelect a = new historySelect();
??????????? a.Show();
??????? }
??????? private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? Application.Exit();
??????? }
??????
??????? private void btn1_Click(object sender, EventArgs e)
??????? {
??????????? int a = int.Parse(scoreA.Text);
??????????? int b = int.Parse(scoreB.Text);
??????????? if (a > 0)
??????????? {
??????????????? a--;
??????????????? scoreA.Text = a.ToString();
??????????????? sb.AppendFormat("比賽受到爭議:甲方減分\r\n{0}:{1}={2}:{3}\r\n", teamA.Text, teamB.Text, a, b);
??????????????? textBox1.Text = sb.ToString();
??????????? }
??????????? else?
??????????? {
??????????????? MessageBox.Show("操作失敗");
??????????? }
??????? }
??????? private void btn2_Click(object sender, EventArgs e)
??????? {
??????????? int a = int.Parse(scoreA.Text);
??????????? int b = int.Parse(scoreB.Text);
??????????? if (b > 0)
??????????? {
??????????????? b--;
??????????????? scoreB.Text = b.ToString();
??????????????? sb.AppendFormat("比賽受到爭議:乙方減分\r\n{0}:{1}={2}:{3}\r\n", teamA.Text, teamB.Text, a, b);
??????????????? textBox1.Text = sb.ToString();
??????????? }
??????????? else
??????????? {
??????????????? MessageBox.Show("操作失敗");
??????????? }
??????? }
比賽記錄查詢:
private void cmbLoad()
??????? {
??????????? cmbName.Items.Clear();
??????????? string sql = "select game from paiqiu";
??????????? SqlDataReader reader = SqlHelper.ExecuteReader(sql);
??????????? if (reader.HasRows)
??????????? {
??????????????? while (reader.Read())
??????????????? {
??????????????????? cmbName.Items.Add(reader[0]);
??????????????? }
??????????? }
??????????? reader.Close();
??????? }
??????? private void dgvLoad()
??????? {
??????????? string sql = "select * from paiqiu";
??????????? dgvGame.DataSource = SqlHelper.ExecuteDataTable(sql);
??????? }
??????? private void Form2_Load(object sender, EventArgs e)
??????? {
??????????? cmbLoad();
??????????? dgvLoad();
????????????
??????? }
??????? private void select_Click(object sender, EventArgs e)
??????? {
??????????? StringBuilder sql = new StringBuilder("select * from paiqiu where 1=1");
??????????? if (!string.IsNullOrEmpty(cmbName.Text))
??????????? {
??????????????? sql.Append(" and game like '%" + cmbName.Text + "%'");
??????????? }
??????????? SqlDataReader reader= SqlHelper.ExecuteReader(sql.ToString());
??????????? if (reader.HasRows)
??????????? {
??????????????? dgvGame.DataSource = SqlHelper.ExecuteDataTable(sql.ToString());
??????????? }
??????????? else?
??????????? {
??????????????? MessageBox.Show("沒有查詢到比賽記錄!");
??????????? }
??????? }
??????? private void lblWrite_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
??????????? this.Close();
??????????? writeHistory0 a = new writeHistory0();
??????????? a.Show();
??????? }
??????? private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
??????? {
???????????? Application.Exit();
??????? }
??????? private void dgvGame_CellContentClick(object sender, DataGridViewCellEventArgs e)
??????? {
??????????? int x = e.ColumnIndex;
??????????? int y = e.RowIndex;
??????????? if(x==0&&y!=-1)
??????????? {
??????????????? child ch = new child();
??????????????? ch.xq(dgvGame.CurrentRow.Cells[11].Value.ToString());
??????????????? ch.Show();
??????????? }
??????????
??????? }
??????? private void button1_Click(object sender, EventArgs e)
??????? {
??????????? selectPM sp = new selectPM();
??????????? sp.Show();
??????? }
比賽排名查詢:
?private void selectPM_Load(object sender, EventArgs e)
??????? {
??????????? string sql = "select * from paiming";
??????????? dgvPM.DataSource = SqlHelper.ExecuteDataTable(sql);
??????????? for (int i =1 ; i < dgvPM.Rows.Count+1 ; i++)
??????????? {
??????????????? dgvPM.Rows[i-1].Cells["ranking"].Value = i;
??????????? }
??????? }
??????? private void dgvPM_Sorted(object sender, EventArgs e)
??????? {
??????????? for (int i = 1; i < dgvPM.Rows.Count + 1; i++)
??????????? {
??????????????? dgvPM.Rows[i - 1].Cells["ranking"].Value = i;
??????????? }
??????? }
轉載于:https://www.cnblogs.com/your-world/p/6569023.html
總結
以上是生活随笔為你收集整理的衔接上一学期:排球积分规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSH 中从后台传值到前台JSP,传不过
- 下一篇: subList生成的列表和原列表的对比