Unconfigured Ad Widget

تقليص

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

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

الرجاء المساعدة بخصوص قاعدة بيانات في لعبة ... باستخدام xna ..

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

  • الرجاء المساعدة بخصوص قاعدة بيانات في لعبة ... باستخدام xna ..

    السلام عليكم ..

    حبيت أسأل عن قواعد البيانات في xna & #c ..
    أنا عندي لعبة فيها قاعدة بيانات كبيرة نوعا ما ..
    فيها تخزين لبيانات اللاعبين أسماءهم وكلمات المرور والجنس و العمر و مجموع النقاط ووووو إلخ
    وفيها استعلامات برضو أحد يقدر يساعدني في كيفية انشائها ؟؟
    - هل بالـ structer لوحدها تنفع ؟؟
    - أو بتخزينها في فايلات وعمليات الاستعلام تكون على الفايل اللي يحوي البيانات للاعب أقصد بطريقة linked list ؟؟
    - وهل هناك امكانية عمل قاعدة البيانات هذه بالأكسس ثم ربطها بالشارب في اللعبة ؟؟ أم أن xna لاتدعم ذلك ؟؟

  • #2
    سؤال ممتاز .... شوف أخي

    الملفات؟

    هناك أساليب عديدة بالسي شارب لحفظ البيانات. كل واحدة لها خاصية معينة.

    يمكنك استعمال ملفات تسلسلية نصية (Sequential Files) بنوعيها العادي والـ CSV . مشكلتها أنها ليست محمية بشكل تلقائي. يمكنك حمايتها إذا وضعتها على سيرفر ، الحماية ليست جيدة لأن أي شخص ببرنامج ( Packet Sniff ) سيستطيع معرفة كلمة سر السيرفر والتلاعب بالملفات النصية.

    ملفات الإكسس هي الأفضل لأنها تحتوي على حماية ذاتية. ليست بالسهولة ذاتها مقارنة بالملفات النصية ولكنها منظمة وبها خصائص أفضل من الملفات النصية.

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

    ملاحظات فنية لكل نوع:

    Sequential Files
    أوامرها سهلة للغاية ، ستظهر لك بمجرد كتابة System.IO كل الأوامر المتاحة لصنع وأو مسح الملفات بالإضافة لأوامر فتح وإغلاق الملفات للقراءة والكتابة. اخذت اسم Sequential لأنها تكتب السطور بالترتيب المتتالي. وتقرؤهم أيضاً بالتتالي من السطر الأول للأخير.

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

    لمبتدئ نصيحة مني استعمل الملفات النصية إلى أن تفهم أسلوب تسجيل معلومات على ملف خارجي ن وبعدها انتقل إلى ملفات XML واللي هي شبيهة بملفات الـ HTML وتستعمل Tags لتفريق المحتويات. وإن شعرت بالقدرة على المتابعة في مجال الداتا بيس فيمكنك الذهاب للأكسس.

    من داخل البرنامج كيف تتعامل مع المعلومات؟

    لك الحرية في استعمال ما شئت ، يمكنك عمل Struct بمتغيرات تلائم قواعد البيانات. ولنقل أن الملف النصي يحتوي على معلومات عشر لاعبين. يمكنك عمل متغير يقوم بحساب عدد السطور في الملف النصي ولكل سطر يمكنك تغيير حجم المصفوفة المصنوعة بالاعتماد على الـ Struct اللي انت صنعته من قبل.
    ابحث عن معلومات بخصوص الـ Multi dimensional Arrays

    ملاحظة : في الـ #C لا أعتقد أنه يوجد أمر لتغيير حجم المصفوفة فلربما تضطر لعمل Public Void يقوم بعمل ذلك يدوياً.

    اعلمني ان احتجت لأي مساعدة في حال سلكت احدى هذه الطرق

    هل يدعمها الإكس إن أيه؟
    الـ XNA سيدعم ملفات قواعد البيانات ، فقط تأكد من تضميين عبارات الـ Using المطلوبة لكل نوع تستعمله.
    التعديل الأخير تم بواسطة towfieee; 18 / 03 / 2011, 04:01 PM.

    تعليق


    • #3
      أرى أن أفضل طريقة هي التعامل مع الملفات مع كتابة نظام تشفير بسيط خاص بك للملفات و بهذه ترتاح من وجع راس قواعد البيانات و بنفس الوقت تضمن نوع من الحماية على ملفاتك

      <<Nobody>> سابقاً

      تعليق


      • #4
        شكرا جزيلا على التجاوب الرائع .. والردود المثرية ..

        لكن حبيت أضيف
        بعد ما استشرت أحد المختصين نصحني بـــ MySQL .. ما رأيكم ؟؟؟

        تعليق


        • #5
          MySQL هي قاعدة بيانات لها ميزات عالية ، أنا كما قلت صحيح أنها قوية وستنظم العمل ، لكن ستواجه أنت مشاكل في استعمالها لأن البرمجة معها أصعب بكثير من الملفات النصية ( txt ) ، أنا أنصحك بالتقدم بخطواط صغيرة جداً في مجال الـ DataBase علشان تتعلم طريقة حفظ المعلومات بشكل صحيح.

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

          تعليق


          • #6
            ما اعرف اه تعني بكلامك يعن هل تريد تعمل قاعدة بياناة عل سيرفر حيت يتم احد بتسجيل من العبة وترسل البياناة الى قاعدة بياناة او يفتح حساب من العبة فترسل رسالة من العبة الى سرفر ليتحقق من صحتها واخد معلوماة تم ادخلك الى العبة لو كان هد هو مطلوب يعن هد طريقة متل الي عملها الاخ اسامة في لعبته مسجدي
            المهم عليك تكون عندك خبرة في لغة php وخبرة في استعلاماة خاصة ب قاعدة بياناة
            تقوم بعمل سكربتين ب php وتعمل قاعدة بياناة
            سكريبت الاول يقوم بتسجيل معلوماة يعن في متغيراة تعطيهم قيمة وتضغط تم ترسل الى قاعدة
            تاني سكريبت هو يقوم بجلب معلوماة
            تم تعمل سكريبت xna يقوم بارسال متغيراة الى سكريبت الاول ادى كان تسجيل
            وسكريبت تاني لاسترجاع معلوماة
            هد الفكرة هي التي تستعمل في اي لعبة عل ما اضن
            لان ملفاة php من صعب وصول الا محتواهم الى اد تم ختراق موقع او سيرفر باحد تغراة نضام او تغراة php
            بعد ان تعمل لعبة الاولى حول تلتفت وتبحت عن دروس لتشفير لان يمكن للهكر ادا كان يلعب لعبتك متلا وحقق سكور قدره 100 فعندما ستاتي معلوماة لترسل الى سيرفر سيعترض طريقها ويعدلها الى 50000000000 ويرسلها وهكد يصبح الاول لو كان هناك ترتيب للعبين
            ارجو تكون فهمت الفكرة واكون فهمت استفسارك جيدا
            الثورة الاسلامية الكبرى لاعادة الخلافة الراشدة
            بسم الله الرحمان الرحيم... انما النصر صبر ساعة فلا هوان ولا ستكان حت يعود الضلم تحت الاقدام ويعاقب الخونة وانجاس وترفع الرايات سود و لترتاع يهود لقرب الوعود فالتكن هته الثورة يا اهل مصر و سورية ويا اخواني في العالم اجمع ثورة غضب ثورة غضب خالصة لوجه الله فالتكن بداية النهاية ليعلم اليهود ان الامة اصبحت على فجر النصر وليكن اول بشارات النصر الانتقام من الخونة هم من بني جلدتنا وما هم منا...
            امة واحدة راية واحد حرب واحدة

            تعليق


            • #7
              المشاركة الأصلية بواسطة towfieee مشاهدة المشاركة
              mysql هي قاعدة بيانات لها ميزات عالية ، أنا كما قلت صحيح أنها قوية وستنظم العمل ، لكن ستواجه أنت مشاكل في استعمالها لأن البرمجة معها أصعب بكثير من الملفات النصية ( txt ) ، أنا أنصحك بالتقدم بخطواط صغيرة جداً في مجال الـ database علشان تتعلم طريقة حفظ المعلومات بشكل صحيح.

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

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

              تعليق


              • #8
                المشاركة الأصلية بواسطة naoufal مشاهدة المشاركة
                ما اعرف اه تعني بكلامك يعن هل تريد تعمل قاعدة بياناة عل سيرفر حيت يتم احد بتسجيل من العبة وترسل البياناة الى قاعدة بياناة او يفتح حساب من العبة فترسل رسالة من العبة الى سرفر ليتحقق من صحتها واخد معلوماة تم ادخلك الى العبة لو كان هد هو مطلوب يعن هد طريقة متل الي عملها الاخ اسامة في لعبته مسجدي
                المهم عليك تكون عندك خبرة في لغة php وخبرة في استعلاماة خاصة ب قاعدة بياناة
                تقوم بعمل سكربتين ب php وتعمل قاعدة بياناة
                سكريبت الاول يقوم بتسجيل معلوماة يعن في متغيراة تعطيهم قيمة وتضغط تم ترسل الى قاعدة
                تاني سكريبت هو يقوم بجلب معلوماة
                تم تعمل سكريبت xna يقوم بارسال متغيراة الى سكريبت الاول ادى كان تسجيل
                وسكريبت تاني لاسترجاع معلوماة
                هد الفكرة هي التي تستعمل في اي لعبة عل ما اضن
                لان ملفاة php من صعب وصول الا محتواهم الى اد تم ختراق موقع او سيرفر باحد تغراة نضام او تغراة php
                بعد ان تعمل لعبة الاولى حول تلتفت وتبحت عن دروس لتشفير لان يمكن للهكر ادا كان يلعب لعبتك متلا وحقق سكور قدره 100 فعندما ستاتي معلوماة لترسل الى سيرفر سيعترض طريقها ويعدلها الى 50000000000 ويرسلها وهكد يصبح الاول لو كان هناك ترتيب للعبين
                ارجو تكون فهمت الفكرة واكون فهمت استفسارك جيدا
                بالضبط هذي هي الفكرة اللي أحاول أعملها .. هي بروفايل لكل لاعب فيه معلوماته الخاصة فيه من اسمه ورقمه السري ونقاطه ....إلخ
                وتكون ع الشبكة ..
                فهمت اللي تقصده نوعاما .. لكن اللي بستفسر عنه إيش هي قاعدة البيانات المناسبة اللي أتعامل معها في تخزين البيانات ..!!
                أنت ذكرت طريقة التخزين من الشبكة إلى القاعدة وهي باستعمال السكربتين اللي ذكرتهم ،، هل هذا صحيح ؟؟

                تعليق


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

                  تعليق

                  يعمل...
                  X