ゲーム(仮称)_中心広場
ゲーム(仮称)
中心広場を実装しよう
ステージクリアしたら開放するものをたくさん入れて、ご褒美にしていきたい(処理が大変そうだ)
リフレッシュ場(ポイント再振り分け施設)
図書館(ストーリーを仄めかす)⭐
冒険者掲示板
バイト(1クリックで1G稼げるとかそういうしょうもないの)
イメージ
https://scrapbox.io/files/685412c7bbcc8772056f4c59.jpeg
実装する
ルーティングは以下みたいな感じで。
/game/rpg/menu/plaza
/game/rpg/menu/plaza/library
/game/rpg/menu/plaza/refresh
Vue関連のベース作成
router.js
importして、ルーティングを書く
? 配置するVueファイルをもうちょっと階層分けしたほうが良かったな〜など
Plaza.js
仮でbackground-imageをcoverで設置
vuexの状態は、startとloadedの2つくらいで良さそう
状態はどうやってつくるんだっけか
store.jsに記述
どんなstateを持たせるか 
mutations
actions
Vueで呼ぶ
code:js
import { mapState } from 'vuex';
computed: {
...mapState({
status: state => state.menu.plaza
}),
},
どういった処理が必要だろう
アクセスしたセーブデータで、その施設が開放される条件を満たしているかどうか。
rpg_savedata_cleared_fieldsでOK
リフレッシュ場はクリア数3つとか。
処理は後回しにして一旦ガワだけ作る。図書館とかの個別マップは別のVueを用意しよう。
図書館 (Library.vue)
https://scrapbox.io/files/685534412a16ccd846240afb.jpeg
バイト場(Job.vue)
どんな感じにしようか....
バイトというより、遊技場の方がいいか。でも大変そうだから後でかな。
https://scrapbox.io/files/6856713984d5c6bcb6eb90b6.jpeg
冒険者掲示板(Bbs.vue)
図書館のレイアウトを使い回すわけにはいかない(統一すれば良くね、ってなってしまうので)
豆知識とかは図書館側に任せよう。作るなら本当にユーザー専用
ランダムに出すとかでいいかな。
https://scrapbox.io/files/68566c4c952a9b5a2bd2cd9a.jpeg
リフレッシュ場(Refresh.vue)
スキルリセットができる。
Lv * 100Gとしようか。
クリアステージ数は5個くらいかな。
https://scrapbox.io/files/6856732204d68aacf7a75f0f.jpeg
ショップも入れちゃいたいな
リフレッシュ場のUIをそのまま使える
25.7.6
TODO
全体的に
いくつかは、クリアステージで解放されるようにする
リフレッシュ場だけでいいかな。
広場トップ
plazaとcentralどっちを英名とするか非常に悩む...しっくりくるのはcentralだったかも
plazaで書いてしまっているので、作成を最優先とし、それで固定しよう。
マウスオーバー説明 ✅
背景描く
図書館
DBに情報を入れる。
table:rpg_libraries
id name category content(text型) required_clears
1 戦術論I: 治療師の観点から捉える補助職業の優位性 0 <p>aaa</p> 1
2 草原モンスターの生態 1 <p>スララ</p> 0
3 民族の歴史 2 <p>あああ</p><br><p>... 2
$ php artisan make:migration create_rpg_libraries_table
$ php artisan make:seeder rpg/LibraryTableSeeder
$ php artisan make:model /Game/Rpg/Library
DBに入れた情報をvueで受取、画面に出す。
api OK
stateを作る。adventure or enemy or or historyで。今はloadedで固定しているので調整する OK
stateに応じた表示を作る OK
掲示板
テーブルを用意
論理削除とかできるようにしておこう
後は軽く制御できるようにするため、BANフラグとかも。
そのユーザーには見えて、そうでないユーザーには出さないようにする
投稿名は無しでいいかな。
table:rpg_boards
id message savedata_id is_spoiled is_banned created_at updated_at deleted_at
1 20文字以内とかにしてみる。 1 0 0 ... ... ...
$ php artisan make:migration create_rpg_boards_table
$ php artisan make:seeder rpg/BoardTableSeeder
いらないかな?
$ php artisan make:model /Game/Rpg/Board
実装
できた
バイト
同じくテーブルを用意。かなりシンプルに、これくらいかな。
table:rpg_jobs
id savedata_id total_count
$ php artisan make:migration create_rpg_jobs_table
$ php artisan make:model /Game/Rpg/Job
セーブデータ作成と同時に作っておいても良さそう。bootメソッドで定義した。
クリック回数ごとにグレードをつけて、稼げるようにした方が良さそうかもなー。
TODO
start時にfetchでグレード取得 ✅
グレードに応じて、ゴールドの金額やセリフを調整する✅
精算処理✅
リフレッシュ場
view調整
状態保存
現在選択中のパーティメンバーを変えられるようにする
ステータスからリセット処理を持ってくる
お金の処理
TODO
status.vueから振り直しを取り除く。✅
中心広場のbackground-imageを用意する。✅
癒しの館を、3つステージをクリアしないと解放できないようにする ✅
施設のAPIに利用できるかどうかのフラグを用意してやれば良い
設定
Refresh.vue側に直接アクセスした時の処理を作る
3つ以外の場合はリダイレクトさせる