Get it on google play

tictactoe game project


  • Global Moderator

    منشور محدث باستمرار

    السلام عليكم
    من باب التدريب بدأت بالبروجيكت انجزت بعض المهمات والباقي يحتاج تطوير مثل مستوى الصعوبة
    النقاش مفتوح لمن اراد مراجعة الكود او تحسين و اختصار الكود او اي اقتراحات
    التطبيق ما زال تحت التطوير و هو على شكله الحالي "apk" :
    تحديث 1 حزيران /يوليو

    رابط البروجيكت عالجيت
    GitHub

    الميزات الحالية:
    *وضع لعب لاعبين
    *عدة مستويات من سهل لمستحيل
    *يدعم الشاشة بشكل افقي و عمودي
    *يدعم لغتين عربي /انكليزي

    جاري العمل على:

    *جعل اللعبة اونلاين
    *وضع نظام للعبة
    *وضع تصميم و تحيسنات بالمظهر لتظهر كلعبة

    لقطة الشاشة غير محدثة**
    0_1527767187304_Screenshot_2018-05-31-14-36-04.png


  • administrators

    رائع اخى الفاضل مجهود عظيم وجارى المراجعة


  • Global Moderator

    تسلم مهندس حسن


  • Global Moderator

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


  • Global Moderator

    بس في نقطة صغيرة وقفت عندها و تركتها لبعدين
    حاولت ااخر دور اللاعب الثاني باللعب الاتوماتيك عشان يكون في شوية واقعية بتعطي احساس انو الالة بتفكر قبل القرار بمعنى جربت اعمل
    "SystemClock.sleep(750);
    ف كان يأخر العملية للطرفين وتظهر نتيجة وحدة



  • @abunadeem اين اخدت دروس الجافا


  • administrators

    مجهود مشكور ويوجد بعض الملاحظات اول ملاحظة يجب ان تشرح وظائف كل سطر فى الكود بجواره ثانيا تشرح فيما يستخدم كل متغيير او معناه كذلك يجب شرح وظيفة كل method حتى يستطيع اى احد فهم الكود ومساعدتك


  • administrators

    @hmada ما اخذته فى مبادرة مليون مبرمج عربى كافى لانشاء مثل هذه اللعبة


  • administrators

    عند تشغيل البرنامج فى الاندرويد استديو يطلب ملف
    google-services.json
    ارجو تضمينه


  • administrators

    بالنسبة الى تحديد مستوى الصعوبة فعمل متغير من نوع
    boolean
    لكل صعوبة يصعب الكود اكثر يمكنك وضع الصعوبة فى كلاس خاص بيها ومن ثم استخدام متغير لوضع نوع الصعوبة فيه كالتالى

    package com.abunadeem.tictactoe;

    public class difficulty {
    public static int easy =1;
    public static int med =2;
    public static int hard=3;
    }

    ثم استخدامه فى الـ
    MainActivity
    كالتالى

    level = difficulty.easy;


  • administrators

    بالنسبة الى عمل
    SystemClock.sleep(750);

    لا تعمل لان الدوال الخاصة بالتعامل مع كلا اللاعبين هى دوال واحدة
    وكذلك لان هذا السطر يقوم بايقاف السيتم كاملا وليس سطر كود معين
    فى مثل هذه الحالة لا اريد ان اصعب عليك الموضوع
    ولكن الافصل استخدام
    thread
    لكل لاعب
    ومن حيث تقوم بايقاف اى
    thread
    كما تشاء دون التاثير على اى
    thread
    اخر

    بالتوفيق


  • Global Moderator

    @hassan-youssef شكرا الك لانك اخذت من وقتك و راجعت الكود .النصايح كانت مهمة اولها كيف ما خطرلي ارجع ارقم مستويات الصعوبة بدل عمل بوليان لكل مستوى هو لاني كنت عامل سويتسر كملت ع نفس الموال.بالنسبة لعمل
    Thread
    ما فيش مشكلة هو الهدف الاساسي من المشروع اني اطور حالي مبارح تعلمت اعمل قائمة و اليوم ثريد و
    بكرا بيطلع معي امور بيتطلبها المشروع كمان بتعلمها ..هيك بكون طورت حالي
    جاري العمل بالنصايح..شكرا مرة ثانية


  • Global Moderator

    @hmada مش مهم وين تعلمت الاساسيات المهم تطبقي و تشوفي كيف غيرك بيشتغل .بالنسبة الي
    تعلمت اساسيات جافا لحالي عالموبايل برنامج اسمو
    SoloLearn
    متوفر عالمنتدى كورس احسن من انك تتعلمي ع نفس البرنامج خصوصا انك فيكي تناقشي الدرس مع الموجودين


  • administrators

    الشكر لله بالتوفيق هناك شئ اخر عندما تواجهك بعض الكائنات المتساوية فى الصفات حاول تعمل منها كلاس ثم تقوم بعمل كائنات من هذا الكلاس على سبيل المثال عندك يوجد اكثر من لاعب هؤلاء اللاعبين متساوين فى بعض الصفات يمكنك عمل كلاس اسمه
    player
    ثم تقوم بعمل كائنات
    player1
    player2
    ترث من كلاس
    player
    بذلك يكون الكود اكثر تنظيما ومنعا للتكرار



  • @hassan-youssef نعم بس في امور مش موجودة في المبادرة


  • administrators

    @hmada بعض الاشياء البسيطة فقط التى لم يتم ذكرها فى المبادرة يمكنك البحث عنها حتى تتعلم بنفسك وهذه من اهم مميزات المبرمج المحترف



  • @hassan-youssef ان شاء الله


 

Suggested Topics