SlideShare a Scribd company logo
1 of 18
プログラミング応用b
長期課題(2)
『RPGキャラクター
レベルアップシミュレーション』
情報システム学系
ゲーム・アプリケーション研究室
河野 義広
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
課題:RPGキャラクター
職業毎レベルアップシミュレーション
 目的
 RPG開発の準備を整えるためのプログラムを作ること
 要件
 対話型でレベルアップ時のステータスを確認できる
 ゲームデータのセーブ&ロードができること
 前提知識
 必須:クラス・継承・ファイル入出力
 任意:スレッド・コレクション・GUI
2
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
長期課題(2)の進め方
 進め方
 第10回(11/28)~第15回(1/16)までの継続的な課題
 毎回の演習時に20~30分程度のグループワークを実施
 グループワーク:3~4人組で設計作業&状況確認
 各チェックポイント
 第12回(12/12):レベルアップシミュレーション
 第14回(01/09):データのセーブ&ロード機能
 第15回(01/16):最終チェック ※オプション機能含む
※チェックポイントの到達度に応じて、評価を行う方式
3
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
課題:RPGキャラクター
職業毎レベルアップシミュレーション
 必須機能
 ステータスのパラメータが異なる3種以上の「職業」
 入力情報:名前, 職業, 設定レベル
 ステータス:HP, MP, 力, 素早さ、身の守りなど ※任意で追加可
 職業毎にステータス成長度の違いを実現する
 レベルアップによるパラメータ上昇値のシミュレーション
 キャラクターのゲームデータのセーブ&ロード機能
 オプション機能
 キャラクターのパーティーと敵との戦闘
 HashMap, Listなどを用いたデータ管理の改良
 DXライブラリによるキャラクターや敵の表示
4
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
実行画面:キャラクター登録
 処理の流れ
 必要事項「名前、性別、職業」の入力
 職業の特性に合わせた初期ステータスが表示される
5
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
実行画面:成長シミュレーション
 処理の流れ
 設定するレベルを指定する
 職業毎の特性に合わせたレベルアップのシミュレーション
6
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
課題のヒント
 課題の内容を理解する
 職業毎のクラスをどのように表現できるか
 レベルアップ時のパラメータ変化を職業毎に変えるには
 実装方法を考える
 キャラクターをクラスとして定義するとどうなるか
 どのような変数やメソッドがあるだろうか
 クラスメソッドとインスタンスメソッドを使い分ける
 職業毎に上昇値のパラメータを設定する
 職業毎の特性が出るように調整する
 パラメータ上昇は固定値でもよいが、ランダム要素があってもよい
 線形ではなく、キャラクター特有の成長曲線(晩成型 or 早熟型) 7
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
開発スケジュール(1)
 第10回(11/28):課題の提示、準備作業
 RPGキャラクターの抽象クラスの提示
 提示した抽象クラスを継承して使う ※必要に応じて修正可
 JSONファイルの読み込み処理説明
 外部ライブラリのインポートが必要
 第11回(12/05):レベルアップシミュレーション
 職業毎のパラメータを調整する
 任意のレベルまでのシミュレーションを行う
8
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
開発スケジュール(2)
 第12回(12/12):ロード機能
 キャラクターデータのロード
 JSON形式のファイルをロードし、オブジェクト生成
 デフォルトのファイルフォーマットを指定 ※項目の追加は任意
 キャラクター人数分のステータス表示
 キャラクターを配列で保存しパーティー全員のステータスを
表示するメソッドを作成
 第13回(12/19):セーブ機能
 キャラクターデータ(JSON形式)のセーブ
 保存したファイルをロードできるかも確認する
9
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
開発スケジュール(3)
 第14回(01/09):オプション機能
 戦闘:ボス敵を用意し、パーティー全員での戦闘シーン
 GUIの実装
 データ構造の改善
のいずれかに取り組む
 第15回(01/16):実行確認
 チェックシートに従い、各自のプログラム&動作確認
10
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第10回:11/28)
 スケジュール:30分
 長期課題の説明:10分
 グループ分け:5分
 グループワーク:15分
 学生がやること
 グループ内で話し合い、課題内容について理解を深める
 グループ内でクラス設計について話し合う
 クラスのフィールドを洗い出し、ワークシートに記入する
 サンプルプログラムと外部ライブラリの確認
