(Scrapboxより引用) https://scrapbox.io/KataokaNagi-dev/高度情報演習2C_Team3_MHDamageCalculator
高度情報演習2C Team3 MHDamageCalculator メンバー 99Kenta KataokaNagi stsubasa0804
作るもの
[- ダメージ計算サイト]
簡易的なモンハン
自分からの攻撃のみ
タスク
非正規化
検索>更新のテーブル
今回は検索=更新
12/16(4日目)
TODO:
スケジューリング
使うプルダウンの決定
来週までのタスク
DONE:
使うプルダウンの決定
武器
大剣など
大剣5種類くらい
[- 攻撃力補正]
具体的な武器名
会心率
属性
攻撃値補正
弱点表
[- 状態異常]
[- 弾]
アクション
防具
攻撃力補正スキル
セット装備を一括指定
相手
モンスターの名前
肉質
弱点属性
部位破壊
[- 部位に対応した素材をログ表示]
剣士[- |ガンナー]
切れ味
色ごとの攻撃補正
[- 回復アイテム]
ソフトの流れ GUIのプルダウンで装備と相手の情報を打ち込む クエスト中も表示されるがどうかいじらないで クエスト出発 テーブル生成 [- 固定で消せるもの] 選択した装備などからつくった 攻撃力 会心率など [- 固定で消せないもの] プレイヤーの最大HPなど [- 可変のもの] 切れ味など 攻撃ボタン1つ 切れ味減 相手の体力減 HPは原作通り見えない 部位破壊 部位を選択して攻撃 メッセージ「部位XXがっ破壊されました」 Unityのデバッグログ風のtextField? [- 被攻撃] 相手の体力ゼロ テーブル削除 最初の状態へ
必要なSQL 作成 検索 更新 削除 インデックス 必要なモジュール 画面構成
スケジュール
とりあえず動くものを作る
出発、攻撃、戻る
1人が関数名だけ作る
内部は分担
データディクショナリ
[https://gyazo.com/09907caf195086797b05445f41b5237b]
[https://gyazo.com/3614cffed22b091e3b58c2d856f8025c]
[https://gyazo.com/07b992e696722c5067553c835ea09204]
ER図
モンスター
[https://gyazo.com/9b22ba934217e5f417e385f9c5c65287]
プレイヤー
[https://gyazo.com/e20a1ffcad1999365b029eecd0d8835d]
装備
[https://gyazo.com/c249f0624c26f44f9aedd685549d8696]
ER図
12月28日更新
[https://gyazo.com/2ff889b8a54fcb51a3d7eb7d243370e2]
設計
Kataoaka
GUI
kenta
[https://gyazo.com/f8501418851c41f79a588aca0a71f806]
[https://gyazo.com/c151bf61551a485dcb434c39307c979b]
main処理
stsubasa
[https://gyazo.com/8b83f3d415e00fd32215eb0bb373eee0]
[https://gyazo.com/65581cebd688617c0543a3379ed77c9d]
DB処理
サンプルレコード作成
ER図
片岡
MEMO:
MHダメージ計算サイト
[http://kuroyonhon.com/mhw/d/dame.php]
SceneBuilder
[https://qiita.com/tarosa0001/items/05ac653a091b7d1290f9]
Github
[https://github.com/stsubasa0804/2C_team3]
Kanban
[https://github.com/stsubasa0804/2C_team3/projects/1]
12/23(5日目)
TODO:
モジュールの確認
足りない機能がないか
次回までのタスク
防具スキルコード
DONE:
書いたモジュールの確認
GUI
だいたい完成
[https://gyazo.com/3fc758c92b16b97adf4cf0475f72a8ef]
[https://gyazo.com/bcf14ebed060e52f17f89b718ce18d83]
シーン遷移がまだ?
関数待ち?
ゲーム処理
関数書いただけ
実装してほしい機能
GUI
仮の引数を代入して表示されるか確認
プルダウンのためにStringで検索したい
テキストログ
privateメンバにリスト
publicのgetterメソッド
GUIで利用
publicのsetterメソッド
ゲーム処理で利用
設定しないとボタンを押せない機能
ゲーム処理
攻撃間sleep
スキルなどの複雑な計算はここで
GUI開発者は実際の値しか見えない
全部の武器・防具はリストでiで参照できるようにしてほしい
privateメンバをgetterで取得
DAO
クエスト出発時テーブル作成
[- コメントのテーブル]
[https://gyazo.com/e787d4c2e6c669cad188206d2e0294d1]
欲しい関数
GUI
メニュー
String[] 武器名()
String[] 防具名()
String[] モンスター名()
int 攻撃力(String 武器名, String 防具名)
int 防御力(String 防具名)
void 使用武器防具モンスター登録(String 武器名,String 防具名,String モンスター名)
クエスト中
ArrayList<String> 部位名(String モンスター名)
void 攻撃する(String 部位名)
public 終了(boolean true 勝利,false敗北)
int HP();
int sharpness();
ステータスのオブジェクトを利用したい
ゲーム処理
遷移
ステータスのオブジェクト
int MonsterAttack() プレイヤーが受けたダメージ
int PlayerAttack(int Parts_id) プレイヤーが与えたダメージ
DAO
案
1クラスpublic関数
[- GUIのオブジェクトをゲーム処理で利用]
[- ゲームステータスのオブジェクトをGUIで利用]
各パッケージの役割
[https://gyazo.com/88ff46369e5aa4e04c93cba55fd46ddd]
クエスト開始ボタン押したときに使う武器と防具とモンスターをゲーム処理に伝える関数が必要
クラス図
12月28日更新
GUIとGameProcess
[https://gyazo.com/ddd086151e5556e303a0d49f0ccda1a7]
JDBCの親クラス
[https://gyazo.com/b7bf59a4896d552762dc7cf5b9943ab5]
JDBCの子クラス(検索テーブル)
[https://gyazo.com/39ec10881fc36964ac316fc651886c27]
JDBCの子クラス(更新テーブル)
[https://gyazo.com/8a3a393f3c6b68a7b1228422476286b6]
JDBCざっくり
[https://gyazo.com/534bf594e7f834e90e89b59263f05a6d]
MEMO:
DAOパターン
https://kanda-it-school-kensyu.com/java-jdbc-contents/jj_ch04/jj_0401/
冬休み
TODO:
実装
結合テスト
発表資料
DONE:
ER図の非正規化 12月28日更新 [https://gyazo.com/0ca4c01b26d06435d01d5a886df5a25d]
MEMO:
【トランザクションテーブルがどれかってお話(発表準備向け)】 プレイヤーとモンスターは複数人いると想定して、簡単のために1人&1体で実装。 簡単のため、トランザクションテーブルとなる体力を更新していく3つの非正規化テーブルは、常に1レコードしかない。
トランザクションテーブル=更新用のもの で、正規化したものが推奨なんだけど、うちの場合はメモリ節約のために、例外的に非正規化したものをトランザクションテーブルにする感じになると思う。体力ってのも独特だしね。
1/13(6日目)
更新テーブル トランザクションテーブル 正規化 プレイヤー体力、モンスター体力、モンスター部位体力 検索テーブル 非正規化 スキルで正規化したテーブルを変えてから非正規化? そのまま非正規化してPGでスキル反映? おそらく後者が楽 最低3つのトランザクションテーブル モンスター部位体力 非正規化したものでありながら更新でもある [https://gyazo.com/c610e5429e8cd8068a531d6c147b3cd7]
1/20 講義あるけど何やるんだ?