كيف يمكنني إنقاذ الشخصية التي تشغل مساحة معينة في اللعنات؟

StackOverflow https://stackoverflow.com/questions/4107425

  •  29-09-2019
  •  | 
  •  

سؤال

لقد بدأت في محاولة صنع بعض ألعاب وحدة التحكم البسيطة في C ++ مع لعنات ، ومشروعي الأول هو مجرد غرفة كبيرة للتجول فيها. أعتقد أنني سأنفذ المشي عن طريق توفير البرنامج في حالة الساحة يسير الشخصية ، لذلك عندما يمشي في الساحة التالية ، يمكنه استعادة كل ما كان هناك. المشكلة هي أنني لا أعرف كيفية حفظ الشخصية في وضع معين لمتغير ، ودهشتي لا يمكنني العثور على أي وثائق شاملة لعنات. أنا أبحث عن وظيفة مثل هذه:

int storage = mvsavechar(1,1);

هل توجد أي وظيفة من هذا القبيل؟

هل كانت مفيدة؟

المحلول

أنت تبحث عن mvinch ():

int storage = mvinch(1, 1) & A_CHARTEXT;

نصائح أخرى

ستحتاج إلى تخزين البيانات للغرفة في نوع من بنية البيانات في البرنامج. اللعنات هي مكتبة الإخراج.

سأخزن حالة الشاشة في مجموعة Char 80x24 (أو أي شيء آخر). ولكن من المحتمل أن تقوم بحجم الصفيف لتتناسب مع أبعاد "غرفتك الكبيرة". إذا كانت الغرفة كبيرة للغاية ، فيمكنك تخزين ما يعادل صفيف متناثر باستخدام (على سبيل المثال) قائمة مرتبطة بالإحداثيات والمحتويات.

من المحتمل ألا يكون لدى اللعنات الوظيفة التي تريدها لأن المحطات المبكرة ربما لم يكن لديها قدرة الاستجواب حول محتويات الشاشة.

لا أعرف الكثير عن اللعنات ، ما تريده قد يكون ممكنًا إذا حافظت اللعنات على تفاصيل محتويات الشاشة - لكن هذا يبدو غير مرجح للغاية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top