排球计分程序三层架构

1、计划

估计需要两周。

2、需求分析

作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。

3、设计文档

建立一个数据库,将每支队伍的信息记录

对每一场比赛得分进行记录

记录每个队员的得分和失误

对没个人的得分进行计算

3、具体代码

namespace VolleyballUI
{
    public partial class Index : System.Web.UI.Page
    {
        private TeamBll teamBll = new TeamBll();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindDropDownList();
            }
        }

        protected void btnEnterName_Click(object sender, EventArgs e)
        {
            Team team = new Team();
             team.Name=TeamName.Text.Trim();
             if (teamBll.GetInsertTeamName(team))
             {
                 Response.Redirect("Index.aspx");
             }
             else
             {
                 Response.Write("<script>alert(‘添加失败‘)</script>");
             }
        }

        public void BindDropDownList()
        {
            DropDownListA.DataSource = teamBll.GetSelectAllTeams();
            DropDownListA.DataTextField = "Name";
            DropDownListA.DataValueField = "ID";
            DropDownListA.DataBind();
            DropDownListB.DataSource = teamBll.GetSelectAllTeams();
            DropDownListB.DataTextField = "Name";
            DropDownListB.DataValueField = "ID";
            DropDownListB.DataBind();
        }

        protected void btnEnter_Click(object sender, EventArgs e)
        {
            if (DropDownListA.SelectedItem.Text == DropDownListB.SelectedItem.Text)
            {
                Response.Write("<script>alert(‘同一支队伍之间不能比赛!‘)</script>");
            }
            else
            {
                Response.Redirect("Main.aspx?TeamA=" + DropDownListA.SelectedItem.Text + "&TeamB=" + DropDownListB.SelectedItem.Text);
            }
        }

        protected void btnSelect_Click(object sender, EventArgs e)
        {
            if (DropDownListA.SelectedItem.Text == DropDownListB.SelectedItem.Text)
            {
                Response.Write("<script>alert(‘同一支队伍之间没有比赛!‘)</script>");
            }
            else
            {
                Response.Redirect("Select.aspx?TeamA=" + DropDownListA.SelectedItem.Text + "&TeamB=" + DropDownListB.SelectedItem.Text);
            }
        }
    }
}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>排球记分员</title>
    <style type="text/css">
     body
{

    }
#Mian table
{
    margin: 100px auto auto auto;
    text-align: center;
     color: Red;
     font-size:28px;
     font-family:微软雅黑 Light;
     width:1000px;
}
#TeamData table
{
    margin: 100px auto auto auto;
    text-align: center;
     color: Red;
     font-size:20px;
     font-family:微软雅黑 Light;
}
#TeamData table td{ width:240px;}
    </style>
    <script>
  var h=0;
  var t=0;
      function insRow(var1)
  {
      h=h+1;
  var n=document.getElementById(‘myTable‘).rows.length;
  console.log(n);
  var x=document.getElementById(‘myTable‘).insertRow(n);
  var y=x.insertCell(0);
  var z=x.insertCell(1);
  var v=x.insertCell(2);
  var f=x.insertCell(3);
  y.innerHTML="";
  z.innerHTML="";
  v.innerHTML=var1;
  f.innerHTML=h;
  }

    function addRow(var1)
  {
      t=t+1;
  var n=document.getElementById(‘myTable‘).rows.length;
  console.log(n);
  var x=document.getElementById(‘myTable‘).insertRow(n);
  var y=x.insertCell(0);
  var z=x.insertCell(1);
  var v=x.insertCell(2);
  var f=x.insertCell(3);
  v.innerHTML="";
  f.innerHTML="";
  y.innerHTML=var1;
  z.innerHTML=t;
  }
   function delRow()
   {
      var n=document.getElementById(‘myTable‘).rows.length-1;
      document.getElementById(‘myTable‘).deleteRow(n);
       }
    function Erra()
    {
        h=h+1;
         var n=document.getElementById(‘myTable‘).rows.length;
  var x=document.getElementById(‘myTable‘).insertRow(n);
  var y=x.insertCell(0);
  var z=x.insertCell(1);
  var v=x.insertCell(2);
  var f=x.insertCell(3);
  v.innerHTML="";
  f.innerHTML=h;
  y.innerHTML="";
  z.innerHTML="失误";
        }
 function Errb()
    {
        t=t+1;
         var n=document.getElementById(‘myTable‘).rows.length;
  var x=document.getElementById(‘myTable‘).insertRow(n);
  var y=x.insertCell(0);
  var z=x.insertCell(1);
  var v=x.insertCell(2);
  var f=x.insertCell(3);
  v.innerHTML="";
  f.innerHTML="失误";
  y.innerHTML="";
  z.innerHTML=t;
        }
    </script>
