Материал из Скретч Вики

Значок «важно».png Внимание! Статья не завершена! Если ты хочешь помочь — отредактируй её!
Значок «важно».png Внимание! Если у вас не получается сохранять данные даже после прочтения данной статьи, то спросите у автора или RuMaks


Данные — формы представления информации, с которыми имеют дело информационные системы и их пользователи. Сохранение данных нужно для того чтобы можно было сохранить данные того что было в проекте, и после чего загрузить их обратно.

Принцип работы

Для того чтобы сделать сохранение данных, нам нужно заносить всю информацию для сохранения в одно целое так, чтобы потом это можно было считать. Для этого будет использовать стандартную систему кодов.

Система кодов

Принцип этой системы состоит в том, что к числу в зависимости от его максимального значения прибавляем число 5×10количество цифр в числе. Например, 215 → 500, 2156 → 5000, 21567 → 50000 и т.д. Считывать можно просто отнимая число которое прибавили. Это позволяет держать число в определенном количестве символов, например если переменная не может быть больше 2876, то даже при значении −345 мы получим четырёхзначное число (если при этом число не достигает 5000).

Алгоритм

  • нужно определить какие данные нужно сохранять (пример: координаты X и Y).
  • создадим список, куда будет выводится код сохранения, например «SavingLoad»
  • нужно выбрать разделитель между значениями, например прямая черта или пробел. В этом случае — это «|».
  • запишем все закодированные переменные в список (лучше сделать это под блоком когда я получу [сохранить v])
добавить (слить (слить ((положение x) + (500)) и ((положение y) + (500))) и ((направление) + (500))) к [SavingData v]

Обратный алгоритм

Переменная «var» — то, что вводит игрок для того чтобы активировать код от сохранения. Например, преобразуем 560670870 в 560, 670 и 870:

([пол v] от ((var)/(1000000))) // 560
([пол v] от (остаток от деления ((var)/(1000)) на (1000))) // 670
([пол v] от (остаток от деления (var) на (1000))) // 870