Вот логи c, который нужно реализовать, чтобы вы могли получить статистику выигрышей / проигрышей.
Для каждой игры у вас будет следующее
Имя игрока, флаг победы или поражения, Всего предположений.
Прочтите файл статистики, чтобы узнать, существует ли игрок. Если игрок существует, получите следующую информацию:
Имя игрока, Счетчик побед, Счетчик проигрышей, Статистика выигрышей и проигрышей, Наименьшее количество предположений
* Win Count will be # of times player has won in the past
* Loss Count will be # of times player has lost in the past
* Win-Loss stat will be Win / (Win + Loss). If you want % then x by 100
* Lowest Number of Guesses for the first entry will be numberOfGuesses
Для всех последующих записей вам необходимо чтобы обновить запись в файле на основе новых вычислений, как показано ниже.
If current game is win, win_count += 1
If current game is loss, loss_count += 1
win_loss stat will remain win_count / (win_count + loss_count)
if numberOfGuesses < lowest_number_of_guesses: lowest_number_of_guesses = numberOfGuesses.
#you can modify this with walrus option if you use 3.8+
Запишите эту статистику обратно в файл. Это будет отслеживать статус игрока, и вы можете использовать это, чтобы обновлять статистику каждый раз, когда игрок играет
Так как у вас будет много операций ввода-вывода с указанным выше логом c , вы можете прочитать файл в памяти и вычислить его в памяти, а затем записать в файл как часть обычного выхода из программы. Одна из проблем заключается в том, что данные будут потеряны, если программа внезапно выйдет из строя.
Надеюсь, это поможет вам реализовать хороший лог c.
Я хотел написать это в комментариях, но максимальное количество символов превышено. Так что укажите это в комментариях к ответу. Я бы предпочел, чтобы вы написали код, поскольку он поможет вам с реализацией logi c.