//"humen/君の名は.txt"
10000000 10000000 10000000 20000000 10000000 10000000 10000000 20000000
10000000 10000000 10000000 20000000 10000000 10000000 10000000 20000000
10000000 20000000 10000000 20000000 10000000 20000000 10000000 20000000
10000000 20000000 10000000 20000000 10000000 20000000 10000000 20000000
10000000 10000000 10002000 10000000 10000000 10000000 10002000 10000000
10000000 10000000 10002000 10000000 10000000 10000000 10002000 10000000
10000000 10000000 10002000 10000000 10000000 10000000 10002000 10000000
10000000 10000000 10002000 10000000 10000000 10000000 10002000 10000000
10001000 10000000 10002000 10000000 10001000 10000000 10002000 10000000
10001000 10000000 10002000 10000000 10001000 10000000 10002000 10000000
10001000 10000000 10002000 10000000 10001000 10000000 10002000 10000000
10001000 10000000 20002000 20000000 10001000 20002000 10002000 10000000
10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000
10001000 10001000 10200020 20002000 10001000 10001000 10200020 20002000
20000000 20000000 20000000 20000000 20000000 20000000 20000000 20000000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
#include <stdio.h>
#include "DxLib.h"
int load_humen() {
typedef struct {
char flag;
int cnt;
int knd;
int place;
bool lock = false;
}humen_t;
char humen_small[HUMEN_MAX];
char yomikomu_mojiretu[HUMEN_MAX];
AllocConsole();
FILE* out = 0;
int k = 0;
freopen_s(&out, "CON", "w", stdout);
int i = 0;
char HANDL[] = "FILE開けません"; // 読み込み失敗";
char fname[] = "humen/君の名は.txt";
FILE* fp;
fp = fopen("humen/君の名は.txt", "r");
if (fp == NULL) {
DrawFormatString(0, 0, GetColor(255, 255, 255), "%s", HANDL);
return 1;
}
else {
DrawFormatString(0, 0, GetColor(255, 255, 255), "%s", "開けたよ");
}
while ((chr = fgetc(fp)) != EOF) {
yomikomu_mojiretu[i] = chr;
if (yomikomu_mojiretu[i] == 1) {
humen[i].flag = 1;
}
else if (yomikomu_mojiretu[i] == 2) {
humen[i].flag = 2;
}
else if (yomikomu_mojiretu[i] == 5) {
humen[i].flag = 5;
}
else {
humen[i].flag = 0;
}
printf("%s", &humen[i].flag);
i++;
}
fclose(fp);
while (humen[k].flag != NULL) {
printf("%s", &humen[k].flag);
k++;
}
WaitKey();
fclose(out);
FreeConsole();
/*
humen[0].flag = 1;
for (int i = 1; i < HUMEN_MAX; i++) {
if (humen[i - 1].flag == 1)humen[i].flag = 0;
if (humen[i - 1].flag == 0)humen[i].flag = 0;
if (humen[i - 10].flag == 0)humen[i].flag = 2;
if (humen[i - 1].flag == 2)humen[i].flag = 0;
if (humen[i - 20].flag == 2)humen[i].flag = 1;
if (i == HUMEN_MAX - 1)humen[i].flag= 5;
}
*/
return 0;
}
//結果
020 20002000
20000000 20000000 20000000 20000000 20000000 20000000 20000000 20000000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
00 20000000 20000000 20000000 20000000 20000000 20000000 20000000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
20000000 20000000 20000000 20000000 20000000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
0000000 20000000 20000000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
00000
20002000 20002000 20100010 10001000 20002000 20002000 20100010 10001005
2000 20100010 10001000 20002000 20002000 20100010 10001005
00 20002000 20002000 20100010 10001005
20100010 10001005
コードが汚く、長くなってしまってすみません。
上からリズムアイコンが降りてくるような、音ゲーを作っているのですが、テキストファイルから構造体の配列に、読み取ることで苦戦しています。
テキストファイルの読み込み方は、C言語何でも掲示板で教えてもらったのですが、配列への代入がうまくいきません。
上のソースコードは全体の一部のなかのファイルをロードする関数です。
本当なら他のソースファイル、ヘッダーファイルなどからインクルードしてあるのですが、ソースコードがながくなってしまうので、上のソースコードで、必要な定義だけ書いておきました。もし何か足りなかたら言ってください。
上のソースコードを実行すると、上のような結果が出てしまい、テキストファイルないの数字と違ってしまい、
上からリズムアイコンが降ってこなくなってしまいます。
/**/内のソースこーどで試してみると、リズムアイコンが上から降ってきます。
試行錯誤を繰り返しましたが、上のソースコードが一番実行結果としてはまともになりました。
どなたかわかる方がいれば教えてください。<(_ _)>おねおね
説明が下手ですみません。<(_ _)>
何か不足な点がありましたら行ってください。お願いします。