</head>
<body>
<div id="Mian">
    <table id="sum"  border="0">
  <tbody>
    <tr>
      <td><input type="button" value="2"  onClick="addRow(value)"></td>
      <td><input type="button" value="9"  onClick="addRow(value)"></td>
      <td>中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国</td>
      <td>:</td>
      <td>塞尔维亚</td>
      <td><input type="button" value="10"  onClick="insRow(value)"></td>
      <td><input type="button" value="19"  onClick="insRow(value)"></td>
    </tr>
     <tr>
      <td><input type="button" value="12"  onClick="addRow(value)"></td>
      <td><input type="button" value="10"  onClick="addRow(value)"></td>
       <td rowspan="3">03</td>
       <td rowspan="3">:</td>
       <td rowspan="3">04</td>
      <td><input type="button" value="9"  onClick="insRow(value)"></td>
      <td><input type="button" value="6"  onClick="insRow(value)"></td>
    </tr>
     <tr>
      <td><input type="button" value="1"  onClick="addRow(value)"></td>
      <td><input type="button" value="17"  onClick="addRow(value)"></td>
      <td><input type="button" value="16"  onClick="insRow(value)"></td>
      <td><input type="button" value="15"  onClick="insRow(value)"></td>
    </tr>
      <tr>
      <td><input type="button" value="11"  onClick="addRow(value)"></td>
      <td><input type="button" value="6"  onClick="addRow(value)"></td>
      <td><input type="button" value="17"  onClick="insRow(value)"></td>
      <td><input type="button" value="3"  onClick="insRow(value)"></td>
    </tr>
     <tr>
      <td><input type="button" value="3"  onClick="addRow(value)"></td>
      <td><input type="button" value="7"  onClick="addRow(value)"></td>
      <td>0</td>
      <td>:</td>
      <td>0</td>
      <td><input type="button" value="2"  onClick="insRow(value)"></td>
      <td><input type="button" value="8"  onClick="insRow(value)"></td>
    </tr>
     <tr>
      <td><input type="button" value="16"  onClick="addRow(value)"></td>
      <td><input type="button" value="5"  onClick="addRow(value)"></td>
      <td><button  onClick="delRow()">误判减分</button>&nbsp;&nbsp;<input type="button" value="失误"  onClick="Erra()"></td>
      <td></td>
      <td><button onClick="addRow()">误判减分</button>&nbsp;&nbsp;<input type="button" value="失误"  onClick="Errb()"></td>
      <td><input type="button" value="1"  onClick="insRow(value)"></td>
      <td><input type="button" value="13"  onClick="insRow(value)"></td>
    </tr>
  </tbody>
</table>
</div>
<div id="TeamData">
<table id="myTable" border="1">
<tr><td colspan="2">A队</td><td colspan="2">B队</td></tr>
<tr><td>中国队员&nbsp;&nbsp;&nbsp;&nbsp;</td><td>累计得分</td><td>塞尔维亚队员</td><td>累计得分</td></tr>
</div>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Moudel;
using VolleyballBll;

namespace VolleyballUI
{
    public partial class Main : System.Web.UI.Page
    {
        private  Game game = new Game();

        private GameBll gamebll = new GameBll();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                TeamA.Text=Request.QueryString["TeamA"];
                TeamB.Text=Request.QueryString["TeamB"];
                Game game = new Game();
                game.TeamA = TeamA.Text;
                game.TeamB = TeamB.Text;
                if (gamebll.GetInsertGame(game))
                {
                     Response.Write("<script>alert(‘比赛开始!‘)</script>");
                }
            }
        }
时间: 2024-11-09 08:00:53

排球计分程序三层架构的相关文章

排球计分(三层架构)

