GithubHelp home page GithubHelp logo

tooppoo / ac6_assemble_tool Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.35 MB

「ARMORED CORE Ⅵ FIRES OF RUBICON」用 非公式アセンブル支援ツール

Home Page: https://tooppoo.github.io/ac6_assemble_tool/

License: MIT License

TypeScript 83.27% JavaScript 0.87% HTML 0.91% Dockerfile 0.02% Svelte 14.77% SCSS 0.16%

ac6_assemble_tool's Introduction

AC6 ASSEMBLE TOOL

Test codecov Maintainability Test Coverage

This application can be used here

ac6_assemble_tool's People

Contributors

tooppoo avatar renovate[bot] avatar

Watchers

 avatar

ac6_assemble_tool's Issues

使用可能なパーツの一覧機能

指定した絞り込み条件で利用可能なパーツを一覧して、別途表示する

「シュナイダー製パーツのみでプレイ」
「ルビコン系企業のパーツのみでプレイ」
といったプレイを支援する機能として

ステータス表示する項目調整可能にする

  • 表示のON/OFF
  • 表示位置の入れ替え

indexeddbに保存?

classDiagram

class ReportList ~View~
class ReportItem ~View~
class ReportListEditor ~View~

class ReportRepository ~Interface~ {
  save(ReportAggregation)
  read(): ReportAggregation
}

class Report ~Model~ {
  key: ReportKey
  show: boolean
}
class ReportBlock ~Model~ {
  id: string
  show: boolean
}
class ReportAggregation ~Model~ {
  updateReport(blockId: string, report: Report): ReportAggregation
  moveReport(blockId: string, reportKey: ReportKey, position: number): ReportAggregation

  updateBlock(block: ReportBlock): ReportAggregation
  moveBlock(blockId: string, position: number): ReportAggregation
}

ReportAggregation o--> "n" ReportBlock
ReportBlock o--> "n" Report

ReportRepository ..> ReportAggregation

ReportItem --> Report : 表示
ReportList --> ReportAggregation : 表示
ReportList --> ReportItem

ReportListEditor --> Report : 操作
ReportListEditor --> ReportBlock : 操作
ReportListEditor --> ReportAggregation : 更新
ReportListEditor --> ReportRepository : 保存

IndexedDbReportRepository --|> ReportRepository

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
scripts/ngrok/docker-compose.yml
dockerfile
scripts/ngrok/Node.dockerfile
  • node 21.7.3-slim
github-actions
.github/workflows/deploy.yml
  • actions/download-artifact v4
  • actions/configure-pages v5
  • actions/upload-pages-artifact v3
  • actions/deploy-pages v4
.github/workflows/lighthouse.yml
  • actions/setup-node v4
.github/workflows/test.yml
  • actions/setup-node v4
  • codecov/codecov-action v4.4.1
  • paambaati/codeclimate-action v6.0.0
  • actions/upload-artifact v4
nodenv
.node-version
  • node 21.7.3
npm
package.json
  • bootstrap 5.3.3
  • bootstrap-icons 1.11.3
  • dexie 4.0.7
  • i18next 23.11.5
  • lodash-es 4.17.21
  • loglevel 1.9.1
  • svelte 4.2.17
  • svelte-i18next 2.2.2
  • ulid 2.3.0
  • zod 3.23.8
  • @eslint/eslintrc 3.1.0
  • @eslint/js 9.4.0
  • @fast-check/vitest 0.1.1
  • @popperjs/core 2.11.8
  • @sveltejs/vite-plugin-svelte 3.1.1
  • @testing-library/jest-dom 6.4.5
  • @testing-library/svelte 5.1.0
  • @tsconfig/svelte 5.0.4
  • @types/bootstrap 5.2.10
  • @types/lodash-es 4.17.12
  • @types/node 20.14.2
  • @types/sinon 17.0.3
  • @typescript-eslint/eslint-plugin 7.12.0
  • @typescript-eslint/parser 7.12.0
  • @vitest/coverage-v8 1.6.0
  • eslint 8.57.0
  • eslint-config-prettier 9.1.0
  • eslint-import-resolver-typescript 3.6.1
  • eslint-plugin-import 2.29.1
  • eslint-plugin-svelte 2.39.0
  • fake-indexeddb 6.0.0
  • fast-check 3.19.0
  • globals 15.3.0
  • jsdom 24.1.0
  • prettier 3.3.1
  • sass 1.77.4
  • sinon 18.0.0
  • svelte-check 3.8.0
  • svelte-eslint-parser 0.36.0
  • tslib 2.6.3
  • typescript 5.4.5
  • typescript-eslint 7.12.0
  • vite 5.2.12
  • vite-plugin-dynamic-import 1.5.0
  • vite-plugin-sitemap ^0.6.0
  • vitest 1.6.0
  • node >=21.6.1
  • npm >=10.2.4

  • Check this box to trigger a request for Renovate to run again on this repository

