diff --git a/README.md b/README.md new file mode 100644 index 0000000..705e8b7 --- /dev/null +++ b/README.md @@ -0,0 +1,111 @@ +# NIKKE Select + +一個用於記錄和管理《勝利女神:妮姬》遊戲角色的網頁工具。 + +## 📖 專案簡介 + +NIKKE Select 是一個專為《勝利女神:妮姬》玩家設計的網頁應用程式,幫助玩家記錄擁有的妮姬角色、管理角色星級,並進行隊伍模擬配置。 + +## ✨ 主要功能 + +### 🎯 妮姬紀錄 (nikke.html) +- **角色收藏管理**:記錄所有擁有的妮姬角色 +- **星級系統**:點擊角色圖片可切換星級(0-11 星) +- **陣營分類**:自動按照 Elysion、Missilis、Tetra、Pilgrim、Abnormal 等陣營分類顯示 +- **進度追蹤**:查看收集進度和統計數據 +- **數據保存**:使用瀏覽器本地儲存(localStorage)自動保存進度 +- **圖片匯出**:可將記錄頁面儲存為圖片 + +### 👥 隊伍模擬 (team.html) +- **拖放組隊**:透過拖放方式組建隊伍 +- **Burst 分類**:按照 Burst 1、Burst 2、Burst 3 分類顯示角色 +- **多隊伍管理**:可建立多個隊伍配置 +- **隊伍截圖**:可將隊伍配置儲存為圖片分享 + +### 🏠 首頁 (index.html) +- 提供導航選單,快速切換不同功能頁面 + +## 🚀 使用方式 + +### 線上使用 +直接訪問:https://swiftstar.github.io/nikke.select + +### 本地運行 +1. 下載或克隆此專案 +2. 使用任何靜態網頁伺服器開啟專案 + - 或直接使用瀏覽器開啟 `index.html` 檔案 + +## 📁 專案結構 + +``` +nikke.select/ +├── index.html # 首頁 +├── nikke.html # 妮姬紀錄頁面 +├── team.html # 隊伍模擬頁面 +├── css/ # 樣式表 +│ ├── styles0.css # 首頁樣式 +│ ├── styles1.css # 妮姬紀錄頁面樣式 +│ ├── styles2.css # 隊伍模擬頁面樣式 +│ └── sweetalert2.css # SweetAlert2 樣式 +├── js/ # JavaScript 檔案 +│ ├── main0.js # 首頁邏輯 +│ ├── main1.js # 妮姬紀錄頁面邏輯 +│ ├── main2.js # 隊伍模擬頁面邏輯 +│ ├── datasave1.js # 妮姬紀錄數據保存 +│ ├── datasave2.js # 隊伍模擬數據保存 +│ └── imgsave.js # 圖片保存功能 +└── images/ # 圖片資源 + ├── character/ # 角色圖片 + └── others/ # 其他圖片資源(星星、Burst 圖標等) +``` + +## 🛠️ 技術棧 + +- **HTML5** - 網頁結構 +- **CSS3** - 樣式設計 +- **JavaScript (ES6+)** - 核心功能實現 +- **localStorage** - 本地數據儲存 +- **html2canvas** - 網頁截圖功能 +- **SweetAlert2** - 美觀的提示對話框 + +## 📝 功能說明 + +### 星級系統 +- 點擊角色圖片可循環切換星級(0-11 星) +- 星級 0 表示未擁有該角色 +- 星級 1-11 表示角色的突破等級 + +### 數據保存 +- 所有進度自動保存到瀏覽器的 localStorage +- 重新開啟頁面時會自動載入之前的進度 +- 可透過「重設」按鈕清除所有數據 + +### 隊伍模擬 +- 從左側角色列表拖放角色到右側隊伍格子 +- 支援建立多個隊伍配置 +- 可透過「+」和「-」按鈕新增或刪除隊伍 + +## 🎨 特色 + +- ✅ 響應式設計,支援各種螢幕尺寸 +- ✅ 直觀的拖放操作介面 +- ✅ 自動保存功能,無需手動儲存 +- ✅ 精美的 UI 設計 +- ✅ 完整的角色資料庫 + +## 📄 授權 + +此專案為開源專案,歡迎自由使用和修改。 + +## 🤝 貢獻 + +歡迎提交 Issue 或 Pull Request 來改善此專案! + +## 📧 聯絡方式 + +如有問題或建議,請透過 GitHub Issues 聯繫。 + +--- + +**注意**:此專案為非官方工具,與遊戲官方無關。 + diff --git a/images/character/image100.webp b/images/character/image100.webp new file mode 100644 index 0000000..dec0ab4 Binary files /dev/null and b/images/character/image100.webp differ diff --git a/images/character/image100b.webp b/images/character/image100b.webp new file mode 100644 index 0000000..e64c4c4 Binary files /dev/null and b/images/character/image100b.webp differ diff --git a/images/character/image101.webp b/images/character/image101.webp new file mode 100644 index 0000000..4f7c168 Binary files /dev/null and b/images/character/image101.webp differ diff --git a/images/character/image101b.webp b/images/character/image101b.webp new file mode 100644 index 0000000..86aabde Binary files /dev/null and b/images/character/image101b.webp differ diff --git a/images/character/image102.webp b/images/character/image102.webp new file mode 100644 index 0000000..633bab4 Binary files /dev/null and b/images/character/image102.webp differ diff --git a/images/character/image102b.webp b/images/character/image102b.webp new file mode 100644 index 0000000..0bc05f0 Binary files /dev/null and b/images/character/image102b.webp differ diff --git a/images/character/image103.webp b/images/character/image103.webp new file mode 100644 index 0000000..86a09da Binary files /dev/null and b/images/character/image103.webp differ diff --git a/images/character/image103b.webp b/images/character/image103b.webp new file mode 100644 index 0000000..9ce0705 Binary files /dev/null and b/images/character/image103b.webp differ diff --git a/images/character/image82.webp b/images/character/image82.webp new file mode 100644 index 0000000..e8ca07a Binary files /dev/null and b/images/character/image82.webp differ diff --git a/images/character/image82b.webp b/images/character/image82b.webp new file mode 100644 index 0000000..9b28f79 Binary files /dev/null and b/images/character/image82b.webp differ diff --git a/images/character/image83.webp b/images/character/image83.webp new file mode 100644 index 0000000..ec63e4c Binary files /dev/null and b/images/character/image83.webp differ diff --git a/images/character/image83b.webp b/images/character/image83b.webp new file mode 100644 index 0000000..2c733d0 Binary files /dev/null and b/images/character/image83b.webp differ diff --git a/images/character/image84.webp b/images/character/image84.webp new file mode 100644 index 0000000..d848761 Binary files /dev/null and b/images/character/image84.webp differ diff --git a/images/character/image84b.webp b/images/character/image84b.webp new file mode 100644 index 0000000..a4254cc Binary files /dev/null and b/images/character/image84b.webp differ diff --git a/images/character/image85.webp b/images/character/image85.webp new file mode 100644 index 0000000..e99e875 Binary files /dev/null and b/images/character/image85.webp differ diff --git a/images/character/image85b.webp b/images/character/image85b.webp new file mode 100644 index 0000000..a0d9fe1 Binary files /dev/null and b/images/character/image85b.webp differ diff --git a/images/character/image86.webp b/images/character/image86.webp new file mode 100644 index 0000000..2440c22 Binary files /dev/null and b/images/character/image86.webp differ diff --git a/images/character/image86b.webp b/images/character/image86b.webp new file mode 100644 index 0000000..0ef312e Binary files /dev/null and b/images/character/image86b.webp differ diff --git a/images/character/image87.webp b/images/character/image87.webp new file mode 100644 index 0000000..2b252e9 Binary files /dev/null and b/images/character/image87.webp differ diff --git a/images/character/image87b.webp b/images/character/image87b.webp new file mode 100644 index 0000000..eed9d2f Binary files /dev/null and b/images/character/image87b.webp differ diff --git a/images/character/image88.webp b/images/character/image88.webp new file mode 100644 index 0000000..f0a3bf6 Binary files /dev/null and b/images/character/image88.webp differ diff --git a/images/character/image88b.webp b/images/character/image88b.webp new file mode 100644 index 0000000..eefdaf1 Binary files /dev/null and b/images/character/image88b.webp differ diff --git a/images/character/image89.webp b/images/character/image89.webp new file mode 100644 index 0000000..205e3ff Binary files /dev/null and b/images/character/image89.webp differ diff --git a/images/character/image89b.webp b/images/character/image89b.webp new file mode 100644 index 0000000..43e3794 Binary files /dev/null and b/images/character/image89b.webp differ diff --git a/images/character/image90.webp b/images/character/image90.webp new file mode 100644 index 0000000..07979a0 Binary files /dev/null and b/images/character/image90.webp differ diff --git a/images/character/image90b.webp b/images/character/image90b.webp new file mode 100644 index 0000000..30efdf2 Binary files /dev/null and b/images/character/image90b.webp differ diff --git a/images/character/image91.webp b/images/character/image91.webp new file mode 100644 index 0000000..748200c Binary files /dev/null and b/images/character/image91.webp differ diff --git a/images/character/image91b.webp b/images/character/image91b.webp new file mode 100644 index 0000000..9531e8e Binary files /dev/null and b/images/character/image91b.webp differ diff --git a/images/character/image92.webp b/images/character/image92.webp new file mode 100644 index 0000000..169e4fb Binary files /dev/null and b/images/character/image92.webp differ diff --git a/images/character/image92b.webp b/images/character/image92b.webp new file mode 100644 index 0000000..60d9a03 Binary files /dev/null and b/images/character/image92b.webp differ diff --git a/images/character/image93.webp b/images/character/image93.webp new file mode 100644 index 0000000..39efc9c Binary files /dev/null and b/images/character/image93.webp differ diff --git a/images/character/image93b.webp b/images/character/image93b.webp new file mode 100644 index 0000000..bbf09b4 Binary files /dev/null and b/images/character/image93b.webp differ diff --git a/images/character/image94.webp b/images/character/image94.webp new file mode 100644 index 0000000..37423f0 Binary files /dev/null and b/images/character/image94.webp differ diff --git a/images/character/image94b.webp b/images/character/image94b.webp new file mode 100644 index 0000000..9da25e5 Binary files /dev/null and b/images/character/image94b.webp differ diff --git a/images/character/image95.webp b/images/character/image95.webp new file mode 100644 index 0000000..832c204 Binary files /dev/null and b/images/character/image95.webp differ diff --git a/images/character/image95b.webp b/images/character/image95b.webp new file mode 100644 index 0000000..c7109ce Binary files /dev/null and b/images/character/image95b.webp differ diff --git a/images/character/image96.webp b/images/character/image96.webp new file mode 100644 index 0000000..9eccdfe Binary files /dev/null and b/images/character/image96.webp differ diff --git a/images/character/image96b.webp b/images/character/image96b.webp new file mode 100644 index 0000000..aff7747 Binary files /dev/null and b/images/character/image96b.webp differ diff --git a/images/character/image97.webp b/images/character/image97.webp new file mode 100644 index 0000000..aa6dcc1 Binary files /dev/null and b/images/character/image97.webp differ diff --git a/images/character/image97b.webp b/images/character/image97b.webp new file mode 100644 index 0000000..bfb8bc6 Binary files /dev/null and b/images/character/image97b.webp differ diff --git a/images/character/image98.webp b/images/character/image98.webp new file mode 100644 index 0000000..6bc07da Binary files /dev/null and b/images/character/image98.webp differ diff --git a/images/character/image98b.webp b/images/character/image98b.webp new file mode 100644 index 0000000..2f9259f Binary files /dev/null and b/images/character/image98b.webp differ diff --git a/images/character/image99.webp b/images/character/image99.webp new file mode 100644 index 0000000..f7a7463 Binary files /dev/null and b/images/character/image99.webp differ diff --git a/images/character/image99b.webp b/images/character/image99b.webp new file mode 100644 index 0000000..c4aa3b9 Binary files /dev/null and b/images/character/image99b.webp differ diff --git a/js/main1.js b/js/main1.js index f054f1e..ebd8c80 100644 --- a/js/main1.js +++ b/js/main1.js @@ -4,11 +4,18 @@ document.addEventListener('contextmenu', (event) => { }); const nikkenum = { - 'Elysion': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 11, 16, 12, 76, 79, 15, 73], - 'Missilis': [17, 18, 20, 21, 22, 29, 30, 31, 32, 33, 19, 25, 26, 27, 23, 77, 78, 28], - 'Tetra': [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 55, 56, 58, 24, 51, 52, 53, 49, 59, 47, 48, 50, 54, 57, 60, 72], + 'Elysion': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 11, 16, 12, 76, 79, 15, 73, // SSR + 82, 83, 85, 93, // SR + 95, 96, 97], // R + 'Missilis': [17, 18, 20, 21, 22, 29, 30, 31, 32, 33, 19, 25, 26, 27, 23, 77, 78, 28, // SSR + 88, 89, 91, //SR + 98, 99, 100], // R + 'Tetra': [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 55, 56, 58, 24, 51, 52, 53, 49, 59, 47, 48, 50, 54, 57, 60, 72, // SSR + 84, 86, 87, 90, // SR + 101, 102, 103], // R 'Pilgrim': [61, 62, 63, 65, 66, 67, 68, 69, 64, 80, 81], - 'Abnormal': [70, 71, 74, 75], + 'Abnormal': [70, 71, 74, 75, // SSR + 92, 94], // SR }; // 使用解構賦值將容器長度儲存到相對應的變數中 diff --git a/js/main2.js b/js/main2.js index e39031d..d0c02e7 100644 --- a/js/main2.js +++ b/js/main2.js @@ -4,9 +4,15 @@ document.addEventListener('contextmenu', (event) => { }); const nikketeamnum = { - 'Burst 1': [1, 5, 20, 23, 29, 35, 36, 38, 40, 41, 43, 45, 55, 51, 52, 49, 59, 50, 78, 57, 60, 62, 64], - 'Burst 2': [3, 4, 8, 14, 12, 76, 73, 21, 31, 32, 25, 26, 27, 77, 28, 37, 39, 42, 44, 58, 24, 53, 47, 54, 67, 69, 70], - 'Burst 3': [2, 6, 7, 9, 10, 13, 11, 16, 79, 15, 17, 18, 22, 30, 33, 19, 34, 46, 56, 48, 72, 61, 63, 65, 66, 68, 80, 71, 74, 75], + 'Burst 1': [1, 5, 20, 23, 29, 35, 36, 38, 40, 41, 43, 45, 55, 51, 52, 49, 59, 50, 78, 57, 60, 62, 64, // SSR + 83, 87, 88, 91, 93, 94, // SR + 97, 98, 101, 102], // R + 'Burst 2': [3, 4, 8, 14, 12, 76, 73, 21, 31, 32, 25, 26, 27, 77, 28, 37, 39, 42, 44, 58, 24, 53, 47, 54, 67, 69, 70, // SSR + 84, 85, 86, 92, // SR + 96, 100], // R + 'Burst 3': [2, 6, 7, 9, 10, 13, 11, 16, 79, 15, 17, 18, 22, 30, 33, 19, 34, 46, 56, 48, 72, 61, 63, 65, 66, 68, 80, 71, 74, 75, // SSR + 82, 89, 90, // SR + 95, 99, 103], // R 'Burst 1~3': [81], };