11
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
サンプルプログラムの説明(1)
 ファイル構成
 character:キャラクター関係のパッケージ
 GameCharacter.java:キャラクター全般の抽象クラス
 Job.java:職業毎の列挙型
 Sex.java:性別毎の列挙型
 gameplay:ゲーム実行のメインクラスのあるパッケージ
 CharacterSimulator.java:JSON形式のファイル読み込みクラス
 user.json:JSON形式のデータ ※キャラクター用に修正する
 進め方
 各自プロジェクトを作成し、上記を参照して開発する
 適宜、変更やクラスの追加などを行う
12
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
サンプルプログラムの説明(2)
 JSON形式のファイル読み込みに必要なライブラリ
 jackson-core, jackson-annotations, jackson-databind
 参考URL:https://www.sejuku.net/blog/39599
 実行画面
13
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第11回:12/05)
 スケジュール:20分
 グループでの到達度確認:5分
 グループワーク内で開発について相談:15分
 学生がやること
 グループ内でワークシートの内容を確認する
 グループ内で各自の進捗状況を確認する
 レベルアップシミュレーションについて情報共有する
14
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第12回:12/12)
 スケジュール:20分
 グループでの到達度確認:5分
 グループワーク内で開発について相談:15分
 学生がやること
 グループ内でワークシートの内容を確認する
 グループ内で各自の進捗状況を確認する
 第1チェックポイントに到達したか確認する
 ゲームデータの読み込み形式について相談する
15
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第13回:12/19)
 スケジュール:20分
 グループでの到達度確認:5分
 グループワーク内で開発について相談:15分
 学生がやること
 グループ内でワークシートの内容を確認する
 グループ内で各自の進捗状況を確認する
 ゲームデータの保存方法について相談する
16
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第14回:01/09)
 スケジュール:20分
 グループでの到達度確認:5分
 グループワーク内で開発について相談:15分
 学生がやること
 グループ内でワークシートの内容を確認する
 グループ内で各自の進捗状況を確認する
 第2チェックポイントに到達したか確認する
 オプション機能について相談する
 残りの作業や課題について確認する
17
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
各回の進め方(第15回:01/16)
 スケジュール:60分
 最終確認:60分
 学生がやること
 最終チェックポイントの到達確認
 システムの開発状況を教員・TAに確認してもらう
 必要に応じて、実行画面やソースコードを確認してもらう
18

More Related Content

What's hot

NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
Young Keun Choe
 
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
devCAT Studio, NEXON
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
영욱 오
 

What's hot (20)

레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
Level design
Level designLevel design
Level design
 
<쿠키런:오븐브레이크> 길드탐험 및 방랑박쥐상점 컨텐츠 역기획서
<쿠키런:오븐브레이크> 길드탐험 및 방랑박쥐상점 컨텐츠 역기획서<쿠키런:오븐브레이크> 길드탐험 및 방랑박쥐상점 컨텐츠 역기획서
<쿠키런:오븐브레이크> 길드탐험 및 방랑박쥐상점 컨텐츠 역기획서
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
 
" 모바일 롤플레잉게임 인터페이스디자인 문서"
 " 모바일 롤플레잉게임 인터페이스디자인 문서" " 모바일 롤플레잉게임 인터페이스디자인 문서"
" 모바일 롤플레잉게임 인터페이스디자인 문서"
 
메이플2 하우징시스템 역기획서
메이플2 하우징시스템 역기획서메이플2 하우징시스템 역기획서
메이플2 하우징시스템 역기획서
 
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
 
NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
NDC16 - 화성에서 온 사업팀 금성에서 온 개발팀 : 성공적인 라이브 서비스를 위해 필요한 것들
 
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
 
게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
 
[0602 박민근] Direct2D
[0602 박민근] Direct2D[0602 박민근] Direct2D
[0602 박민근] Direct2D
 
FPS 레벨 디자인_포트폴리오_폭파미션 Nuclear Power Plant
FPS 레벨 디자인_포트폴리오_폭파미션 Nuclear Power PlantFPS 레벨 디자인_포트폴리오_폭파미션 Nuclear Power Plant
FPS 레벨 디자인_포트폴리오_폭파미션 Nuclear Power Plant
 
엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서
 
도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924
 
주니어 디자이너들에게 알려주고 싶은 2D게임그래픽 실무팁
주니어 디자이너들에게 알려주고 싶은 2D게임그래픽 실무팁주니어 디자이너들에게 알려주고 싶은 2D게임그래픽 실무팁
주니어 디자이너들에게 알려주고 싶은 2D게임그래픽 실무팁
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
 
통제감이 게임에 미치는 영향
통제감이 게임에 미치는 영향통제감이 게임에 미치는 영향
통제감이 게임에 미치는 영향
 

Similar to プログラミング応用b 長期課題(2) (7)

