Я создаю игру connect 4 отдельно от проекта и хочу добавить в нее дополнительные функциональные возможности, однако я изо всех сил.
Код - это написанная мной функция, которая требуетstruct (lb лидеров) и пытается прочитать файл для этой сложности всех его входных данных в размере массива lb 6, который включает в себя сложность бота, количество ходов и имя игрока, затем организует его в порядке подсчета ходаи перепечатывает топ 5 обратно в файл.Я установил первый элемент старого массива на данные, передаваемые структурой данных таблицы лидеров для бита функции упорядочения.
Однако, когда я установил его с помощью входов шаблона, каждый из которых был разделен новой строкой, например: 0 7Джеймс 0 13 Джимми 0 8 Джошуа 0 6 Чарли 0 9 Джек
Он печатает это в файл:
0 7 Джеймс 0 13 Джимми 0 8 Джошуа 0 6 Чарли (0 9 Джек 1982289408 0) та же строка
Структура выглядит так же {int turn_count int diff char name [20]}
Я действительно новичок в кодировании, поэтому любая помощь приветствуется!
lb old[6];
lb temp;
FILE *file;
if (leaderboard.diff == 0){
file = fopen("leaderboard0.txt", "r+");}
else if (leaderboard.diff == 1){
file = fopen("leaderboard1.txt", "r+");}
else if (leaderboard.diff == 2){
file = fopen("leaderboard2.txt", "r+");}
fseek( file, 1, SEEK_SET );
old[0] = leaderboard;
for (int i = 1; i < 6; i++){
fscanf(file, "%i %i %s", old[i].diff, old[i].turn_count, old[i].name);}
for (int i = 0; i < 6; i++){
for (int j = i + 1; j < 6; j++)
if (old[i].turn_count > old[j].turn_count)
{
temp = old[i];
old[i] = old[j];
old[j] = temp;
}}
for (int i = 0; i < 5; i++){
fprintf(file, "%i %i %s\n", old[i].diff, old[i].turn_count, old[i].name);
fclose(file);}
}