回答編集履歴
3
バグ修正
test
CHANGED
@@ -106,7 +106,7 @@
|
|
106
106
|
|
107
107
|
//------------------
|
108
108
|
|
109
|
-
public
|
109
|
+
public void putStatus(int intel,int hp){
|
110
110
|
|
111
111
|
System.out.println("+++++++++++++++++++++++++++");
|
112
112
|
|
@@ -144,7 +144,7 @@
|
|
144
144
|
|
145
145
|
case 1:
|
146
146
|
|
147
|
-
this.move(
|
147
|
+
this.move(world); //パラメータ追加
|
148
148
|
|
149
149
|
break;
|
150
150
|
|
@@ -168,15 +168,15 @@
|
|
168
168
|
|
169
169
|
switch(val){
|
170
170
|
|
171
|
-
case 1:
|
171
|
+
case 1:
|
172
172
|
|
173
173
|
System.out.println("校舎裏に移動した。");
|
174
174
|
|
175
175
|
//hanako.upKoukando(); //削除
|
176
176
|
|
177
|
-
//場所
|
177
|
+
//その場所に居るヒロインを得て, 居たら(null で無ければ)好感度アップ
|
178
178
|
|
179
|
-
Heroine heroine = world.getHeroine(
|
179
|
+
Heroine heroine = world.getHeroine(val);
|
180
180
|
|
181
181
|
if(heroine != null) {
|
182
182
|
|
@@ -192,7 +192,7 @@
|
|
192
192
|
|
193
193
|
break;
|
194
194
|
|
195
|
-
//case 2 も上と同様
|
195
|
+
//case 2 も上と同様の為省略
|
196
196
|
|
197
197
|
(略)
|
198
198
|
|
2
バグ: Main を生成するように修正
test
CHANGED
@@ -18,25 +18,39 @@
|
|
18
18
|
|
19
19
|
public class Main{
|
20
20
|
|
21
|
-
static
|
21
|
+
//修正: static を削除, ヒロインを追加
|
22
22
|
|
23
|
-
|
23
|
+
int dayCount=1;
|
24
24
|
|
25
|
-
|
25
|
+
Taro taro;
|
26
26
|
|
27
|
-
|
27
|
+
Hanako hanako;
|
28
28
|
|
29
|
-
|
29
|
+
Yoshiko yoshiko;
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
+
//修正: "世界"を生成して起動する.
|
34
|
+
|
33
35
|
public static void main(String[] args){
|
36
|
+
|
37
|
+
Main main = new Main();
|
38
|
+
|
39
|
+
main.start();
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
//コンストラクタ追加: "世界"もオブジェクトとして扱うため
|
46
|
+
|
47
|
+
Main() {
|
34
48
|
|
35
49
|
taro = new Taro();
|
36
50
|
|
37
51
|
taro.name = "たろう";
|
38
52
|
|
39
|
-
//
|
53
|
+
//ヒロイン追加
|
40
54
|
|
41
55
|
hanako = new Hanako();
|
42
56
|
|
@@ -46,13 +60,21 @@
|
|
46
60
|
|
47
61
|
yoshiko.setName("よしこ");
|
48
62
|
|
63
|
+
}
|
49
64
|
|
65
|
+
|
66
|
+
|
67
|
+
//追加: "世界"は動き出す
|
68
|
+
|
69
|
+
void start() {
|
70
|
+
|
71
|
+
dayCount=1;
|
50
72
|
|
51
73
|
for(int i=1;i<11;i++){
|
52
74
|
|
53
75
|
putStatus(taro.intelligence,taro.hp);
|
54
76
|
|
55
|
-
taro.action();
|
77
|
+
taro.action(this);
|
56
78
|
|
57
79
|
dayCount++;
|
58
80
|
|
@@ -60,9 +82,11 @@
|
|
60
82
|
|
61
83
|
}
|
62
84
|
|
85
|
+
|
86
|
+
|
63
87
|
//追加: その場所に居るヒロインを返す. 居ない場合は null.
|
64
88
|
|
65
|
-
public
|
89
|
+
public Heroine getHeroine(int location) {
|
66
90
|
|
67
91
|
switch(val){
|
68
92
|
|
@@ -105,6 +129,26 @@
|
|
105
129
|
Taroクラス
|
106
130
|
|
107
131
|
```java
|
132
|
+
|
133
|
+
public void action(Main world){ //パラメータ追加
|
134
|
+
|
135
|
+
Scanner scan = new Scanner(System.in);
|
136
|
+
|
137
|
+
System.out.println("行動を選んでください。");
|
138
|
+
|
139
|
+
System.out.println("1.移動 2.勉強 3.寝る");
|
140
|
+
|
141
|
+
int val = scan.nextInt();
|
142
|
+
|
143
|
+
switch(val){
|
144
|
+
|
145
|
+
case 1:
|
146
|
+
|
147
|
+
this.move(Main world); //パラメータ追加
|
148
|
+
|
149
|
+
break;
|
150
|
+
|
151
|
+
(略)
|
108
152
|
|
109
153
|
public void move(Main world){ //パラメータ追加: Mainクラスを登場人物の住む"世界"とする
|
110
154
|
|
@@ -150,4 +194,6 @@
|
|
150
194
|
|
151
195
|
//case 2 も上と同様(場所が違うだけ)の為省略
|
152
196
|
|
197
|
+
(略)
|
198
|
+
|
153
199
|
```
|
1
動作確認していないことを追記
test
CHANGED
@@ -5,6 +5,10 @@
|
|
5
5
|
私なら, ヒロインは主人公と同等にゲームの世界に存在するオブジェクトのほうが良いようにイメージします.
|
6
6
|
|
7
7
|
ですので move の度に new はせず, Taro 同様に先に Main で new し, Taro の行動に応じてその場所に居るヒロインを得て変化するようにします.
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
**注: 以下のコードは切り貼りしただけで, コンパイル等確認していません.**
|
8
12
|
|
9
13
|
|
10
14
|
|