السلام عليكم و رحمة الله و بركاته
أعزائي أتمنى منكم مساعدتي بالفكرة لتطوير لعبة 8puzzel
حيث أنها تبنى على خوارزمية A* و استخدمت فيها الـhurstic
و المشكلة اني لم اعرف كيف اعمل backtracking لأعود للـ puzzel التي تمتلك اقل hurstic
و المشكلة الأخرى هي اعادة تحريك الـpuzzel وقد سبق تحريكها من قبل فيدخلني في لوب لا منتهي
و لنفترض ان المستخدم يدخل الارقام من 0-8 حيث 0 تمثل مكان الفراغ
و الهدف هو 123
456
780
و تم الحل باستخدام priority qyeue
يرتبها على حسب hurstic و تعني عدد مربعات الخطأ
مثلا 123
456
078
تصبح قيمة الhurstic=3
و الحل اوصلني للنتيجة المطلوبه اذا لم تكن الـpuzzel معقده فقط عندما ادخل الارقام 1 2 3 4 5 6 7 0 8
ولكن اذا كانت معقده يدخلني في تكرار لا منتهي
أرجو منكم المساعدة اليوم قبل تسليم المشروع ولكم الشكر بعد الله