Result presentation slide
Result presentation slideResult presentation slide
Result presentation slide
 
Enshu2012 1
Enshu2012 1Enshu2012 1
Enshu2012 1
 
高大連携授業20180803
高大連携授業20180803高大連携授業20180803
高大連携授業20180803
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 
Enshu1
Enshu1Enshu1
Enshu1
 
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
 
2012 kanemotolablecture4
2012 kanemotolablecture42012 kanemotolablecture4
2012 kanemotolablecture4
 

More from 義広 河野

More from 義広 河野 (20)

河野ゼミ説明会20221116
河野ゼミ説明会20221116河野ゼミ説明会20221116
河野ゼミ説明会20221116
 
河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
 
河野ゼミ紹介20201118
河野ゼミ紹介20201118河野ゼミ紹介20201118
河野ゼミ紹介20201118
 
オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」
 
専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120
 
専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023
 
コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825
 
高大連携授業20190730
高大連携授業20190730高大連携授業20190730
高大連携授業20190730
 
高大連携授業20190730(抜粋)
高大連携授業20190730(抜粋)高大連携授業20190730(抜粋)
高大連携授業20190730(抜粋)
 
千葉市若葉区共催市民公開講座_20190711
千葉市若葉区共催市民公開講座_20190711千葉市若葉区共催市民公開講座_20190711
千葉市若葉区共催市民公開講座_20190711
 
プレゼンの作り方2019
プレゼンの作り方2019プレゼンの作り方2019
プレゼンの作り方2019
 
プレゼン勉強会_若葉区公開講座_20190620
プレゼン勉強会_若葉区公開講座_20190620プレゼン勉強会_若葉区公開講座_20190620
プレゼン勉強会_若葉区公開講座_20190620
 
専門演習説明会『河野ゼミの紹介2019』
専門演習説明会『河野ゼミの紹介2019』専門演習説明会『河野ゼミの紹介2019』
専門演習説明会『河野ゼミの紹介2019』
 
ソーシャルメディアを活用した地域の情報発信_02_20190616
ソーシャルメディアを活用した地域の情報発信_02_20190616ソーシャルメディアを活用した地域の情報発信_02_20190616
ソーシャルメディアを活用した地域の情報発信_02_20190616
 
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
 
卒業論文ルーブリック_20181217
卒業論文ルーブリック_20181217卒業論文ルーブリック_20181217
卒業論文ルーブリック_20181217
 
教員免許状更新講習20180821
教員免許状更新講習20180821教員免許状更新講習20180821
教員免許状更新講習20180821
 
プログラミング模擬授業20180724
プログラミング模擬授業20180724プログラミング模擬授業20180724
プログラミング模擬授業20180724
 
河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702
 

Recently uploaded

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Recently uploaded (8)

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