排球比赛计分,现场工作人员 1.  估计时间:一周左右. 2.  开发 需求分析: 作为一个排球比赛的现场工作人员,我需要统计每一名 队员的得分及技术统计,以便颁发每场比赛的最有价值球员奖, 以及确定赛会的最佳阵容. 设计文档: 在界面通过队球员信息进行操作,可以同步到数据库中.查询分数和统计.从数据库中获取运动员分数 设计复审: 自己. 代码规范: c#对设计进行具体操作: 具体设计: Dal层 public int regist(TeamInfo team) { string strcom

排球计分程序(九)——总结

本程序主要使用MVC以及EF框架完成.MVC是一种程序开发设计模式, 它实现了显示模块与功能模块的分离.提高了程序的可维护性.可移植性. 可扩展性与可重用性,降低了程序的开发难度.它主要分模型.视图.控制器三层. 使用MVC有诸多好处: 1:耦合性低 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码, 同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可.因为 模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则. 2:重用性高 随着技术

排球计分程序重构(一)

前言: 上学期制作的排球计分程序,本次重构主要进行了一些功能性的完善,能够查询队伍比分,以及计分精确到队员. 已经将网站发布到我的服务器上面可以浏览 http://www.colorfulhy520.top:82/Home/Index 进入正题: 初步计划将文章系列分为以下几篇: 1.综述 2.数据库设计 3.Controller和View设计 4.代码讲解 5.总结 运用到的技术 1.Petapoco PetaPoco是一款适用于.NET应用程序的轻型对象关系映射器(ORM, Object R

排球计分程序——简单显示比分界面

作业:作为一个观众,我希望了解某一场比赛的比分,以便了解赛况.(满意条件:精确到每一局的结果比分)排球计分程序之--用户故事. 根据我当前的能力和老师要求,我想的页面效果大概是这样: 数据库的表: 运行效果如下: 选择第三局: 已胜局数还没写出来,比赛最终结果还没写出来: 部分代码如下: public class PartResult { public int partNum { get; set; } public int resultA { get; set; } public int re

ASP.NET MVC 排球计分程序 (一)综述

---恢复内容开始--- 本篇博客主要是为了用MVC来做出一个排球的计分程序,该计分程序主要实现的功能有,将两队队员的姓名和其对应的球衣号插入数据库,根据在场上的表现,由记分员记录两队的发球,扣球,拦网等得分情况,在比赛过程中可以实现自动判断是否到达获胜比分,是否获得本场比赛的胜利.当比赛胜时.可以查询出本场的MVP,以及最佳得分员,最佳发球员等数据. 初步计划将这个文章系列分为以下几篇: 1.综述 2. 一些排球计分的基本实现方 3.需求分析与数据库设计 4.实体类和SQLHelper类的设计

ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计

需求分析: 软件名称:排球计分程序 1.  需要键入比赛人员的的姓名,需要根据场上的比赛结果及时做出操作,记分员可以在记错的情况下撤销上一部操作.比赛结束,记分员应能查询到每个队伍的进球情况,以及拦网.击球等的最高分.全场MVP. 2.系统界面:两队比赛,每次有队伍得分,由记分员向系统内输入数据,将该队的分数通过单击按钮的方式加分,每次加分,将分数写入数据库.也应有减分的按钮,每次减分,写入数据库. 系统内:自动计算每队的得分情况是否达到该局胜利,如果胜利及时显示该局胜利的消息. 最后输出:每单

ASP.NET MVC 排球计分程序 (四)实体类和SqlHelper类的设计

整体解决方案的图如下: . 在Model里添加一个叫PersonA的类 public class PersonA { public int id { get; set; } public string name { get; set; } } 添加一个叫PersonB的类 public class PersonB { public int id { get; set; } public string name { get; set; } } 添加一个叫ScoreA的类 public class

ASP.NET MVC 排球计分程序 (二)一些排球计分的基本实现方式

一.连接数据库 新建一个MVC应用程序(基本) 建一个HomeController 为Index添加视图 @{ ViewBag.Title = "Index"; } <h2>Index</h2> @using(Html.BeginForm("Indexa","Home")) { <b>id:</b> @Html.TextBox("id",1); <b>name:<

ASP.NET MVC 排球计分程序 (七)视图代码和一些解释

Index 视图 @{ ViewBag.Title = "Index"; } <html> <head> <title>输入姓名</title> </head> <body> @using(Html.BeginForm("AddPerson","Home")) { <table border="1"> <tr> <th>