排球计分规则之三层架构

需求

作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。(满意条件:每一次比分的改变,都要形成一条记录)。

计划

估计此次工作需要一周的时间。

需求分析:

根据用户需求可知我们此次程序需要做到每次分数变化的时候都要记录。当记分员操作之后就要形成记录。

设计文档:

根据《2015-2016赛季中国排球联赛竞赛规程》,计分规则如下:

1、目前的排球比赛采用五局三胜制。前四局每局25分,每局比赛完成后交换场地,达到24分时,必须比赛的双方相差2分才能分出胜负;决胜局为15分,比赛的双方任何一方先达到8分时,交换场地继续比赛,当双方同时达到14分时候,也是必须相差两分才能决出胜负。
排球计分的发展历程:1917年规定每局为15分。1918年规定上场运动员每队为6人。1922年规定每方必须在3次以内将球击过网。比赛方法以前采用发球得分制,1998年10月28日国际排联决定改为每球得分制,仍为五局三胜,前四局每局先得25分者为胜,第五局先得15分者为胜,若出现24平或14平时,要继续比赛至某队领先2分才能取胜。

2、每点击一次按钮,分数列表就增加一行。

3、己方失误时。对方增加一分。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace VolleyballDll
{
    public  static  class SqlHelper
    {
        //获取连接字符串
        public static readonly string constr = ConfigurationManager.ConnectionStrings["itcast"].ConnectionString;
        //执行增删改
        public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con= new SqlConnection(constr))
            {
            using (SqlCommand cmd=new SqlCommand(sql,con))
            {
                if (pms != null)
                {
                    cmd.Parameters.AddRange(pms);
                }

                con.Open();
                return cmd.ExecuteNonQuery();
            }
            }
        }
        //执行返回单个值
        public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand(sql,con))
                {
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }

                con.Open();
              return  cmd.ExecuteScalar();
                }

            }

        }
        //执行返回多行
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
        {
            SqlConnection con = new SqlConnection(constr);

            using (SqlCommand cmd=new SqlCommand(sql,con))
            {
                if (pms != null)
                {
                    cmd.Parameters.AddRange(pms);
                }
                con.Open();
                return cmd.ExecuteReader();

            }

        }
        //返回一张表
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
        {
            DataTable dt=new DataTable();
        using (SqlDataAdapter ada=new SqlDataAdapter(sql,constr))
        {
            if (pms!= null)
            {
                ada.SelectCommand.Parameters.AddRange(pms);
            }
            ada.Fill(dt);
        }
        return dt;
        }

    }
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link rel="Stylesheet" href="Css/VolleyBallIndex.css" />
    <script  language="javascript">
        function one() {
            var v = document.getElementById(‘one‘);
            if (v.style.display == "none") {
                v.style.display = "block";
            }
            else if( v.style.display="block"){
                v.style.display = "none";
            }
        }
