إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

خوارزمية الحصان ورقعة الشطرنج

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • خوارزمية الحصان ورقعة الشطرنج

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته

    وجدت نفسي أتصفح في هذا العالم الفسيح فأعجبت بهذه الخوارزمية
    المتعلقة بالحصان و رقعة الشطرنج الشهيرة بحيث قد يطرح السؤال : كم أو ماهي كل الخانات
    التي سينقل عليها الحصان على رقعة الشطرنج في تحركه L
    بأقل حركات فقلت أكتبها هنا قد نحتاجها في كيفية البناء :
    كود PHP:
    8
    moves 
    = { {1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2} }
     
    function 
    Move_Allowedboardx)
        if 
    board[x][y] >= 8 then return false end
     
        local new_x
    new_y moves[board[x][y]+1][1], moves[board[x][y]+1][2]    
        if 
    new_x >= and new_x <= and new_y >= and new_y <= and board[new_x][new_y] == 0 then return true end
     
        
    return false
    end
     
     
    board 
    = {}
    for 
    1do
        
    board[i] = {}
        for 
    1do
            
    board[i][j] = 0
        end
    end
     
    x
    11
     
    lst 
    = {}
    lst[1] = { x}
     
    repeat
        
    if Move_Allowedboardxthen
            board
    [x][y] = board[x][y] + 1
            x
    x+moves[board[x][y]][1], y+moves[board[x][y]][2]
            
    lst[#lst+1] = { x, y }
        
    else
            if 
    board[x][y] >= 8 then
                board
    [x][y] = 0
                lst
    [#lst] = nil
                
    if #lst == 0 then
                    
    print "No solution found."
                    
    os.exit(1)
                
    end
                x
    lst[#lst][1], lst[#lst][2]
            
    end
            board
    [x][y] = board[x][y] + 1    
        end
    until 
    #lst == N^2
     
    last lst[1]
    for 
    2#lst do
     
    Dialog.Message("Notice"string.format"%s%d - %s%d"string.sub("ABCDEFGH",last[1],last[1]), last[2], string.sub("ABCDEFGH",lst[i][1],lst[i][1]), lst[i][2] ));

        
    last lst[i]
    end 
    منقول

  • #2
    شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

    تعليق


    • #3
      جزاك الله خيرا اخانا أبا بلقيس ؛ وللأسف أنا لا اعمل على هذه البرنامج تحديدا

      .

      تعليق


      • #4
        مرور عطر

        تعليق

        مواضيع تهمك

        تقليص

        المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
        المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
        المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
        المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
        المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
        يعمل...
        X