Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
「まちこうばダンジョン」- 製造業をテーマにしたブラウザベースのダンジョン攻略ゲーム。 日本人が利用することを前提としたプロダクトです。
# 開発サーバー起動(通常は実行不要) npm run dev # ビルド npm run build # リント npm run lint # プレビュー(ビルド後) npm run preview
重要:
npm run dev は実行しないでください(こちらで実行するため)
ビルド・リントの確認: 変更後は必ず
npm run build と npm run lint を実行してエラーがないことを確認してください。
src/ ├── App.jsx # メインアプリケーションコンポーネント ├── gameData.js # ゲームデータ定義(武器、敵、計算式) ├── hooks/ │ └── useGameState.js # ゲーム状態管理の中央集権フック └── components/ ├── MainScreen.jsx # メイン画面(ダンジョン選択) ├── InventoryScreen.jsx # インベントリ画面 ├── DungeonScreen.jsx # ダンジョン画面 ├── BattleScreen.jsx # 戦闘画面 ├── TrainingScreen.jsx # 訓練画面(クイズシステム) └── SettingsScreen.jsx # 設定画面
がアプリケーション全体の状態を管理:useGameState.js
currentScreenで制御される単一画面アプリケーション:
main → dungeon → battle → dungeon または mainmain → training → maininventory, settingsはどの画面からでもアクセス可能**
gameData.js**にすべての静的ゲームデータを集約:
外部データファイル:
QUIZ.txt - クイズデータ(JSON形式)adjustment.txt - 数値調整用データ(CSVライク形式)データ読み込みシステム:
loadAdjustmentData(), loadQuizData() 関数で非同期読み込み
画像は
/image/以下に体系的に整理:
weapon/ - 武器画像(属性別サブフォルダ: cutting, welding, polishing)enemy/ - 敵画像(ダンジョン別サブフォルダ: 切削, 溶接, トレーニング)main/ - UI画像(タイトル、背景)stage/ - 背景画像(戦闘時、訓練時)player/ - キャラクター画像dungeon/ - ダンジョン外観画像(各属性別)画像命名規則:
[属性]_[重量クラス]_[レアリティ].png、一部は_flippedサフィックス付き
.jsx拡張子を使用on*でイベントハンドラを明示useGameStateのsetterを使用して状態を更新。直接stateを変更しない。
例:equipWeapon(), dealDamageToEnemy(), addBattleLog()
gameData.jsにデータ追加components/にコンポーネント作成し、App.jsxのrenderCurrentScreen()に追加useGameState.jsのinitialGameStateと対応するsetterを追加QUIZ.txtにクイズデータ追加(JSON形式)ゲーム状態は
useGameStateで一元管理されているため、React DevToolsで容易にデバッグ可能。
gitに上げる指示が出た際には、https://github.com/Kaito220009/game.tiiki/のブランチclaudecodeにプッシュまでしてください