</script>
    <style type="text/css">
        #mian
        {
            height: 227px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div id="mian">
    <div class="Center">
    <table>
    <tr>
    <td>
        <asp:DropDownList ID="DropDownListA" runat="server" CausesValidation="True">
        </asp:DropDownList>
     </td><td>
        <asp:DropDownList ID="DropDownListB" runat="server" CausesValidation="True">
        </asp:DropDownList>
      </td>
      </tr><tr><td colspan="2">
      <a href="javascript:one()">如果没有你需要队伍名称请添加^</a>
        <div id="one">
        <asp:TextBox ID="TeamName" runat="server"></asp:TextBox>
        <asp:Button ID="btnSaveName" runat="server" Text="保存名称"
            onclick="btnSaveName_Click" /></td>
            </tr>
        </div>
        <tr><td>
        <asp:Button ID="btnSave" runat="server" Text="进入比赛" onclick="btnSave_Click" />
        </td><td>
        <asp:Button ID="btnSelect" runat="server" Text="查询比赛" onclick="btnSelect_Click" />
        </td></tr>
        </table>
    </div>
    </div>
    </form>
</body>
</html>

总结:这次的三层架构是在别人的帮助下,做成的(有太多不懂,不会的),但是运行还是有错误,还要进一步修改。

时间: 2024-10-05 18:33:36

排球计分规则之三层架构的相关文章

排球计分规则程序说明书

需要完成的目标: 通过程序说明书,更好的更直观的了解排球计分规则.并且使比分程序化,更好的完成现代化进程. 用户: 喜欢排球的观众.裁判员.教练及运动员. 典型场景: 2016里约热内卢夏季奥运会女排总决赛中国女排对阵塞尔维亚女排. 专业术语: 反攻 排球运动四次的一种.指后排防起对方攻来之球以后所组织的反击,和在网上直接拦击对方各种进攻.是得分的主要手段.在比赛中出现次数最多,难度也最大.其过程包括:拦网.后排防守.调整二传和扣球等几个相互衔接的部分.其中拦网是第一道防线,后排防守是反攻的基础

排球计分规则

排球计分软件是方便的计分软件. 首先要十分了解排球计分规则,制作软件需要那些因素.要有双方的每球得分,每场得分和总得分. 按照排球比赛的规则进行计分,排球规则为五局三胜制.除决胜局每局比赛25分,每局比赛完成后交换场地,如果两队都达到24分时,比赛双方相差2分才能分出胜负:决胜局则是15分,任何一方达到8分时交换场地,都达到14分,还是要相差2分才能分出胜负. 软件根据两对得分情况进行计分,每胜一球就得一分,如果有一队胜了两场那么接下来一局就就按决胜局进行计分. 做出来之后就是要测试了,然后发现

暑假对排球计分规则的更新

需求: 作为观众,我想知道比赛进行时的队伍比分和比赛结束时的队伍输赢 运行图: 代码如下: 查看比赛队伍 1 public class UpdateController : Controller 2 { 3 private 排球计分规则Context db = new 排球计分规则Context(); 4 5 // 6 // GET: /Update/ 7 8 public ActionResult Index() 9 { 10 return View(db.Updates.ToList());

第六组排球计分规则小组作业

计划   估计这个任务所需时间 300min 开发   分析需求 70min 生成设计文档 40min 代码规范 30min 具体设计 100min 具体编码 120min 测试 20min 记录用时 4h 计算工作量 无 事后总结以及改进计划 30 排球计分规则界面设计: 部分代码:

排球计分规则3.17

用户故事: 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录) 运行截图: 下附代码: ---------historySelect.cs---------- using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sys

排球计分规则小结

排球比赛计分规则为:目前的排球比赛采用五局三胜制.前四局每局25分,每局比赛完成后交换场地,达到24分时,必须比赛的双方相差2分才能分出胜负:决胜局为15分,比赛的双方任何一方先达到8分时,交换场地继续比赛,当双方同时达到14分时候,也是必须相差两分才能决出胜负.排球计分的发展历程:1917年规定每局为15分.1918年规定上场运动员每队为6人.1922年规定每方必须在3次以内将球击过网.比赛方法以前采用发球得分制,1998年10月28日国际排联决定改为每球得分制,仍为五局三胜,前四局每局先得2

排球计分(二)架构概要设计

MVC本身就是架构,所以本篇主要就是对MVC的简要概述. MVC最初是在Smalltalk-80中被用来构建用户界面的.M代表模型Model, V代表视图 View, C代表 控制器Controller. MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度. 同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高. 单用户的应用通常是以事件驱动的用户界面为组织结构的.开发人员用一个界面工具画了一个用户接口界面,然后编写代码根据用户输入去执行相应的动作,许多交互

排球计分规则——记分员

1:计划 估计需要两周.   2:需求分析 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况. 3:生成设计文档 可以看到每个球员的得分情况,还可以看出每个队员在所在队伍的地位. 4:具体设计 用户进入后能够清楚的看到每个队员的得分情况.     5:代码规范: 使用C#语言标准.帕斯卡命名法和骆驼命名法   6:具体代码 <configuration><connectionStrings><add name="con

排球计分(一)需求分析和数据库设计

需求分析: 作为一个排球计分规则的页面程序,一般用户为球迷观众和排球计分员. 1.作为一名排球计分员,需要实现得分的加减,并自动判定胜负,最后传入数据库. 2.作为一名排球计分员,需要在实现得分的同时,详细记录得分情况. 3.作为一名排球计分员,可以对某些记录修改. 4.作为一名球迷观众,首先想先看到所有的比赛基本记录. 5.作为一名球迷观众,希望看到每局比赛的详细记录. 下附用例图一张: 数据库: 记录表: ID    int    比赛ID    NotNull    主键,自增 gameN