プログラミング応用b 長期課題(2)

  • 2. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 課題:RPGキャラクター 職業毎レベルアップシミュレーション  目的  RPG開発の準備を整えるためのプログラムを作ること  要件  対話型でレベルアップ時のステータスを確認できる  ゲームデータのセーブ&ロードができること  前提知識  必須:クラス・継承・ファイル入出力  任意:スレッド・コレクション・GUI 2
  • 3. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 長期課題(2)の進め方  進め方  第10回(11/28)~第15回(1/16)までの継続的な課題  毎回の演習時に20~30分程度のグループワークを実施  グループワーク:3~4人組で設計作業&状況確認  各チェックポイント  第12回(12/12):レベルアップシミュレーション  第14回(01/09):データのセーブ&ロード機能  第15回(01/16):最終チェック ※オプション機能含む ※チェックポイントの到達度に応じて、評価を行う方式 3
  • 4. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 課題:RPGキャラクター 職業毎レベルアップシミュレーション  必須機能  ステータスのパラメータが異なる3種以上の「職業」  入力情報:名前, 職業, 設定レベル  ステータス:HP, MP, 力, 素早さ、身の守りなど ※任意で追加可  職業毎にステータス成長度の違いを実現する  レベルアップによるパラメータ上昇値のシミュレーション  キャラクターのゲームデータのセーブ&ロード機能  オプション機能  キャラクターのパーティーと敵との戦闘  HashMap, Listなどを用いたデータ管理の改良  DXライブラリによるキャラクターや敵の表示 4
  • 5. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 実行画面:キャラクター登録  処理の流れ  必要事項「名前、性別、職業」の入力  職業の特性に合わせた初期ステータスが表示される 5
  • 6. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 実行画面:成長シミュレーション  処理の流れ  設定するレベルを指定する  職業毎の特性に合わせたレベルアップのシミュレーション 6
  • 7. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 課題のヒント  課題の内容を理解する  職業毎のクラスをどのように表現できるか  レベルアップ時のパラメータ変化を職業毎に変えるには  実装方法を考える  キャラクターをクラスとして定義するとどうなるか  どのような変数やメソッドがあるだろうか  クラスメソッドとインスタンスメソッドを使い分ける  職業毎に上昇値のパラメータを設定する  職業毎の特性が出るように調整する  パラメータ上昇は固定値でもよいが、ランダム要素があってもよい  線形ではなく、キャラクター特有の成長曲線(晩成型 or 早熟型) 7
  • 8. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 開発スケジュール(1)  第10回(11/28):課題の提示、準備作業  RPGキャラクターの抽象クラスの提示  提示した抽象クラスを継承して使う ※必要に応じて修正可  JSONファイルの読み込み処理説明  外部ライブラリのインポートが必要  第11回(12/05):レベルアップシミュレーション  職業毎のパラメータを調整する  任意のレベルまでのシミュレーションを行う 8
  • 9. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 開発スケジュール(2)  第12回(12/12):ロード機能  キャラクターデータのロード  JSON形式のファイルをロードし、オブジェクト生成  デフォルトのファイルフォーマットを指定 ※項目の追加は任意  キャラクター人数分のステータス表示  キャラクターを配列で保存しパーティー全員のステータスを 表示するメソッドを作成  第13回(12/19):セーブ機能  キャラクターデータ(JSON形式)のセーブ  保存したファイルをロードできるかも確認する 9
  • 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 開発スケジュール(3)  第14回(01/09):オプション機能  戦闘:ボス敵を用意し、パーティー全員での戦闘シーン  GUIの実装  データ構造の改善 のいずれかに取り組む  第15回(01/16):実行確認  チェックシートに従い、各自のプログラム&動作確認 10
  • 11. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第10回:11/28)  スケジュール:30分  長期課題の説明:10分  グループ分け:5分  グループワーク:15分  学生がやること  グループ内で話し合い、課題内容について理解を深める  グループ内でクラス設計について話し合う  クラスのフィールドを洗い出し、ワークシートに記入する  サンプルプログラムと外部ライブラリの確認 11
  • 12. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES サンプルプログラムの説明(1)  ファイル構成  character:キャラクター関係のパッケージ  GameCharacter.java:キャラクター全般の抽象クラス  Job.java:職業毎の列挙型  Sex.java:性別毎の列挙型  gameplay:ゲーム実行のメインクラスのあるパッケージ  CharacterSimulator.java:JSON形式のファイル読み込みクラス  user.json:JSON形式のデータ ※キャラクター用に修正する  進め方  各自プロジェクトを作成し、上記を参照して開発する  適宜、変更やクラスの追加などを行う 12
  • 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES サンプルプログラムの説明(2)  JSON形式のファイル読み込みに必要なライブラリ  jackson-core, jackson-annotations, jackson-databind  参考URL:https://www.sejuku.net/blog/39599  実行画面 13
  • 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第11回:12/05)  スケジュール:20分  グループでの到達度確認:5分  グループワーク内で開発について相談:15分  学生がやること  グループ内でワークシートの内容を確認する  グループ内で各自の進捗状況を確認する  レベルアップシミュレーションについて情報共有する 14
  • 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第12回:12/12)  スケジュール:20分  グループでの到達度確認:5分  グループワーク内で開発について相談:15分  学生がやること  グループ内でワークシートの内容を確認する  グループ内で各自の進捗状況を確認する  第1チェックポイントに到達したか確認する  ゲームデータの読み込み形式について相談する 15
  • 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第13回:12/19)  スケジュール:20分  グループでの到達度確認:5分  グループワーク内で開発について相談:15分  学生がやること  グループ内でワークシートの内容を確認する  グループ内で各自の進捗状況を確認する  ゲームデータの保存方法について相談する 16
  • 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第14回:01/09)  スケジュール:20分  グループでの到達度確認:5分  グループワーク内で開発について相談:15分  学生がやること  グループ内でワークシートの内容を確認する  グループ内で各自の進捗状況を確認する  第2チェックポイントに到達したか確認する  オプション機能について相談する  残りの作業や課題について確認する 17
  • 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各回の進め方(第15回:01/16)  スケジュール:60分  最終確認:60分  学生がやること  最終チェックポイントの到達確認  システムの開発状況を教員・TAに確認してもらう  必要に応じて、実行画面やソースコードを確認してもらう 18