teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

あああ

2016/09/14 14:00

投稿

earnest_gay
earnest_gay

スコア615

title CHANGED
File without changes
body CHANGED
@@ -24,6 +24,7 @@
24
24
  ふと気になったので質問してみたら結構回答つきました。
25
25
 
26
26
  思いついたのを今作ってみたのですが、要は使い分けとしてはこんな感じでいいですかね?
27
+ ※思いつきでやってみたのでロジックは完璧ではありません。
27
28
 
28
29
  ```ここに言語を入力
29
30
  package example;

1

具体化

2016/09/14 14:00

投稿

earnest_gay
earnest_gay

スコア615

title CHANGED
File without changes
body CHANGED
@@ -19,4 +19,110 @@
19
19
  this.name = name;
20
20
  }
21
21
  }
22
- ```
22
+ ```
23
+
24
+ ふと気になったので質問してみたら結構回答つきました。
25
+
26
+ 思いついたのを今作ってみたのですが、要は使い分けとしてはこんな感じでいいですかね?
27
+
28
+ ```ここに言語を入力
29
+ package example;
30
+
31
+
32
+
33
+ public class Character {
34
+ private String name;
35
+ private int lv,hp,mp,atk,def;
36
+ private int exp;//敵1体撃破時の経験値
37
+ private int monsterNum;//敵の数
38
+ private int expAll;//積算経験値
39
+
40
+ public Character(String name) {
41
+ //名前を決めてキャラを生成
42
+ //初期値は下記の通り
43
+ this.name = name;
44
+ this.lv = 1;
45
+ this.expAll = 0;
46
+ this.hp = 50;
47
+ this.mp = 15;
48
+ this.atk = 35;
49
+ this.def = 20;
50
+ }
51
+
52
+ //エンカウント
53
+ public void enk(int i) {
54
+ this.exp = 60;//敵1体が持つ経験値
55
+ this.monsterNum = i;//敵の数
56
+ this.expAll += (this.exp*this.monsterNum);//バトルで得た経験値を積算していく
57
+ }
58
+
59
+ //とりあえずsetterを使う場面として
60
+ public void setLv(int lv){
61
+ if(this.expAll > 500) {
62
+ this.lv = lv;
63
+ }
64
+ }
65
+
66
+ public static void main(String[] args) {
67
+ Character chara = new Character("rento");
68
+ System.out.println("名前:" + chara.name);
69
+ System.out.println("Lv:" + chara.lv);
70
+ System.out.println("HP:" + chara.hp);
71
+ System.out.println("MP:" + chara.mp);
72
+ System.out.println("攻撃力:" + chara.atk);
73
+ System.out.println("防御力:" + chara.def);
74
+
75
+ System.out.println(chara.name + "は敵と遭遇した。");
76
+ System.out.println(chara.name + "は、超メラゾーマを唱えた!");
77
+ System.out.println("敵に993,457,803,457,834のダメージを与えた!");
78
+ System.out.println("敵は二酸化炭素となった!!!");
79
+ chara.enk(1);
80
+ System.out.println(chara.name + "は" + (chara.exp*chara.monsterNum) + "というちっぽけな経験値を手に入れた。");
81
+ chara.setLv(2);
82
+
83
+ System.out.println(chara.name + "は魔物の群れに囲まれた。");
84
+ System.out.println(chara.name + "は、大地を砕き空を割った!!!");
85
+ System.out.println("敵は二酸化炭素になることすら許されない程のダメージを受けた!");
86
+ chara.enk(50);
87
+ System.out.println(chara.name + "は" + (chara.exp*chara.monsterNum) + "というそこそこの経験値を手に入れた。");
88
+ chara.setLv(2);
89
+
90
+ System.out.println("現在の総経験値は" + chara.expAll + "です。");
91
+
92
+ System.out.println("冒険後のステータスは下記の通りです。");
93
+ System.out.println("名前:" + chara.name);
94
+ System.out.println("Lv:" + chara.lv);
95
+ System.out.println("HP:" + chara.hp);
96
+ System.out.println("MP:" + chara.mp);
97
+ System.out.println("攻撃力:" + chara.atk);
98
+ System.out.println("防御力:" + chara.def);
99
+
100
+ }
101
+
102
+ }
103
+
104
+ ```
105
+
106
+ 名前:rento
107
+ Lv:1
108
+ HP:50
109
+ MP:15
110
+ 攻撃力:35
111
+ 防御力:20
112
+ rentoは敵と遭遇した。
113
+ rentoは、超メラゾーマを唱えた!
114
+ 敵に993,457,803,457,834のダメージを与えた!
115
+ 敵は二酸化炭素となった!!!
116
+ rentoは60というちっぽけな経験値を手に入れた。
117
+ rentoは魔物の群れに囲まれた。
118
+ rentoは、大地を砕き空を割った!!!
119
+ 敵は二酸化炭素になることすら許されない程のダメージを受けた!
120
+ rentoは3000というそこそこの経験値を手に入れた。
121
+ 現在の総経験値は3060です。
122
+ 冒険後のステータスは下記の通りです。
123
+ 名前:rento
124
+ Lv:2
125
+ HP:50
126
+ MP:15
127
+ 攻撃力:35
128
+ 防御力:20