共有UI追加

  • 共有ボタンをNavBarに追加
  • 共有ボタンから共有フレームを開く
  • 共有フレームに以下を配置
    • アセンをクリップボードコピー
    • アセン + ステータスをクリップボードコピー
    • URL共有

アセンブル保存機能

認証はしたくないので、localstorage や indexeddb など、ブラウザで完結するものを使うことになりそう

  • アセンを保存する
  • アセンデータを復元する
  • アセンデータを直接共有する
  • アセンデータに名前をつける

安定性能、装甲、EN供給、補充遅延の表記を追加

EN供給

・EN余剰(EN出力-負荷合計)が1800以下の場合
EN供給効率 = 1500 + EN余剰 * 25 / 6

・EN余剰1800以上の場合
EN供給効率 = 9000 + (余剰 - 1800) * 75 / 17

補充遅延

補充遅延(秒) = 1000 / (ジェネの補充性能(100=1.00)×コアの供給効率)

パーツロック時にフィルタを追加する

パーツ選択時点で適宜フィルタを追加することで、そもそものロック時の絞り込みも不要になるかも
→ ロックする前にパーツ選択が発生しているため

ブースターを Not Equipped でロックした場合はタンクだけに追加で絞り込む必要があるため、ロック時にも絞り込む必要はある

ランダム生成が最後まで失敗したとき、失敗原因を表示する

「違反したルール:違反した回数」の形式で表示

多数回試行する関係で「原因」というのが一通りに定まらないのと、ランダム生成されたものが複数の「原因」にひっかかる可能性もあるため


質問 ランダム生成が失敗したときの原因をポップアップで出すことはできますか
例:指定した金額が低すぎて最低限度の構築ができない とか

今のところ最大1000回まで試行するけど、その過程でどんな条件に何回引っかかったか、という形なら出せるかも
多数回試行する関係で「原因」というのが一通りに定まらないのと、ランダム生成されたものが複数の「原因」にひっかかる可能性もあるのよね

試行回数の中で複数の原因を検知した場合、それらをまとめて列挙すればよいかと
指定の条件でのランダム生成が失敗しました 以下の原因が考えられます
・原因①
・原因②
みたいな

ユーザとしては試行回数がどれぐらいとか、失敗の内訳がどうとかっていうのはあんまり気にする点ではないと思うので
最終的にリリースされるときには、エラーになったこと、その原因がわかればいいかなあ なんて思ってます

頻度がわかればどの条件に多く引っかかったかわかる → どの条件を緩めれば通りやすくなるかわかる
という感じになるかなあと思ってました
回数というより、「失敗原因の順位」がわかる感じでどうだろ

そっちの方がよさそうっすね

ステータス追加

  • EN射撃適性(と実際の倍率)
    • 適性(倍) = (適性値+100) ÷ 2
  • 近接武器適性(と実際の倍率)
    • 適性(倍) = (適性値+100) ÷ 2
  • EN復元供給量

ステータス表示項目追加

  • 腕部積載
  • QB消費EN
    • QB消費EN = 素のQB消費EN × (200 - コアのB効率) ÷ 100
  • EN復元遅延(EN使い切った後に回復し始めるまでの時間)
    • 復元遅延(秒) = 1000 / (ジェネの復元性能 × コアの供給効率)

計算式が怪しい箇所の調整

  • EN補充遅延
    • ただナハトコア短所で補充遅延が1.00秒ではなく1.01秒なので、若干計算式が違うかもしれない
      計算したところ1.009だから、もしかしたら少数第三位切り捨てっぽいです

絞り込み・バリデーションをDSL化

  • 既存のfilter・validationを、具体的な実装からDSLへの変換装置に切り替え
  • filter適用は、candidatesを対象にDSLを実行して行う方法にする
  • validation適用は、assemblyを対象にDSLを実行して行う方法にする
  • この対応以降、UIで提示するフィルタ・バリデーションは実質的にDSL入力のショートカットになる
  • 後々、DSLを直接入力して複雑なクエリに対応可能にする想定

比較のバリエーション

  • is
    • rightArmUnit.classificaton = not-equipped
  • not
    • not(leg.categry = tank)
  • greater
    • leg.capacity >= 6000
  • less
    • head.weight <= 300
  • in
    • core.manufacture in [baws, elcano, rad]

「絞り込み」と「制約」で、UIを分ける?
絞り込み → パーツの候補(candidates)に対する条件設定
制約 → 出来上がったアセン(assembly)に対する条件設定
制約はフィルタというよりバリデーション → 実装上もそうなってる

アセンブルシェア機能

Web Share API?#84 (comment)

  • アセン変更ごとに、アセンをURLに変換して反映
  • アクセス時にURLクエリからアセンを再構築、未指定ならデフォルト

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.