回答編集履歴

3

訂正

2019/03/10 11:34

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -106,11 +106,11 @@
106
106
 
107
107
  usr ~/Project/test/teratail % ./a.out
108
108
 
109
- 200,200,200,200,200
109
+ 201,202,203,204,205
110
110
 
111
- usr ~/Project/test/teratail % cat savefile.txt
111
+ usr ~/Project/test/teratail % cat savefile.txt
112
112
 
113
- 200 200 200 200 200
113
+ 201 202 203 204 205
114
114
 
115
115
 
116
116
 

2

ソース修正

2019/03/10 11:34

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -5,6 +5,8 @@
5
5
  「ソース追記」
6
6
 
7
7
  ```c++
8
+
9
+ #include <iostream>
8
10
 
9
11
  #include <fstream>
10
12
 
@@ -15,6 +17,8 @@
15
17
  class MainAdmin
16
18
 
17
19
  {
20
+
21
+ public:
18
22
 
19
23
  MainAdmin() { Init(); }
20
24
 
@@ -38,7 +42,7 @@
38
42
 
39
43
  void Init();
40
44
 
41
- void SaveFile();
45
+ // void SaveFile();
42
46
 
43
47
  //
44
48
 
@@ -66,58 +70,50 @@
66
70
 
67
71
  >> Clear_Score_init;
68
72
 
69
-
73
+ //
70
74
 
71
75
  fileinput.close();
76
+
77
+ //
78
+
79
+ cout << Player_initX << ',' << Player_initY << ',' << Player_initHP << ','
80
+
81
+ << Enemy_initHP << ',' << Clear_Score_init << endl;
82
+
83
+ }
84
+
85
+ //
86
+
87
+ int main(void)
88
+
89
+ {
90
+
91
+ MainAdmin ma;
92
+
93
+ //
94
+
95
+ return 0;
72
96
 
73
97
  }
74
98
 
75
99
 
76
100
 
77
- void MainAdmin::SaveFile()
101
+ ```
78
102
 
79
- {
103
+ ```text
80
104
 
81
- ofstream fileoutput;
105
+ usr ~/Project/test/teratail % c++ t178700.cpp
82
106
 
83
- if (!fileoutput.is_open()) {
107
+ usr ~/Project/test/teratail % ./a.out
84
108
 
85
- fileoutput.open(filename);
109
+ 200,200,200,200,200
86
110
 
87
- }
111
+ usr ~/Project/test/teratail % cat savefile.txt
88
112
 
89
- //ファイルに出力する
113
+ 200 200 200 200 200
90
-
91
- fileoutput << 200 << 200 << 200 << 200 << 200;
92
114
 
93
115
 
94
116
 
95
- DrawString(320, 240, "セーブしました", GetColor(255, 255, 255));
96
-
97
- fileoutput.close();
98
-
99
- }
100
-
101
-
102
-
103
- usr ~/Project/test/teratail % c++ t178700.cpp
117
+ usr ~/Project/test/teratail %
104
-
105
- t178700.cpp:39:25: error: use of undeclared identifier 'filename'
106
-
107
- fileoutput.open(filename);
108
-
109
- ^
110
-
111
- t178700.cpp:44:51: error: use of undeclared identifier 'GetColor'
112
-
113
- DrawString(320, 240, "セーブしました", GetColor(255, 255, 255));
114
-
115
- ^
116
-
117
- 2 errors generated.
118
-
119
-
120
118
 
121
119
  ```
122
-
123
- このコードでfileoutput.open(filename);のfilenameが不明です。

1

ソース追記

2019/03/10 11:30

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -1,3 +1,123 @@
1
1
  通常は、class(構造体)にしてInit()に渡すのでしょうが、そうはなってないみたいですね?
2
2
 
3
3
  また、読み込みは空白で区切られた文字列となるはずですが、savefile.txtはそうは成っていないみたいです。なので、"200200200200200"はintの範囲を超えていると思います。追記にも書きましたが空白で分けたらどうでしょう?
4
+
5
+ 「ソース追記」
6
+
7
+ ```c++
8
+
9
+ #include <fstream>
10
+
11
+ using namespace std;
12
+
13
+
14
+
15
+ class MainAdmin
16
+
17
+ {
18
+
19
+ MainAdmin() { Init(); }
20
+
21
+
22
+
23
+ protected:
24
+
25
+ //エディターを読み込んだ時の、自機の初期位置
26
+
27
+ int Player_initX;
28
+
29
+ int Player_initY;
30
+
31
+ int Player_initHP;
32
+
33
+ int Enemy_initHP;
34
+
35
+ int Clear_Score_init;
36
+
37
+ //
38
+
39
+ void Init();
40
+
41
+ void SaveFile();
42
+
43
+ //
44
+
45
+ };
46
+
47
+
48
+
49
+ void MainAdmin::Init()
50
+
51
+ {
52
+
53
+ ifstream fileinput;
54
+
55
+
56
+
57
+ fileinput.open("savefile.txt");
58
+
59
+
60
+
61
+ //ファイルに書き込みがあったらファイルの値を読み込む
62
+
63
+
64
+
65
+ fileinput >> Player_initX >> Player_initY >> Player_initHP >> Enemy_initHP
66
+
67
+ >> Clear_Score_init;
68
+
69
+
70
+
71
+ fileinput.close();
72
+
73
+ }
74
+
75
+
76
+
77
+ void MainAdmin::SaveFile()
78
+
79
+ {
80
+
81
+ ofstream fileoutput;
82
+
83
+ if (!fileoutput.is_open()) {
84
+
85
+ fileoutput.open(filename);
86
+
87
+ }
88
+
89
+ //ファイルに出力する
90
+
91
+ fileoutput << 200 << 200 << 200 << 200 << 200;
92
+
93
+
94
+
95
+ DrawString(320, 240, "セーブしました", GetColor(255, 255, 255));
96
+
97
+ fileoutput.close();
98
+
99
+ }
100
+
101
+
102
+
103
+ usr ~/Project/test/teratail % c++ t178700.cpp
104
+
105
+ t178700.cpp:39:25: error: use of undeclared identifier 'filename'
106
+
107
+ fileoutput.open(filename);
108
+
109
+ ^
110
+
111
+ t178700.cpp:44:51: error: use of undeclared identifier 'GetColor'
112
+
113
+ DrawString(320, 240, "セーブしました", GetColor(255, 255, 255));
114
+
115
+ ^
116
+
117
+ 2 errors generated.
118
+
119
+
120
+
121
+ ```
122
+
123
+ このコードでfileoutput.open(filename);のfilenameが不明です。