1

Тема: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

Декілька місяців назад я почав вивчати Python. Я в цьому не дуже "майстер" та й іноді беру паузу, та це неважливо. Короче кажучи, я почав вивчати модуль tkinter і хотів зробити з його допомогою типу якусь Міні РПГ гру( назву ще треба придумати :D ). Ще треба багато чого додати і допрацювати ( бо там тільки головне меню, і то, тільки кнопка Exit працює *PARDON* ). Та я хочу запитати наперед - як краще зберігати прогрес гри, з файлами( наприклад .dll ) чи sqlite3 ?? Ну там може, твій рекорд, чи якась інша статистика і так далі. Якщо з файлами то це треба робити дуже багато різних файлів. Для кожної дрібниці. А з sqlite3 я взагалі незнаю працювати. Недавно побачив на ютубі що там теж якось можна зберігати різні дані в таблицях чи в чомусь ще %) Але в відео казали що навіть якщо ти перекинеш код комусь іншому, то тіж самі дані в таблиці теж перекинуться %) %) А мені треба так, щоб коли я переслав вже конвертований код в .exe файл, то в грі типу все буде спочатку + ще так щоб деякі картинки та дані все ж переслались також, одразу з .exe файлом. Можливо навіть є інші способи зберігати дані. Незнаю. Вирішив тут запитати %)

2

Re: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

І так, мені багато хто казав що краще робити гру на pygame. Та я неслухав :D Просто хочу краще розібратися в tkinter

3

Re: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

AsMaster335 написав:

Та я хочу запитати наперед - як краще зберігати прогрес гри, з файлами( наприклад .dll ) чи sqlite3 ??

Звучить на рівні, що краще використовувати молоток чи бензопилу?..

Подякували: leofun01, koala2

4

Re: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

wander написав:
AsMaster335 написав:

Та я хочу запитати наперед - як краще зберігати прогрес гри, з файлами( наприклад .dll ) чи sqlite3 ??

Звучить на рівні, що краще використовувати молоток чи бензопилу?..

Залежить від того що саме потрібно зробити *SCRATCH*

5

Re: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

Файли - це загальна форма збереження даних; наприклад, sqlite3 зберігає дані у файлі з розширенням .sqlite3.
Файли .dll - це бібліотеки динамічного зв'язування, вони точно не підходять для збереження прогресу.
Поки даних мало, можете просто серіалізувати їх (скажімо, в JSON) і зберігати в один файл, для вас це буде найпростіше поки що, бо sqlite потребує вивчення окремої теми (SQL). І ні, ви щось зрозуміли неправильно з того відео (чи там неправильно сказали), sqlite не зберігає дані в коді.

Тобто моя порада для новачка - робити десь так:

import json
def save_progress(...):
  progress_data = {
    'best': best_result,
    'highest_level': max(levels),
    ... #і інше
  }
  json.dump(progress_data, open('datafile.json','w'))
def load_progress():
  progress_data = json.load(open('datafile.json','r'))
  best_result = progress_data['best']
  #і т.д.
Подякували: AsMaster335, leofun01, bebyk3

6

Re: Як краще зберігати прогрес гри ? За допомогою файлів чи Sqlite3 ?!

koala написав:

Файли - це загальна форма збереження даних; наприклад, sqlite3 зберігає дані у файлі з розширенням .sqlite3.
Файли .dll - це бібліотеки динамічного зв'язування, вони точно не підходять для збереження прогресу.
Поки даних мало, можете просто серіалізувати їх (скажімо, в JSON) і зберігати в один файл, для вас це буде найпростіше поки що, бо sqlite потребує вивчення окремої теми (SQL). І ні, ви щось зрозуміли неправильно з того відео (чи там неправильно сказали), sqlite не зберігає дані в коді.

Тобто моя порада для новачка - робити десь так:

import json
def save_progress(...):
  progress_data = {
    'best': best_result,
    'highest_level': max(levels),
    ... #і інше
  }
  json.dump(progress_data, open('datafile.json','w'))
def load_progress():
  progress_data = json.load(open('datafile.json','r'))
  best_result = progress_data['best']
  #і т.д.

Зрозумів :) Дякую за допомогу *SCRATCH* Буду щось пробувати з json тоді *WALL*