سؤال

أنا بناء لعبة قوية في VB .NET. الآن، النردات الخاصة بي هي كصفيف ثنائي الأبعاد (0،0 0،1) إلخ ...

ما أريده القيام به هو، كما أنا أطبق الكلمة، أنه يسلط الضوء على اللوحة باستخدام button(x,y).doclick الفرعية التي تبرزها. في الوقت الحالي يجد تطبيقي الحرف الأول، ثم يحتفظ في محاولة كل حرف حتى يلبي شرط الزاوية الثماني (أي يجاير إلى آخر واحد) ولكن هذا لا يعمل دائما. إذا كان هناك 2 "G" على السبورة وأريد القاع، وهذا لن يعمل. يمكن أن يعطيني شخص ما مثالا على PSuDocode لما يحتاج إلى حدوثه. لقد تعثرت لمدة 6 ساعات تقريبا في محاولة لمعرفة ذلك. شكرا

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

المحلول

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

ستكون الإجابة للحصول على سلسلة ملفات معينة قائمة بالمسارات، حيث يكون المسار قائمة إحداثيات الشبكة. كل مسار هو شيء يمكنك إبرازه بشكل معقول، لذلك تسليط الضوء على أول واحد. عند إضافة خطاب إلى السلسلة، يمكنك العثور على مسارات يمكنك توسيعها وإزالتها التي لا يمكنك توسيعها.

أخشى أنني لا أعرف كيفية كتابة رمز VB. نظرا لأنك طلبت من pseudoodocode، فإليك بعض pseudoodood pseudocode الخام بدلا من ذلك. أنا ترميز شبكة Boggle كقائمة 16 عنصر. تقوم الدالة الجيران (X) بإرجاع قائمة من المراكز المجاورة (باستثناء حالات الحافة التي ستكون [x-1، x + 1، x-4، x + 4]).

def firstLetter(typed):
  answer = []
  for pos in range(16): if grid[pos]==typed: answer += [pos]
  return answer

def addletter(partialanswer, typed):
  answer2 = []
  for partial in partialanswer:
      for neighbor in neighbors(partial[-1]):
          if grid[neighbor]==typed: 
             # partial+[neighbor] is a list. answer2 is a list of such lists.
             answer2 += partial + [neighbor]
  return answer2

إذا كانت أنواع اللاعبين "تذهب"، على سبيل المثال، (أ) أنواع المشغل "G"، ومكالمات رمز Firstletter ("G") واحصل على قائمة "إجابة" من المراكز الموجودة في الشبكة التي تحتوي على "g" وبعد تسليط الضوء، قل، أول واحد. (ب) أنواع اللاعبين "O"، مكالمات رمز المضافة (الإجابة، "O") والحصول على قائمة بالمسارات الموجودة في الشبكة التي تقول "اذهب". مرة أخرى، تسليط الضوء على أول واحد.

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