質問編集履歴
3
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-09/32f1708b-0fa0-4501-8c2a-3450656d5174.png)
|
11
11
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-09/b9546ba9-5e3f-4114-8ea2-a3b9b460ef87.png)
|
12
|
-
|
12
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-09/cfa5ceb1-f05f-43e6-99f5-01bb65422f67.png)
|
13
13
|
|
14
14
|
### 該当のソースコード
|
15
15
|
|
2
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -93,6 +93,83 @@
|
|
93
93
|
こちらのサイトを参考に、
|
94
94
|
csv読み込みの部分を置き換えてみたのですが、すべて0でした。
|
95
95
|
```C++
|
96
|
+
CONTROLL::CONTROLL()
|
97
|
+
{
|
98
|
+
player = new PLAYER;
|
99
|
+
|
100
|
+
back = new BACK;
|
101
|
+
|
102
|
+
FILE* fp;
|
103
|
+
ENEMYDATA data[ENEMY_NUM] = {};
|
104
|
+
char buf[100] = {};
|
105
|
+
int c;
|
106
|
+
int col = 1;
|
107
|
+
int row = 0;
|
108
|
+
errno_t error;
|
109
|
+
|
110
|
+
memset(buf, 0, sizeof(buf));
|
111
|
+
error = fopen_s(&fp,"enemydata.csv", "r");
|
112
|
+
|
113
|
+
//ヘッダ読み飛ばし
|
114
|
+
//while (fgetc(fp) != '\n');
|
115
|
+
|
116
|
+
while (error == 0) {
|
117
|
+
while (1) {
|
118
|
+
|
119
|
+
c = fgetc(fp);
|
120
|
+
|
121
|
+
//末尾ならループを抜ける。
|
122
|
+
if (c == EOF)
|
123
|
+
goto out;
|
124
|
+
|
125
|
+
//カンマか改行でなければ、文字としてつなげる
|
126
|
+
if (c != ',' && c != '\n')
|
127
|
+
strcat(buf, (const char*)&c);
|
128
|
+
//カンマか改行ならループ抜ける。
|
129
|
+
else
|
130
|
+
break;
|
131
|
+
}
|
132
|
+
//ここに来たということは、1セル分の文字列が出来上がったということ
|
133
|
+
switch (col) {
|
134
|
+
//1列目は敵種類を表す。atoi関数で数値として代入。
|
135
|
+
case 1: data[row].type = atoi(buf); break;
|
136
|
+
//2列目は弾種類。以降省略。
|
137
|
+
case 2: data[row].stype = atoi(buf); break;
|
138
|
+
case 3: data[row].m_pattern = atoi(buf); break;
|
139
|
+
case 4: data[row].s_pattern = atoi(buf); break;
|
140
|
+
case 5: data[row].in_time = atoi(buf); break;
|
141
|
+
case 6: data[row].stop_time = atoi(buf); break;
|
142
|
+
case 7: data[row].shot_time = atoi(buf); break;
|
143
|
+
case 8: data[row].out_time = atoi(buf); break;
|
144
|
+
case 9: data[row].x = atoi(buf); break;
|
145
|
+
case 10: data[row].y = atoi(buf); break;
|
146
|
+
case 11: data[row].speed = atoi(buf); break;
|
147
|
+
case 12: data[row].hp = atoi(buf); break;
|
148
|
+
case 13: data[row].item = atoi(buf); break;
|
149
|
+
}
|
150
|
+
//バッファを初期化
|
151
|
+
memset(buf, 0, sizeof(buf));
|
152
|
+
//列数を足す
|
153
|
+
++col;
|
154
|
+
|
155
|
+
//もし読み込んだ文字が改行だったら列数を初期化して行数を増やす
|
156
|
+
if (c == '\n') {
|
157
|
+
col = 1;
|
158
|
+
++row;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
out:
|
162
|
+
//敵クラス生成
|
163
|
+
for (int i = 0; i < ENEMY_NUM; ++i) {
|
164
|
+
enemy[i] = new ENEMY(data[i].type, data[i].stype, data[i].m_pattern, data[i].s_pattern, data[i].in_time, data[i].stop_time, data[i].shot_time,
|
165
|
+
data[i].out_time, data[i].x, data[i].y, data[i].speed, data[i].hp, data[i].item);
|
166
|
+
printfDx("読み込み中");
|
167
|
+
printfDx("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",data[i].type, data[i].stype, data[i].m_pattern, data[i].s_pattern, data[i].in_time, data[i].stop_time, data[i].shot_time,
|
168
|
+
data[i].out_time, data[i].x, data[i].y, data[i].speed, data[i].hp, data[i].item);
|
169
|
+
}
|
170
|
+
}
|
171
|
+
```
|
172
|
+
```C++
|
96
173
|
vector<string> split(string& input, char delimiter)
|
97
174
|
{
|
98
175
|
istringstream stream(input);
|
1
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
https://bituse.info/game/shot/11
|
4
4
|
こちらのサイトを参考にさせていただいているのですが、csvファイルを読み込むという段階でエラーになってしまって、
|
5
5
|
https://cvtech.cc/readcsv/
|
6
|
-
こちらのサイトを参考に読み込む部分を改良してみたのですが、何も読み込めていなく、全部が
|
6
|
+
こちらのサイトを参考に読み込む部分を改良してみたのですが、何も読み込めていなく、全部が初期値のままでした。
|
7
7
|
|
8
8
|
|
9
9
|
### 発生している問題・エラーメッセージ
|