Skip to content

oxygen-TW/LotsDrawer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LotsDrawer

hackmd-github-sync-badge

開發緣由

因家人是老師,需要抽點學生,找不到市面上好用且沒有廣告的抽籤軟體,剛好在這次 DSC summer bootcamp 學會了很多新技術,便拿來運用親自打造一套好用的抽籤軟體。

使用技術

Contributor 團隊成員

2位

  • 劉子豪 oxygen-TW
    • RandomCore.dart 開發
    • UI layout
  • 陳俊瑜 junyussh
    • UI layout
    • UI optimization

Web PWA

https://web.oxygentw.net/LotsDrawer/#/

操作截圖

Draw lots app Random API

引用

命名規則

  • 以下底線開頭的函式設計為內部函式,請勿外部呼叫。

RandomCore.dart

  • RandomCore(int start, int end)
    • 初始化
    • 設定亂數的上限與下限
  • void dispose()
    • delete class
  • setRange(int start, int end)
    • 設定亂數的上限與下限
  • void setExcludeNumbers(List<int>)
    • 直接指定所有排除數字
  • void addExcludeNumber(int)
    • 新增一個排除數字
  • void getExcludeNumbers(int)
    • 取得目前被排除的數字
  • void setMultiDraw(int)
    • 設定單次抽取數量
  • int getMultiDraw()
    • 取得目前單次抽取數量
  • void _shuffleList()
    • 重新排序
  • bool check()
    • 檢查上限與下限是否合法
    • 檢查是否已經抽完所有數字
  • List<int> getRandomList()
    • 抽取數字 LotsDrawer

BasicRandom.dart

inherit RandomCore

  • BasicRandom(int start, int end)
    • 初始化
  • List<int> getRoundNumbers()
    • 取得單次抽籤數字 List
  • List<int> getTotalNumbers()
    • 取得所有已抽中數字 List
  • List<int> getExcludeNumbers()
    • 取得目前被排除的數字 List
  • String getRoundNumbersString()
    • 取得單次抽籤數字字串
  • String getTotalNumbersString()
    • 取得所有已抽中數字字串
  • String getExcludeNumbersString()
    • 取得目前被排除的數字字串
  • void dispose()
    • 刪除 class

CatalogRandom.dart

inherit RandomCore

  • CatalogRandom()
    • 初始化
  • int addCatalog(String item)
    • 新增 item 至 catalog
    • if item already exsit, throw exception CatalogRandomItemExsit
  • List<String> getCatalog()
    • 取得目前 catalog
  • bool removeCatalog(String item)
    • success return true, otherwise return false
  • String random()
    • if All catalogs have been selected, throw exception CatalogRandomNoItem
  • void requireUnique(bool)
    • 設定不可重複
  • bool _isAllselected()
    • 是否已經抽完所有 item
  • dispose()
    • 刪除 class