回答編集履歴
3
バグ修正
answer
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
return null;
|
53
53
|
}
|
54
54
|
//------------------
|
55
|
-
public
|
55
|
+
public void putStatus(int intel,int hp){
|
56
56
|
System.out.println("+++++++++++++++++++++++++++");
|
57
57
|
System.out.println(" "+dayCount+"日目"+" "+"知性"+intel+" "+"体力"+hp);
|
58
58
|
System.out.println(hanako.getName()+"の好感度"+hanako.getKoukando()); //修正
|
@@ -71,7 +71,7 @@
|
|
71
71
|
int val = scan.nextInt();
|
72
72
|
switch(val){
|
73
73
|
case 1:
|
74
|
-
this.move(
|
74
|
+
this.move(world); //パラメータ追加
|
75
75
|
break;
|
76
76
|
(略)
|
77
77
|
public void move(Main world){ //パラメータ追加: Mainクラスを登場人物の住む"世界"とする
|
@@ -83,11 +83,11 @@
|
|
83
83
|
int val = s.nextInt();
|
84
84
|
this.hp-=5;
|
85
85
|
switch(val){
|
86
|
-
case 1:
|
86
|
+
case 1:
|
87
87
|
System.out.println("校舎裏に移動した。");
|
88
88
|
//hanako.upKoukando(); //削除
|
89
|
-
//場所
|
89
|
+
//その場所に居るヒロインを得て, 居たら(null で無ければ)好感度アップ
|
90
|
-
Heroine heroine = world.getHeroine(
|
90
|
+
Heroine heroine = world.getHeroine(val);
|
91
91
|
if(heroine != null) {
|
92
92
|
System.out.println(heroine.getName() + "に会った");
|
93
93
|
heroine.upKoukando(); //注意: 定義と使用でメソッド名が違っています.
|
@@ -95,6 +95,6 @@
|
|
95
95
|
System.out.println("誰も居なかった");
|
96
96
|
}
|
97
97
|
break;
|
98
|
-
//case 2 も上と同様
|
98
|
+
//case 2 も上と同様の為省略
|
99
99
|
(略)
|
100
100
|
```
|
2
バグ: Main を生成するように修正
answer
CHANGED
@@ -8,29 +8,41 @@
|
|
8
8
|
Mainクラス
|
9
9
|
```java
|
10
10
|
public class Main{
|
11
|
+
//修正: static を削除, ヒロインを追加
|
11
|
-
|
12
|
+
int dayCount=1;
|
12
|
-
//追加: 登場人物は Main("世界")に常に存在する
|
13
|
-
|
13
|
+
Taro taro;
|
14
|
-
|
14
|
+
Hanako hanako;
|
15
|
-
|
15
|
+
Yoshiko yoshiko;
|
16
16
|
|
17
|
+
//修正: "世界"を生成して起動する.
|
17
18
|
public static void main(String[] args){
|
19
|
+
Main main = new Main();
|
20
|
+
main.start();
|
21
|
+
}
|
22
|
+
|
23
|
+
//コンストラクタ追加: "世界"もオブジェクトとして扱うため
|
24
|
+
Main() {
|
18
25
|
taro = new Taro();
|
19
26
|
taro.name = "たろう";
|
20
|
-
//
|
27
|
+
//ヒロイン追加
|
21
28
|
hanako = new Hanako();
|
22
29
|
hanako.setName("はなこ");
|
23
30
|
yoshiko = new Yoshiko();
|
24
31
|
yoshiko.setName("よしこ");
|
32
|
+
}
|
25
33
|
|
34
|
+
//追加: "世界"は動き出す
|
35
|
+
void start() {
|
36
|
+
dayCount=1;
|
26
37
|
for(int i=1;i<11;i++){
|
27
38
|
putStatus(taro.intelligence,taro.hp);
|
28
|
-
taro.action();
|
39
|
+
taro.action(this);
|
29
40
|
dayCount++;
|
30
41
|
}
|
31
42
|
}
|
43
|
+
|
32
44
|
//追加: その場所に居るヒロインを返す. 居ない場合は null.
|
33
|
-
public
|
45
|
+
public Heroine getHeroine(int location) {
|
34
46
|
switch(val){
|
35
47
|
case 1: //校舎裏
|
36
48
|
return hanako;
|
@@ -52,6 +64,16 @@
|
|
52
64
|
|
53
65
|
Taroクラス
|
54
66
|
```java
|
67
|
+
public void action(Main world){ //パラメータ追加
|
68
|
+
Scanner scan = new Scanner(System.in);
|
69
|
+
System.out.println("行動を選んでください。");
|
70
|
+
System.out.println("1.移動 2.勉強 3.寝る");
|
71
|
+
int val = scan.nextInt();
|
72
|
+
switch(val){
|
73
|
+
case 1:
|
74
|
+
this.move(Main world); //パラメータ追加
|
75
|
+
break;
|
76
|
+
(略)
|
55
77
|
public void move(Main world){ //パラメータ追加: Mainクラスを登場人物の住む"世界"とする
|
56
78
|
Scanner s = new Scanner(System.in);
|
57
79
|
//Hanako hanako = new Hanako(); //削除
|
@@ -74,4 +96,5 @@
|
|
74
96
|
}
|
75
97
|
break;
|
76
98
|
//case 2 も上と同様(場所が違うだけ)の為省略
|
99
|
+
(略)
|
77
100
|
```
|
1
動作確認していないことを追記
answer
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
私なら, ヒロインは主人公と同等にゲームの世界に存在するオブジェクトのほうが良いようにイメージします.
|
4
4
|
ですので move の度に new はせず, Taro 同様に先に Main で new し, Taro の行動に応じてその場所に居るヒロインを得て変化するようにします.
|
5
5
|
|
6
|
+
**注: 以下のコードは切り貼りしただけで, コンパイル等確認していません.**
|
7
|
+
|
6
8
|
Mainクラス
|
7
9
|
```java
|
8
10
|
public class Main{
|