Debug Ace قام بنشر منذ 20 ساعات قام بنشر منذ 20 ساعات السلام عليكم ورحمة الله وبركاته ممكن نشوف افكار وتطبيق رواد المنتدى المحترمين لعمل فكرة اللعبة X , O ولكن ولكن ولكن المطلوب ان تكون اللعبة بينك وبين الكمبيوتر يعنى انت تعمل حركة وهو يعمل حركة فى انتظار ابداعاتكم وافكاركم النيرة
Foksh قام بنشر منذ 16 ساعات قام بنشر منذ 16 ساعات وعليكم السلااااااام ورحمة الله وبركاته .. وبما أنني من عشاق تصميم الألعاب في آكسيس .. وقد كان لي تجربة مع هذه اللعبة الجميلة ، وقد قمت بتضمينها ضمن برنامج إدارة النوادي الرياضية في هذا الموضوع هنا .. وكانت تجربتي بالشكل القديم التالي :- ولكن وبما أننا في 2026 ، فسأقوم بتطويرها بشكل أجمل ضمن هوايتي المتواضعة .😁. 2
Debug Ace قام بنشر منذ 7 ساعات الكاتب قام بنشر منذ 7 ساعات 8 ساعات مضت, Foksh said: فسأقوم بتطويرها بشكل أجمل طيب وانت تقوم بعمل التطوير اجعل منافسك هو الحاسوب لان انت اللى بتعمل كل شئ انا عاوزها لعبة تفاعلية حقيقية بينك وبين الحاسوب 1
Foksh قام بنشر منذ 6 ساعات قام بنشر منذ 6 ساعات منذ ساعه, Debug Ace said: طيب وانت تقوم بعمل التطوير اجعل منافسك هو الحاسوب لان انت اللى بتعمل كل شئ انا عاوزها لعبة تفاعلية حقيقية بينك وبين الحاسوب تقصد بهذا الشكل ؟؟ 1 1
دروب مبرمج قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات الموضوع ممتع و شيق تفضل هذه الفكرة الخطوة الأولى: تجهيز النموذج (Form) أنشئ نموذجاً جديداً (Form) أضف 9 أزرار أمر (Command Buttons) وقم بتسميتها برمجياً كالتالي: btn1, btn2, btn3 (للصف الأول) btn4, btn5, btn6 (للصف الثاني) btn7, btn8, btn9 (للصف الثالث) أضف زر عاشر باسم btnReset لإعادة اللعبة. أضف "تسمية" (Label) باسم lblStatus لعرض حالة اللعبة (دور من؟ أو من الفائز؟). الكود البرمجي Option Compare Database Option Explicit ' متغيرات عامة للتحكم في حالة اللعبة Dim GameOver As Boolean ' عند تحميل النموذج Private Sub Form_Load() ResetGame End Sub ' زر إعادة تشغيل اللعبة Private Sub btnReset_Click() ResetGame End Sub ' الإجراء الرئيسي عند ضغط اللاعب على أي مربع Private Sub PlayMove(btn As CommandButton) ' التأكد أن المربع فارغ وأن اللعبة لم تنتهِ If btn.Caption = "" And Not GameOver Then btn.Caption = "X" btn.ForeColor = RGB(0, 0, 150) ' لون أزرق لعلامة اللاعب If CheckWinner("X") Then lblStatus.Caption = "مبروك! لقد فزت." lblStatus.ForeColor = RGB(0, 150, 0) ' لون أخضر عند الفوز Beep ' صوت تنبيه GameOver = True Else ' إذا لم يفز اللاعب، يأتي دور النظام CPUMove End If End If End Sub ' منطق ذكاء النظام (الكمبيوتر) Private Sub CPUMove() If GameOver Then Exit Sub Dim moveIndex As Integer ' 1. محاولة الفوز (الهجوم) moveIndex = FindBestMove("O") ' 2. سد الطريق على اللاعب (الدفاع) If moveIndex = 0 Then moveIndex = FindBestMove("X") ' 3. محاولة السيطرة على المركز (الخانة رقم 5) If moveIndex = 0 And Me.btn5.Caption = "" Then moveIndex = 5 ' 4. اختيار أول خانة متاحة إذا فشلت الاستراتيجيات أعلاه If moveIndex = 0 Then Dim i As Integer For i = 1 To 9 If Me.Controls("btn" & i).Caption = "" Then moveIndex = i Exit For End If Next i End If ' تنفيذ حركة النظام If moveIndex > 0 Then With Me.Controls("btn" & moveIndex) .Caption = "O" .ForeColor = RGB(200, 0, 0) ' لون أحمر لعلامة النظام End With ' التحقق هل فاز النظام؟ If CheckWinner("O") Then lblStatus.Caption = "للأسف! فاز النظام." lblStatus.ForeColor = vbRed ' لون أحمر للنص عند الخسارة Beep GameOver = True End If End If ' التحقق من حالة التعادل (إذا امتلأت الخانات ولم يفز أحد) If Not GameOver Then Dim IsDraw As Boolean: IsDraw = True Dim j As Integer For j = 1 To 9 If Me.Controls("btn" & j).Caption = "" Then IsDraw = False: Exit For Next j If IsDraw Then lblStatus.Caption = "تعادل!" lblStatus.ForeColor = vbBlack Beep GameOver = True End If End If End Sub ' دالة ذكية للبحث عن أفضل حركة (فوز أو دفاع) Private Function FindBestMove(PlayerSign As String) As Integer Dim WinPatterns As Variant Dim i As Integer, count As Integer, emptyPos As Integer Dim pos() As String ' جميع احتمالات الفوز الممكنة WinPatterns = Array("1,2,3", "4,5,6", "7,8,9", "1,4,7", "2,5,8", "3,6,9", "1,5,9", "3,5,7") For i = 0 To 7 pos = Split(WinPatterns(i), ",") count = 0 emptyPos = 0 Dim j As Integer For j = 0 To 2 If Me.Controls("btn" & pos(j)).Caption = PlayerSign Then count = count + 1 ElseIf Me.Controls("btn" & pos(j)).Caption = "" Then emptyPos = CInt(pos(j)) End If Next j ' إذا وجد خانتين لنفس اللاعب والثالثة فارغة، يعيد رقم الخانة الفارغة If count = 2 And emptyPos <> 0 Then FindBestMove = emptyPos Exit Function End If Next i FindBestMove = 0 End Function ' دالة التحقق من الفوز Private Function CheckWinner(Player As String) As Boolean Dim WinPatterns As Variant Dim i As Integer Dim pos() As String WinPatterns = Array("1,2,3", "4,5,6", "7,8,9", "1,4,7", "2,5,8", "3,6,9", "1,5,9", "3,5,7") For i = 0 To 7 pos = Split(WinPatterns(i), ",") If Me.Controls("btn" & pos(0)).Caption = Player And _ Me.Controls("btn" & pos(1)).Caption = Player And _ Me.Controls("btn" & pos(2)).Caption = Player Then CheckWinner = True Exit Function End If Next i CheckWinner = False End Function ' إعادة ضبط اللعبة للحالة الأصلية Private Sub ResetGame() Dim i As Integer For i = 1 To 9 Me.Controls("btn" & i).Caption = "" Me.Controls("btn" & i).ForeColor = vbBlack Next i GameOver = False lblStatus.Caption = "دورك الآن (X)" lblStatus.ForeColor = vbBlack End Sub ' ربط أحداث النقر للأزرار (Events) Private Sub btn1_Click(): PlayMove btn1: End Sub Private Sub btn2_Click(): PlayMove btn2: End Sub Private Sub btn3_Click(): PlayMove btn3: End Sub Private Sub btn4_Click(): PlayMove btn4: End Sub Private Sub btn5_Click(): PlayMove btn5: End Sub Private Sub btn6_Click(): PlayMove btn6: End Sub Private Sub btn7_Click(): PlayMove btn7: End Sub Private Sub btn8_Click(): PlayMove btn8: End Sub Private Sub btn9_Click(): PlayMove btn9: End Sub مرفق مثال على ذلك اكس او.accdb 1
Debug Ace قام بنشر منذ 2 ساعات الكاتب قام بنشر منذ 2 ساعات 35 دقائق مضت, دروب مبرمج said: الموضوع ممتع و شيق يا هلا والله يا مراحب تسلم الافكار النيرة ممتاز جدا ورائع
Debug Ace قام بنشر منذ 2 ساعات الكاتب قام بنشر منذ 2 ساعات هل هناك من يملك افكار لكسر جمود الاكسس بعمل اضافات تعمل كمؤثرات بصرية ممتعة والان تلخيص الافكر المطلوب تحقيقها للحصول على اكبر قدر مرن و ممتع وشيق من التجربة 1- تحديد مستوى الصعوبة والسهولة لما تلعب مع الكمبيوتر 2- تحديد وادخال اسماء اللاعبين فى حالة لاعب ضد لاعب آخر 3- مؤثرات بصرية تعطى رونق جميلا لكسر جكود الاكسس وعلى فكرة انا مش هشارك دلوقتى بالمرفق والافكار لانى انا حابب اشوف افكار رواد المنتدى المحترمين 1
Debug Ace قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه (معدل) لا تعتقد انى سوف انقل افكار او خبرات او حلول المشاركين يا سيد Foksh انا فقط احاول استخراج كل افكار المشاركين وصدقا الكل سوف يستفيد من الافكار حتى انا ايضا سوف استفيد ولكن بكل صدق واشهد الله المرفق جاهز والافكار تم تحقيقها على اكمل وجه ولن اقوم بتعديل مرفقى بنقل او اقتباس او تطبيق اى افكار من افكار السادة المشاركين ان اعجبتنى اى منها او لن اضيف اى شئ جديد الى المرفق الا بعد الافراج عن المرفق الحالى اولا واخذ الاذن من صاحب الافكار ولا يوجد مانع من تحريك المياه الراكدة قليلا تم تعديل منذ 1 ساعه بواسطه Debug Ace
Foksh قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 8 دقائق مضت, Debug Ace said: لا تعتقد انى سوف انقل افكار او خبرات او حلول المشاركين يا سيد Foksh لا لا يا هندسة ، مش ده قصدي !! ولا حتى قريب منه ، استغفر الله أن نظن بأحد ظناً سيء . على العكس ثقتنا كبيرة ببعضنا انا ناوي أشارك أفكاري من خلال ملفين مغلقين للتجربة وطرح الأفكار التي نفذتها بالتطوير على فكرتي الأساسية السابقة .. وهذين ملفين 32 و 64 للتجربة ، وإبداء الرأي لمن يريد . وثق تماماً أنني سأفرج عن الملف مفتوح المصدر بعد مشاهدة بعض المشاركات . X-O Game - 32.zip X-O Game - 64.zip
Debug Ace قام بنشر منذ 59 دقائق الكاتب قام بنشر منذ 59 دقائق (معدل) 18 دقائق مضت, Foksh said: استغفر الله أن نظن بأحد ظناً سيء لا تقلق لم يكون ردى عليكم لاعتقادى انكم تظنون بى سوءا ولكن كان الرد علشان الضحكة الجميلة بتاعتك اللى على منشورى وبس لا اكثر ولا اقل لا تكبر المواضيع يا رجل وبجد بجد برافو ولكن انت محتاج تراجع اكوادك تانى يا استاذ فى عندك bugs تم تعديل منذ 53 دقائق بواسطه Debug Ace
Foksh قام بنشر منذ 51 دقائق قام بنشر منذ 51 دقائق 12 دقائق مضت, Debug Ace said: ولكن انت محتاج تراجع اكوادك تانى يا عثل فى عندك bugs ماشي يا محمد .. الـ Bugs ده اللي بتتكلم عنه سببه إنك بالنقر على الأزرار بينما الكمبيوتر كان يفكر .. ولكن جاري المعالجة في المرفقات التي سيتم رفعها في المشاركة التالية .. على العموم ، انا زودت قفل زيادة علشان تفرح يا عم 😉 1
Debug Ace قام بنشر منذ 48 دقائق الكاتب قام بنشر منذ 48 دقائق 1 دقيقه مضت, Foksh said: الـ Bugs ده اللي بتتكلم عنه سببه إنك بالنقر على الأزرار بينما الكمبيوتر كان يفكر برافو عليك شاطر
Debug Ace قام بنشر منذ 41 دقائق الكاتب قام بنشر منذ 41 دقائق طيب ولانى لا املك 32 ده المرفق مغلق للنواة 64 للتجربة file x o 64.zip
Foksh قام بنشر منذ 34 دقائق قام بنشر منذ 34 دقائق 24 دقائق مضت, Debug Ace said: ولكن انت محتاج تراجع اكوادك تانى يا عثل فى عندك bugs جرب كدة ونشوف النتيجة !! X-O Game - 32.zip X-O Game - 64.zip
Debug Ace قام بنشر منذ 31 دقائق الكاتب قام بنشر منذ 31 دقائق 1 دقيقه مضت, Foksh said: جرب كدة ونشوف النتيجة !! طيب وانت جرب المرفق بتاعى اللى فى المشاركة السابقة وقول لى رايك الى ان اقوم بتجربة التعديل الاخير لمرفقك واعتذر لانى لا اعرف كيف اقوم بعمل تصوير متحرك للشاشة وضعت مرفق فقط بدون صورة متحركة تدل على الية العمل
Debug Ace قام بنشر منذ 23 دقائق الكاتب قام بنشر منذ 23 دقائق (معدل) 13 دقائق مضت, Foksh said: جرب كدة ونشوف النتيجة !! لسة فيه عندك bugs يا سيد Foksh تم تعديل منذ 20 دقائق بواسطه Debug Ace
Debug Ace قام بنشر منذ 17 دقائق الكاتب قام بنشر منذ 17 دقائق 11 دقائق مضت, ابوخليل said: كل الامثلة لا تعمل على 2010 😠 اسف جدا جدا جدا للازعاج استاذ المرفق مفتوح X-O By Debug Ace.zip
Foksh قام بنشر منذ 15 دقائق قام بنشر منذ 15 دقائق 4 دقائق مضت, Debug Ace said: لسة فيه عندك bugs يا سيد Foksh احذف القديم ، وشغل الجديد يا هندسة .. 😎 13 دقائق مضت, ابوخليل said: كل الامثلة لا تعمل على 2010 😠 معلمنا الفاضل ، انا مستغرب جداً من عدم عمل الإصدار 32 لديك .. انظر من جهاز آخر بالقرب مني ويعمل على أوفيس 2010 32 ..
Debug Ace قام بنشر منذ 13 دقائق الكاتب قام بنشر منذ 13 دقائق (معدل) 3 دقائق مضت, Foksh said: احذف القديم ، وشغل الجديد يا هندسة .. 😎 دى التجربة من المرفق الجديد بالفعل يا سيد Foksh تم تعديل منذ 12 دقائق بواسطه Debug Ace
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان