高度情報演習2C Team3 MHDamageCalculator
メンバー
99Kenta
KataokaNagi
stsubasa0804
作るもの
ダメージ計算サイト
簡易的なモンハン
自分からの攻撃のみ
環境構築(Windows)
SceneBuilderのダウンロード
Eclipseでプロジェクトのインポート
File
import
Git
Projects from Git (with smart import)
next連打
デバッグ構成のVM引数に以下を入力
-p "C:\Program Files\Java\javafx-sdk-11.0.2\lib"
--add-modules=javafx.controls
--add-modules=javafx.fxml
Debianの場合、
--module-path=/home/nagi/Documents/eclipse_workspace/javafx-sdk-11.0.2/lib/
適宜変更
--add-modules=javafx.controls
--add-modules=javafx.swing
--add-modules=javafx.base
--add-modules=javafx.fxml
--add-modules=javafx.media
--add-modules=javafx.web
C:\Program Files\Java\にJavaFXのSDK、javafx-sdk-11.0.2\libを配置
ビルドパスのアクセス制限の解除
パッケージエクスプローラーで右クリック
ビルドパス
ビルドパスの構成
ライブラリー
アクセスルール(3箇所ある)
編集
追加
アクセス可能
com/sun/awt/*
JavaFX11の追加
パッケージエクスプローラーで右クリック
ビルドパス
ビルドパスの構成
ライブラリー
モジュールパス
ライブラリーの追加
ユーザー・ライブラリー
ユーザーライブラリの新規作成
適当な名前
システムライブラリーにする
C:\Program Files\Java\javafx-sdk-11.0.2\libの全てのjarを追加
********************************************************************************
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
装備
2021/01/12更新
https://gyazo.com/3012bc98d169a42b3b869a5d48c48de3
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ダメージ計算サイト
SceneBuilder
Github
Kanban
********************************************************************************
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のenum 2021/01/11更新
https://gyazo.com/8fa9a2a40fa99654e78ecc17578cd17b
JDBCざっくり
https://gyazo.com/534bf594e7f834e90e89b59263f05a6d
**************************************************
MEMO:
**************************************************
DAOパターン
********************************************************************************
冬休み
********************************************************************************
**************************************************
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 講義あるけど何やるんだ?
********************************************************************************