【小型系統】抽獎系統

1、需求分析git

  1. 顯示候選人照片和姓名。github

  2. 可使用多種模式進行抽獎,包括一人單獨抽獎、兩人同時抽獎、三人同時抽獎。算法

  3. 一我的能夠在不一樣的批次的抽獎中獲取1、2、三等獎,可是不能在同一批次抽獎中獲取多個獎項。框架

2、系統整體框架blog

  系統需求比較簡單,採用Java Swing技術能夠很好的實現,系統的整體類框架圖以下圖片

  

  說明:基於主要的三個類就能夠完成所須要的功能,Frame有Panel類型與MouseAdapter類型的成員,Panel主要用戶存放具體的控件和繪製相應的信息,MouseAdapter主要用於響應鼠標的點擊操做。get

3、系統實現細節it

  1. 照片輪流顯示效果 - 定時器循環

  既然是抽獎系統,因此必定要有讓候選人圖片滾動以起來的效果,那麼如何實現呢?採用定時器便可,每100ms出發一次定時器,則可讓每100ms都顯示不一樣候選者的照片和姓名。下載

  2. 同一候選人在同一批次不能得到多個獎項 - 循環算法

  在進行多人模式進行抽獎的時候,如何保證同一候選人不能得到多個獎項?使用一個循環算法便可,若隨機生成的幾個數相同,則從新生成,直到同一批次生成的數均不相同。

  3. 候選人照片與姓名如何對應 - 兩個鏈表實現

  使用兩個鏈表保證滾動的照片和姓名相對應,前提是照片名字是用候選人姓名+照片格式構成,如leesf.jpg。這樣,在讀取照片的時候也對照片名進行解析,提取出名字,並將照片和名字分別加入照片鏈表和姓名列表,這樣,在取的時候直接同時取照片鏈表和姓名鏈表的相應項便可。

4、代碼清單

  本系統代碼已經上傳到GitHub上。地址爲:https://github.com/leesf/LuckDrawSystem.git 歡迎各位園友fork和下載。

5、運行截圖

  

  系統界面

菜單欄

6、總結

  一個很是簡單的抽獎系統,讀者有須要的能夠根據本身的需求去進行修改。謝謝各位園友的觀看~

相關文章
相關標籤/搜索