排球积分程序

 

 

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

 

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

 

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

 

设计文档:

数据关系图:

Team(队伍表)

字段

数据类型

说明

Num

Vchar(10)

队伍的编号(主键)

Name

Vchar(50)

队伍的名称

Athlete(队员表)

字段

数据类型

说明

Num

Vchar(10)

运动员的编号(联合主键)

Name

       Vchar(50)

运动员的名字

TeamNum

 Vchar(10)

远动员所属队伍的编号(联合主键)

Score(比分表)

字段

数据类型

说明

TeamA

Vchar(10)

队伍A的编号

AthleteA

Vchar(10)

A队运动员的编号

ScoreA

Int

A队运动员的得分

ScoreB

Int

B队运动员的得分

AthleteB

Vchar(10)

B队运动员的编号

TeamB

Vchar(10)

队伍B的编号

 

根据《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、己方失误时。对方增加一分。

 

代码规范:使用C#语言标准、帕斯卡命名法和骆驼命名法 。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="VolleyballUI.Index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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="保存名称"
οnclick="btnSaveName_Click" /></td>
</tr>
</div>
<tr><td colspan="2">
<asp:Button ID="btnEnter" runat="server" Text="进入比赛" οnclick="btnSave_Click" />
</td>></tr>
</table>
</div>
</div>
</form>
</body>
</html>

<!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>");
}
}
}

public void Add(string ab)
{
game.PsA = Convert.ToInt32( PsA.Text);
game.PsB = Convert.ToInt32(PsB.Text);
game.ScoreA = Convert.ToInt32(ScoreA.Text);
game.ScoreB = Convert.ToInt32(ScoreB.Text);
game.PartNum = game.PsA + game.PsB;
if (ab == "a")
{
game.ScoreA += 1;
ScoreA.Text = game.ScoreA.ToString();
one();
Victory();
}
else
{
game.ScoreB += 1;
ScoreB.Text = game.ScoreB.ToString();
one();
Victory();
}

}

protected void AddA_Click(object sender, EventArgs e)
{
string ab = "a";
Add(ab);
}

protected void AddB_Click(object sender, EventArgs e)
{
string ab = "b";
Add(ab);
}

public void one()
{
if (game.PartNum < 4)//前四局的加分计算和判断。
{
if (game.ScoreA >= 24 && game.ScoreB >= 24)//当两队24分平的情况。
{
if (Math.Abs(game.ScoreA - game.ScoreB) == 2)
{
if (game.ScoreA > game.ScoreB)
{
game.PsA += 1;
PsA.Text = game.PsA.ToString();
game.ScoreA = 0;
ScoreA.Text = game.ScoreA.ToString();
game.ScoreB = 0;
ScoreB.Text = game.ScoreB.ToString();
}
else
{
game.PsB += 1;
PsB.Text = game.PsB.ToString();
game.ScoreA = 0;
ScoreA.Text = game.ScoreA.ToString();
game.ScoreB = 0;
ScoreB.Text = game.ScoreB.ToString();
}
}
}
else if(game.ScoreA<24||game.ScoreB<24) //当两队没有达到24分平的时候。
{
if (game.ScoreA == 25)
{
game.PsA += 1;
PsA.Text = game.PsA.ToString();
game.ScoreA = 0;
ScoreA.Text = game.ScoreA.ToString();
game.ScoreB = 0;
ScoreB.Text = game.ScoreB.ToString();
}
else if (game.ScoreB == 25)
{
game.PsB += 1;
PsB.Text = game.PsB.ToString();
game.ScoreA = 0;
ScoreA.Text = game.ScoreA.ToString();
game.ScoreB = 0;
ScoreB.Text = game.ScoreB.ToString();
}
}
}
else if (game.PartNum == 4)//第五局的加分计算和判断。
{
if (game.ScoreA >= 14 && game.ScoreB >= 14)//当两队24分平的情况。
{
if (Math.Abs(game.ScoreA - game.ScoreB) == 2)
{
if (game.ScoreA > game.ScoreB)
{
game.PsA += 1;
PsA.Text = game.PsA.ToString();
}
else
{
game.PsB += 1;
PsB.Text = game.PsB.ToString();
}
}
}
else if (game.ScoreA < 14 || game.ScoreB < 14) //当两队没有达到24分平的时候。
{
if (game.ScoreA == 15)
{
game.PsA += 1;
PsA.Text = game.PsA.ToString();
}
else if (game.ScoreB == 15)
{
game.PsB += 1;
PsB.Text = game.PsB.ToString();
}
}
}
else
{
Response.Write("<script>alert('比赛已结束');</script>");
}
}

public void Victory()
{
if (game.PsA==3||game.PsB==3)
{
game.ScoreA = 0;
ScoreA.Text = game.ScoreA.ToString();
game.ScoreB = 0;
ScoreB.Text = game.ScoreB.ToString();
AddA.Visible = false;
AddB.Visible = false;
Response.Write("<script>alert('比赛已结束');</script>");
}
}
}
}

 

和小组成员一起合作完成  界面还未美化 接下来继续

转载于:https://www.cnblogs.com/zyh790531158/p/6568641.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java排球比赛积分系统是一个基于Java编程语言的课程设计项目,旨在通过编写代码实现一个用于排球比赛积分统计系统。该系统将实现以下功能: 1. 球队和比赛信息管理:能够录入和管理参赛球队的信息,包括球队名称、成员名单等。同时,也能录每场比赛的相关信息,如参赛球队、比赛日期等。 2. 积分统计:能够根据比赛结果自动计算并更新球队的积分情况。根据比赛胜负情况和胜负局数,自动更新球队的积分排名。 3. 排名显示:能够将球队的积分排名进行显示,并且可以根据用户需求进行排名的筛选和排序。 4. 技术支持和错误处理:程序应具备一定的容错性和用户友好的界面设计,能够及时处理用户输入错误或系统错误,并给予相应的提示和反馈。 5. 数据存储和管理:能够对球队和比赛数据进行存储和管理,保证数据的安全性和长期可访问性。 在设计这个项目时,应该考虑到系统的稳定性、可扩展性和易用性,确保程序能够实现预期的功能,并且能够满足未来可能的需求变化。另外,应该注重代码的规范性和可维护性,编写清晰、易读的代码,并添加必要的注释和文档,为项目的后续维护和更新奠定良好的基础。同时,需要注重编程的逻辑性和算法的正确性,确保程序能够准确地实现积分统计和排名显示的功能。通过这个课程设计项目,学生可以提升自己的Java编程能力,并学习到如何设计和实现一个完整的积分统计系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值