Как я могу спасти персонажа, занимающий определенное пространство в проклятиях?
Вопрос
Я начинаю попробовать делать несколько простых консольных игр в C ++ с проклятиями, и мой первый проект - это просто большая комната, которая ходила вокруг. Я полагаю, что я буду реализовывать прогулку, когда программа сохранить состояние площади, которое Характер гуляет, поэтому, когда он ходит на следующую площадь, он может восстановить все, что было там. Проблема в том, что я не знаю, как сохранить персонажа в определенном положении для переменной, и к моему удивлению, я не могу найти какие-либо всеобъемлющие документацию по проклятиям. Я ищу такой функция:
int storage = mvsavechar(1,1);
Существует ли какая-либо такая функция?
Решение
Вы ищете MVINCH ():
int storage = mvinch(1, 1) & A_CHARTEXT;
Другие советы
Вам нужно будет хранить данные для комнаты в какой-то структуре данных в вашей программе. Curses - это выходная библиотека.
Я бы хранил экран в массиве 8 80x24 (или что -то еще). Но, вероятно, вы разделите массив, чтобы соответствовать размерам вашей «большой комнаты». Если бы комната была чрезвычайно большой, вы могли бы сохранить эквивалент разреженного массива, используя (например) связанный список координат и содержимого.
Проклятий, вероятно, нет той функции, которую вы хотите, потому что ранние терминалы, вероятно, не имели возможности допросить содержимого экрана.
Я не знаю много о проклятиях, то, что вы хотите, может быть возможным, если проклятия сохранили детали содержимого экрана, но это кажется маловероятным.