蔡毅



摘要:抽簽是羽毛球競賽中最重要的環節之一,電腦抽簽可大大提高抽簽效率,提高抽簽結果的科學性和合理性。該文闡述了以c#為開發工具,開發羽毛球競賽抽簽軟件,實現了羽毛球競賽單項抽簽和批量抽簽功能。
關鍵詞:c#;羽毛球;體育競賽;抽簽
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)30-0085-02
1背景
羽毛球是我國群眾最喜愛的體育運動項目之一,隨著國家全民健身戰略的實施,各種規模各種類型的羽毛球比賽越來越多。在羽毛球比賽中,抽簽是最重要的環節之一。羽毛球比賽抽簽方式有手工抽簽和電腦抽簽兩種,手工抽簽的優點是現場直觀,參賽選手或單位充分參與,抽簽結果公正無疑義,但是需要的投入的人力物力較多,為了防止“抽死”,抽簽過程中需要加以控制;電腦抽簽方便快捷,無需人為控制,省時省力。筆者以“羽毛球比賽抽簽”為關鍵詞檢索文獻,對于羽毛球比賽抽簽的研究很少;通過搜索引擎檢索,也未發現有羽毛球抽簽軟件可以下載。因此,充分利用現代軟件工程技術,研發羽毛球競賽抽簽軟件,具有相當重要的實用價值。
2系統分析與設計
關于羽毛球比賽抽簽的方法和原則,《羽毛球競賽規則》有明確的規定。種子首先進入規定的位置,1號種子進入淘汰表的頂部,2號種子進人淘汰表的底部,3、4號種子抽簽分別進入余下的兩個1/4區,5至8號種子抽簽分別進人余下的1/8區,9至16號種子抽簽分別進入余下的1/16區。種子抽簽完成后,進行非種子選手的抽簽。非種子選手抽簽,同屬一個隊的運動員,應按均勻分布的原則,用以下辦法依次抽進1/2、1/4、1/8...區:第1、2號選手,分別進入不同的1/2區;第3、4號選手,分別進入余下的1/4區;第5至8號選手,分別進入余下的1/8區;同一隊第9號以后的選手,進入余下的任意1/16區。
基于上述原則,在系統研發的內部流程設計中,首先進行種子抽簽,然后再進行非種子抽簽,同時抽簽結果必須完全符合隨機性和合理性的原則。
2.1開發工具選擇
本系統采用微軟公司C#作為開發工具。c#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言,它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和c++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。
2.2系統設計目標
系統需要實現支持單項抽簽和批量抽簽功能。對于單項抽簽,系統通過讀取待抽簽的Excel表格,提取數據到主界面,然后對運動員名單進行隨機抽簽,抽簽結果可保存為Excel文件;對于批量抽簽,用戶分別選擇待抽簽文件存放的文件夾和抽簽結果存放文件夾,系統依次讀取待抽簽文件夾內的文件,抽簽完成后自動輸出到抽簽結果文件夾,整個過程自動完成,無需人工干預。
3系統實現
3.1待抽簽名單整理
抽簽前,需要按競賽項目整理好待抽簽名單,每個項目一個Excel表格。表格格式和內容如圖1所示。
3.2啟動抽簽軟件
系統安裝完成后,單擊桌面的“羽毛球比賽抽簽”圖標即可啟動軟件,軟件啟動后的界面如圖2所示。
3.3單項抽簽
單擊“導入抽簽數據”按鈕,選擇待抽簽的Excel文件,系統自動讀取運動員名單到主窗口中。單擊“開始抽簽”按鈕,系統執行抽簽操作,并把運動員的位置號填寫到“抽簽位置”欄中,如圖3所示。
單擊“保存到Excel”按鈕,可以把抽簽結果保存到Excel文件。
3.4批量抽簽。
勾選“批量抽簽”復選框,單擊“選擇”按鈕選擇待抽簽文件夾以及輸出文件夾,再單擊“開始抽簽”按鈕。系統自動讀取待抽文件夾的所有文件,抽簽后把抽簽結果自動保存到輸出文件夾中。
4系統特點和應用
本系統可進行單項抽簽或批量抽簽;待抽簽名單可設種子或不設種子,種子數量在規則允許的范圍內任意設定(可以是非2的乘方,例如可設3個或5個種子)。批量抽簽時,抽簽結果文件在原文件名后面自動添加“—抽簽結果”后綴。
本系統在多個國家級以及省、市級比賽中應用,抽簽結果準確合理,抽簽效率高。
5結束語
羽毛球抽簽軟件大大提高了羽毛球競賽的抽簽效率,提高了科學性和合理性,可適用于各種規模的羽毛球比賽。目前系統僅支持淘汰賽抽簽,在后續研發中擬加入分組抽簽功能,以使系統更完善。