Unconfigured Ad Widget

تقليص

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

تقليص

رثاء

‏خالص العزاء والمواساه في وفاة العضو القدير الأخ ياسر ياسين رحمه الله

https://www.maxforums.net/node/3676654
شاهد أكثر
شاهد أقل

[ورشة عمل] Suicide Mission in OrkStan

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

  • [ورشة عمل] Suicide Mission in OrkStan

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

    هذه أول لعبة لي ... أو أول لعبة "كاملة" لي بالأصح
    طبعاً لسا ما كملتها
    لكن الجيم بلاي تقريباً انتهى وباقي لي إضافات الصوتيات والمرئيات
    بالطبع هذه اللعبة التي سأشترك بها في المسابقة(للأسف كنت أود الاشتراك في لعبة أخرى لكن مافي وقت)

    :: معلومات المشروع ::

    اسم المشروع : Suicide Mission in OrkStan
    أو مهمة انتحارية في "أورك ستان"

    نوع اللعبة : استراتيجي
    صراحة ما عرفت أصنفها بالضبط لكنها أقرب ما يكون للاستراتيجي وربما puzzle

    فكرة اللعبة : لعبة بسيطة تبدأ بها في خريطة ومحاط بمجموعة من الصحاري والسهول والغابات, كل نوع من الأراضي تظهر فيه وحوش مختلفة, وله تكلفة مختلفة من الجوع (كلما سافرت أكثر كلما نقص زاد الجوع لديك), وعليك أن تبحث عن أصدقائك المختطفين في أراضي مجهولة, بواسطة أدوات وأسلحة كل منها مفيد في قتال أحد أنواع الوحوش ...

    البرامج المستخدمة-المحرك :
    ماكروميديا فلاش 8 (action script 2)
    ميزات-تفاصيل اللعبة :
    • يمكنك شراء الأدوات والاسلحة من القرى (أدوات لاستكشاف الخريطة ولتحديد مواقع الأدوات المفيدة والأعداء)
    • بعض الوحوش تظهر في الصحاري , وأخرى في الغابات, لذلك عليك تحديد الأدوات والأسلحة التي تريد أن تشتريها قبل أن تبدأ السفر عبر الأراضي
    • كل وحش له نقطة ضعف ضد أحد الأسلحة
    • يمكنك اختيار بين عدد من "الأوركس" لتلعب به, كل أورك له ميزات ومواهب مختلفة عن الآخر
    • يجب أن تجد جميع أصدقائك الخمسة لكي تفوز

    تابع تطورات اللعبة في مدونتي الإنجليزية
    روابط من blogger
    update 1
    http://a-indiegame.blogspot.com/2011...t-project.html
    update 2
    http://a-indiegame.blogspot.com/2011...n-i-stuck.html

    صورة من الإنجاز الحالي للعبة :


    ترقبوا المزيد من التفاصيل والتحديثات
    أظن أول ديمو سيصدر بعد أسبوع أسبوعين كده ^^"


    التعديل الأخير تم بواسطة ديك المجد; 12 / 09 / 2011, 05:19 AM.

  • #2
    بلتوفيق لك
    هل يمكنك وضع ادوات تطوير اللعبه ؟
    متى اراك يوماُ حراُ يا وطني....

    My First 2D Xna Game
    http://www.maxforums.net/showthread.php?t=186226
    First Part Of My 3d Game In Xna
    http://www.maxforums.net/showthread.php?t=188705

    Programming New 3d Car Game in Xna Game Engine
    My Project
    http://www.maxforums.net/showthread.php?t=202529


    تعليق


    • #3
      وعليكم السلام ورحمة الله وبركاته

      ماشاء الله عليك اخي فارس, اللعبة لفتت انتباهي وبصراحة الرسوم لشخصيات oak رائعة
      كأول مشروع يبدو انها لعبة مبتكرة, انصحك بأن لا تتوقف وحاول غالبا على تطويرها اكثر, كذلك عند انتهاء
      ربما فقط أقترح عليك تحسين تايل قليلا.

      متحمس لنتيجة النهائية ولاتستسلم, ومنتظرين صدورها بأذن الله

      تحياتي لك
      :: Social Services Links ::

      YOUTUBE
      TWITTER
      FACEBOOK

      I heard it once said that if 3D is our world then Script is the glue that holds it all together

      تعليق


      • #4
        جميل ديك المجد باين بأنها لعبة مميزة بالتوفيق
        عليك أن تفعل الأشياء التي تعتقد أنه ليس باستطاعتك ان تفعلها

        تعليق


        • #5
          هل يمكنك وضع ادوات تطوير اللعبه ؟
          صراحة ما فهمت السؤال ... ولكن إذا كان قصدك level editor أو شيء شبيه به, فالجواب هو لا

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

          جميل ديك المجد باين بأنها لعبة مميزة بالتوفيق
          شكراً لك

          تعليق


          • #6
            اموت انا .... واعيد السنة

            منتظر اللعبة على احر من الجمر

            ملك إنحصر وجوده فى مملكة خياله

            تعليق


            • #7
              المشاركة الأصلية بواسطة ديك المجد مشاهدة المشاركة
              صراحة ما فهمت السؤال ... ولكن إذا كان قصدك level editor أو شيء شبيه به, فالجواب هو لا
              <
              ممممم قصدي محرك اللعبه او اللغه التي استخدمتها
              متى اراك يوماُ حراُ يا وطني....

              My First 2D Xna Game
              http://www.maxforums.net/showthread.php?t=186226
              First Part Of My 3d Game In Xna
              http://www.maxforums.net/showthread.php?t=188705

              Programming New 3d Car Game in Xna Game Engine
              My Project
              http://www.maxforums.net/showthread.php?t=202529


              تعليق


              • #8
                ماكروميديا فلاش 8 (action script 2)
                شكراً على التنبيه تم تعديل الموضوع...
                اللعبة فلاشية

                تعليق


                • #9
                  مرحبا اخي فارس المجد

                  انا متشوق لارى مهاراتك في صناعة الالعاب وخاصتن ان قد امضينا وقتنا كبيره بالمنتدى ولم ارى لعبة من تصميمك

                  ياليت تعرض لنا صور اخرى للعبة ولم استطع ان افهم اللية اللعب ولا الهدف

                  ولذا سننتظر اخر التحديثات مع الدعوات لك بالتوفيق
                  \

                  وتقبل تحياتي اخوك مبارك الرشيدي
                  اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                  وتفتك باعدائك اعداء الدين


                  تعليق


                  • #10
                    حاضر أخي بإذن الله ...
                    أنا تأخرت قليلاً لأن جاني ضيف من خارج المدينة, ومتوقف عن العمل منذ 3 أيام اللهم نصف ساعة باليوم... ضيف عزيز جداً علي ولكن الحمد لله أنه بسافر اليوم ورانا شغل

                    عموماً اللعبة طريقتها غريبة شوي يعني لا يوجد كثير ألعاب على شاكلتها, لذلك إنتظروا الديمو في أقرب فرصة, هي اللعبة قابلة للعب من الآن لكن الجرافيكس بعضه مكتمل والآخر شخبطة لا تطاق !! وكذلك لا يوجد أية أصوات أو قوائم فالأفضل أن أؤخر الديمو قليلاً حتى اكتمال جزء لابأس به من المصادر

                    آخر التطورات :
                    تمت إضافة بعض الجرافيكس وتم تصحيح معظم الأخطاء والأمور المزعجة في اللعبة, تقريباً انتهت من الناحية البرمجية, وتحتاج تنظيم لطريقة شراء الأدوات والأسلحة وكذلك موازنة القوى حتى لا تصبح اللعبة صعبة جداً أو سهلة جداً,,

                    تعليق


                    • #11
                      action script
                      هد جميل استمر
                      الثورة الاسلامية الكبرى لاعادة الخلافة الراشدة
                      بسم الله الرحمان الرحيم... انما النصر صبر ساعة فلا هوان ولا ستكان حت يعود الضلم تحت الاقدام ويعاقب الخونة وانجاس وترفع الرايات سود و لترتاع يهود لقرب الوعود فالتكن هته الثورة يا اهل مصر و سورية ويا اخواني في العالم اجمع ثورة غضب ثورة غضب خالصة لوجه الله فالتكن بداية النهاية ليعلم اليهود ان الامة اصبحت على فجر النصر وليكن اول بشارات النصر الانتقام من الخونة هم من بني جلدتنا وما هم منا...
                      امة واحدة راية واحد حرب واحدة

                      تعليق


                      • #12
                        أحتاج بعض المساعدة ... اللعبة لا تزال بيتا ... أحتاج بعض النصائح
                        تجريب اللعبة عبر الرابط :
                        http://gamejolt.com/online/games/adv...tan-beta/6155/
                        ربما تحتج بعض الوقت للتحميل ... انتظروا دقيقتين
                        لمتابعة أخبار المشروع أول بأول

                        follow me on twitter :

                        تعليق


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

                          تعليق


                          • #14
                            شكراً أخي على تفاعلك الدائم معي ...

                            آخر التطورات :
                            هي اللعبة فكرتها بسيطة وانا عقدتها زيادة شوي ... صراحة يبدو أنني قررت إيقاف المشروع مؤقتاً << أصابني إحباط من قلة التفاعل
                            لا أمزح ولكن صراحة مو مستاهلة اللعبة أعملها أنيمشن وأتعب عليها ... سأشارك بلعبة قد تمكنني الفوز بالمسابقة
                            أساساً أنا لم أكن أنتوي أن أشترك بالمسابقة بهذه اللعبة ولكن عندما وجدت أن الوقت ضيق قلت يلا المهم نشارك ...

                            لحسن الحظ أن اللعبة التي أعمل عليها الآن كنت أعمل عليها منذ فترة و محركها منجز جزء كبير منه , وأساساً هو بسيط ... وأيضاً الجرافيكس 70% منتهي ... لذلك أتوقع أن أنهي اللعبة قبل الـ20 يوم المتبقية بسهولة... يمكنني التركيز على التفاصيل الجميلة في اللعبة مثل القصة وغيرها ...

                            واللعبة محركها مجرب وأثبت نجاحه سابقاً ... فاستعدوا لمنافسة شرسة

                            قريباً سأعطيكم بعض التفاصيل عن المشروع الجديد ...

                            تعليق


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

                              الكود طويل جداً جداً , أتوقع لو أني كنت مخطط صح له , كان ممكن أختصر نصف الكود ... عموماً حصل خير الحمد لله زادت مهاراتي في البرمجة بالذات أني تركتها لفترة طويلة جداً ... هذا الكود ليس كاملاً وضعت نصفه لتفهمو الفكرة :
                              كود:
                              init();[LEFT]
                              SoundsPrep();
                              spacing = 50;
                              currentX = spacing/2;
                              currentY = spacing/2;
                              LaneCounter = 1;
                              Deptho = 1;
                              Depoth = 1001;
                              Depath = 2001;
                              flashed = 0;
                              Mode = 0;
                              Discount = 0;
                              AbleToJump = true;
                              AbleToHit = false;
                              Alive = true;
                              AlreadyOpen = false;
                              EmptyCells = new Array(130);
                              SearchArr = new Array(0, 0, 0, 0, 0);
                              SearchP = 0;
                              EmptyArray(EmptyCells);
                              Timer = 0;
                              WarTimer = 0;
                              FlashTimer = 0;
                              Target = 0;
                              EnemHealth = 0;
                              BincModeTimer = 0;
                              MustFight = false;
                              //trace(EmptyCells[160]);
                              CellNum = 0;
                              // pointer to EmptyCells
                              CP = 0;
                              // pointer to content number(for show content)
                              NumofItems = 0;
                              NumofQuests = 5;
                              QuestDone = 0;
                              pricehealth = 200;
                              priceBalloon = 300;
                              priceBinoculars = 600;
                              pricemango = 150;
                              pricemap = 450;
                              ItemPriceList = new Array(200, 300, 600, 150, 450);
                              //you must change price in Arr and var;
                              PriceList = new Array(100, 150, 200, 100, 120, 200, 800);
                              ItemContent = new Array("mango", "mango", "mango", "health", "health", "trap", "trap", "money", "money", "money", "money", "money", "money", "gem", "gem", "map", "map", "map", "Binoculars", "Binoculars", "Balloon", "Balloon", "Balloon", "start", "princess", "baby", "spider", "knight", "gunner");
                              Inventory = new Array("noItem", "noItem", "noItem", "noItem", "noItem");
                              InventoryP = 0;
                              InvCapacity = 5;
                              pointer = 0;
                              //pointer to ItemContent
                              a = ItemContent.length;
                              trace("ItemContent Length ="+a);
                              for (i=1; i<=160; i++) {
                              	CellName = "C"+i;
                              	_root.attachMovie("cell", CellName, Deptho);
                              	this["CellObject"+i] = new Object();
                              	this["CellObject"+i].Content = "nothing";
                              	this["CellObject"+i].CellType = 11;
                              	//11 means nothing
                              	if (LaneCounter == 17) {
                              		currentY += spacing;
                              		currentX = spacing/2;
                              		LaneCounter = 1;
                              	}
                              	_root[CellName]._x = currentX;
                              	_root[CellName]._y = currentY;
                              	currentX += 50;
                              	LaneCounter++;
                              	Deptho++;
                              }
                              _root.attachMovie("ControlPanel", "ControlPanel", 9000);
                              trace("cocoa");
                              _root.ControlPanel._y = 500;
                              _root.ControlPanel._x = 0;
                              _root.ControlPanel.StageHealth = MyOrk.Health;
                              _root.ControlPanel.StageHunger = MyOrk.Hunger;
                              _root.ControlPanel.StageMoney = MyOrk.Money;
                              _root.attachMovie("WarPanel", "WarPanel", 8500);
                              _root.WarPanel._y = 0;
                              _root.WarPanel._x = 700;
                              _root.WarPanel._visible = false;
                              //Add Cell types... and Monsters
                              RemainCellArr = new Array(55, 35, 40, 3, 2, 25);
                              CellTypePenalty = new Array(2, 3, 4, 1, 1, 5);
                              Place = 1;
                              for (i=0; i<=5; i++) {
                              	for (j=RemainCellArr[i]; j>0; j--) {
                              		this["CellObject"+Place].CellType = i;
                              		CellName = "C"+Place;
                              		_root[CellName].gotoAndStop(i+1);
                              		Place++;
                              	}
                              }
                              AddMonsters();
                              trace(CellNum+"CellNum");
                              trace(EmptyCells[124]+"is last of empty cells");
                              Randomize();
                              EmptyCellRandomize();
                              AddItems();
                              function AddMonsters() {
                              	for (e=131; e<=135; e++) {
                              		this["CellObject"+e].Content = "market";
                              	}
                              	RemainMonsters = new Array(4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 3);
                              	MonsterOrder = new Array("slim", "rat", "lion", "slim", "bird", "golem", "slim", "bird", "golem", "rat", "lion", "slim", "swamp");
                              	j = 0;
                              	Place = 1;
                              	for (i=1; i<=55; i++) {
                              		if (RemainMonsters[j] != 0 && j<=2) {
                              			this["CellObject"+Place].Content = MonsterOrder[j];
                              			RemainMonsters[j]--;
                              		} else {
                              			this["CellObject"+Place].Content = "nothing";
                              			j++;
                              		}
                              		//trace(this["CellObject"+Place].Content+Place);
                              		Place++;
                              	}
                              	j = 3;
                              	for (i=1; i<=35; i++) {
                              		if (RemainMonsters[j] != 0 && j<=5) {
                              			this["CellObject"+Place].Content = MonsterOrder[j];
                              			RemainMonsters[j]--;
                              		} else {
                              			this["CellObject"+Place].Content = "nothing";
                              			j++;
                              		}
                              		//trace(this["CellObject"+Place].Content+Place);
                              		Place++;
                              	}
                              	j = 6;
                              	for (i=1; i<=40; i++) {
                              		if (RemainMonsters[j] != 0 && j<=9) {
                              			this["CellObject"+Place].Content = MonsterOrder[j];
                              			RemainMonsters[j]--;
                              		} else {
                              			this["CellObject"+Place].Content = "nothing";
                              			j++;
                              		}
                              		//trace(this["CellObject"+Place].Content+Place);
                              		Place++;
                              	}
                              	Place += 5;
                              	j = 10;
                              	for (i=1; i<=25; i++) {
                              		if (RemainMonsters[j] != 0 && j<=12) {
                              			this["CellObject"+Place].Content = MonsterOrder[j];
                              			RemainMonsters[j]--;
                              		} else {
                              			this["CellObject"+Place].Content = "nothing";
                              			j++;
                              		}
                              		Place++;
                              	}
                              }
                              function Randomize() {
                              	for (i=0; i<=1000; i++) {
                              		RC1 = random(160)+1;
                              		RC2 = random(160)+1;
                              		RC1Type = this["CellObject"+RC1].CellType;
                              		RC2Type = this["CellObject"+RC2].CellType;
                              		RC1Content = this["CellObject"+RC1].Content;
                              		RC2Content = this["CellObject"+RC2].Content;
                              		Temp = RC1Type;
                              		RC1Type = RC2Type;
                              		RC2Type = Temp;
                              		Tempo = RC1Content;
                              		RC1Content = RC2Content;
                              		RC2Content = Tempo;
                              		this["CellObject"+RC1].CellType = RC1Type;
                              		this["CellObject"+RC2].CellType = RC2Type;
                              		this["CellObject"+RC1].Content = RC1Content;
                              		this["CellObject"+RC2].Content = RC2Content;
                              		_root["C"+RC1].gotoAndStop(RC1Type+1);
                              		_root["C"+RC2].gotoAndStop(RC2Type+1);
                              		//trace(RC1+"and"+RC2);
                              		//Randomize EmptyCells
                              	}
                              }
                              function EmptyCellRandomize() {
                              	for (b=1; b<=160; b++) {
                              		if (this["CellObject"+b].Content == "nothing") {
                              			EmptyCells[CellNum] = b;
                              			trace(EmptyCells[CellNum]+"is empty");
                              			CellNum++;
                              		}
                              	}
                              	for (i=1; i<=250; i++) {
                              		RC1 = random(126);
                              		RC2 = random(126);
                              		Temp = EmptyCells[RC1];
                              		EmptyCells[RC1] = EmptyCells[RC2];
                              		EmptyCells[RC2] = Temp;
                              	}
                              }
                              function AddItems() {
                              	for (i=1; i<=a; i++) {
                              		trace(EmptyCells[i-1]);
                              		R = EmptyCells[i-1];
                              		this["CellObject"+R].Content = ItemContent[i-1];
                              	}
                              	AddOrk();
                              	for (i=1; i<=160; i++) {
                              		if (this["CellObject"+i].Content == "princess" || this["CellObject"+i].Content == "baby" || this["CellObject"+i].Content == "spider" || this["CellObject"+i].Content == "knight" || this["CellObject"+i].Content == "gunner") {
                              			this["CellObject"+i].ContentType = "quest";
                              			trace(i+" : "+this["CellObject"+i].ContentType);
                              		}
                              	}
                              }
                              function EmptyArray(array) {
                              	for (e=0; e<=129; e++) {
                              		array[e] = 0;
                              	}
                              }
                              function AddOrk() {
                              	_root.attachMovie(MyOrk.OrkName, "player", 4000);
                              	for (i=1; i<=160; i++) {
                              		if (this["CellObject"+i].Content == "start") {
                              			_root["C"+i].Fog.gotoAndStop(2);
                              			_root.player._x = _root["C"+i]._x;
                              			_root.player._y = _root["C"+i]._y-10;
                              			CurrentCell = i;
                              		}
                              	}
                              }
                              //Map is Done here ! finish map
                              // now start with Moves!------------------------------------------------------------
                              _root.onMouseDown = function() {
                              	MX = _xmouse;
                              	MY = _ymouse;
                              	if (AbleToJump == true) {
                              		if(MX > player._x){
                              		_root.player._xscale =-100;
                              		}
                              		else{
                              			_root.player._xscale =100;
                              		}
                              		for (i=1; i<=160; i++) {
                              			if (_root["C"+i].hitTest(MX, MY)) {
                              				PlaceToGo = i;
                              				if (CanMove(PlaceToGo)) {
                              					if (this["CellObject"+i].Content == "nothing") {
                              						Jump(PlaceToGo);
                              					} else {
                              						EnterNewTile(PlaceToGo);
                              					}
                              				}
                              				trace(i+this["CellObject"+i].Content);
                              			}
                              		}
                              	} else {
                              		for (b=0; b<=8; b++) {
                              			if (_root.WarPanel["Weapon"+b].hitTest(MX, MY)) {
                              				trace(b);
                              				if (EnemHealth>0) {
                              					IHit();
                              				}
                              			} else if (_root.Store["Weapon"+b].hitTest(MX, MY)) {
                              				toBuy = b;
                              				Buy(toBuy);
                              			} else if (_root.Store.Done.hitTest(MX, MY)) {
                              				DoneBuying();
                              			}
                              		}
                              	}
                              };
                              _root.onMouseUp = function() {
                              	if(EnemHealth <=0){
                              		if (_root.ControlPanel.Inventory.hitTest(MX, MY)) {
                              			OpenInventory();
                              		}
                              	}
                              	if (AlreadyOpen == true) {
                              		for (i=0; i<=4; i++) {
                              			if (_root.Items["Item"+i].hitTest(MX, MY)) {
                              				UseItem(i);
                              			}
                              		}
                              	}
                              	for (i=0; i<=4; i++) {
                              		if (_root.Store["Item"+i].hitTest(MX, MY)) {
                              			trace("Item "+i);
                              			switch (i) {
                              			case 0 :
                              				BuyItem("health");
                              				break;
                              			case 1 :
                              				BuyItem("Balloon");
                              				break;
                              			case 2 :
                              				BuyItem("Binoculars");
                              				break;
                              			case 3 :
                              				BuyItem("mango");
                              				break;
                              			case 4 :
                              				BuyItem("map");
                              				break;
                              			}
                              		}
                              	}
                              	if (Mode == 1) {
                              		for (i=1; i<=160; i++) {
                              			if (_root["C"+i].hitTest(MX, MY)) {
                              				toSearch = i;
                              				BincSearch(toSearch);
                              			}
                              		}
                              	}
                              };
                              _root.onEnterFrame = function() {
                              	if (Timer != 0) {
                              		if (Timer == 1) {
                              			AbleToJump = true;
                              			Jump(PlaceToGo);
                              		}
                              		Timer--;
                              	}
                              	if (WarTimer != 0) {
                              		if (WarTimer == 1) {
                              			EnemyHit();
                              		}
                              		WarTimer--;
                              		trace(WarTimer);
                              	}
                              	if (ContentTimer != 0) {
                              		if (ContentTimer == 1) {
                              			UnShowContent();
                              		}
                              		ContentTimer--;
                              		if(EnemHealth >0){
                              		ContentTimer++;
                              		}
                              	}
                              	if (BincModeTimer != 0) {
                              		if (BincModeTimer == 1) {
                              			Mode = 1;
                              		}
                              		BincModeTimer--;
                              	}
                              	if (FlashTimer !=0){
                              		if (FlashTimer == 1) {
                              			for(i=0;i<=999;i++){
                              				Named = "Flashed"+i;
                              				_root[Named].removeMovieClip();
                              			}
                              		}
                              		FlashTimer--;
                              	}
                              };
                              _root.onMouseMove = function() {
                              	CheckStore();
                              };
                              function CanMove(placetogo) {
                              	Test = place+1;
                              	if (placetogo == CurrentCell+1 || placetogo == CurrentCell-1 || placetogo == CurrentCell+16 || placetogo == CurrentCell+17 || placetogo == CurrentCell+15 || placetogo == CurrentCell-16 || placetogo == CurrentCell-15 || placetogo == CurrentCell-17) {
                              		canmove = true;
                              	} else {
                              		canmove = false;
                              	}
                              	//repair jumping bug
                              	R = _root["C"+placetogo]._x-_root["C"+CurrentCell]._x;
                              	if (R>=100 || R<=-100) {
                              		canmove = false;
                              	}
                              	return (canmove);
                              }
                              function EnterNewTile(placetogo) {
                              	_root["C"+placetogo].Fog.gotoAndStop(2);
                              	Target = placetogo;
                              	switch (_root["CellObject"+placetogo].Content) {
                              	case "mango" :
                              		GetItem("mango");
                              		ShowContent(30, placetogo, "mango");
                              		Timer = 30;
                              		break;
                              	case "health" :
                              		Timer = 30;
                              		GetItem("health");
                              		ShowContent(30, placetogo, "testo");
                              		break;
                              	case "trap" :
                              		Timer = 30;
                              		ShowContent(30, placetogo, "trap");
                              		Trapped();
                              		break;
                              	case "money" :
                              		Timer = 30;
                              		ShowContent(30, placetogo, "money");
                              		GetMoney(100);
                              		break;
                              	case "gem" :
                              		GetMoney(1000);
                              		Timer = 30;
                              		ShowContent(30, placetogo, "gem");
                              		break;
                              	case "map" :
                              		Timer = 30;
                              		ShowContent(30, placetogo, "map");
                              		GetItem("map");
                              		break;
                              	case "Binoculars" :
                              		Timer = 30;
                              		ShowContent(30, placetogo, "Binco");
                              		GetItem("Binoculars");
                              		break;
                              	case "Balloon" :
                              		Timer = 30;
                              		ShowContent(30, placetogo, "Balloon");
                              		GetItem("Balloon");
                              		break;
                              	case "slim" :
                              		StartFight("slim");
                              		ShowContent(30, placetogo, "slim");
                              		break;
                              	case "rat" :
                              		StartFight("rat");
                              		ShowContent(30, placetogo, "rat");
                              		break;
                              	case "lion" :
                              		StartFight("lion");
                              		ShowContent(30, placetogo, "lion");
                              		break;
                              	case "bird" :
                              		StartFight("bird");
                              		ShowContent(30, placetogo, "bird");
                              		break;
                              	case "golem" :
                              		StartFight("golem");
                              		ShowContent(30, placetogo, "golem");
                              		break;
                              	case "swamp" :
                              		StartFight("swamp");
                              		ShowContent(30, placetogo, "swamp");
                              		break;
                              	case "market" :
                              		PrepareStore();
                              		break;
                              	case "start" :
                              		PrepareStore();
                              		break;
                              	case "princess" :
                              		Quest("princess");
                              		ShowContent(60, placetogo, "princess");
                              		this["CellObject"+placetogo].ContentType = "noItem";
                              		break;
                              	case "baby" :
                              		Quest("baby");
                              		this["CellObject"+placetogo].ContentType = "noItem";
                              		ShowContent(60, placetogo, "baby");
                              		break;
                              	case "knight" :
                              		Quest("knight");
                              		this["CellObject"+placetogo].ContentType = "noItem";
                              		ShowContent(60, placetogo, "knight");
                              		break;
                              	case "spider" :
                              		Quest("spider");
                              		this["CellObject"+placetogo].ContentType = "noItem";
                              		ShowContent(60, placetogo, "spider");
                              		break;
                              	case "gunner" :
                              		Quest("gunner");
                              		this["CellObject"+placetogo].ContentType = "noItem";
                              		ShowContent(60, placetogo, "gunner");
                              		break;
                              	}
                              	AbleToJump = false;
                              	//show content on map 
                              	//timer = 0;
                              }
                              function Jump(placetogo) {
                              	_root.player._x = _root["C"+placetogo]._x;
                              	_root.player._y = _root["C"+placetogo]._y-10;
                              	CurrentCell = PlaceToGo;
                              	if (this["CellObject"+PlaceToGo].Content != "market") {
                              		this["CellObject"+placetogo].Content = "nothing";
                              	}
                              	_root["C"+placetogo].Fog.gotoAndStop(2);
                              	MyOrk.Hunger -= CellTypePenalty[this["CellObject"+PlaceToGo].CellType];
                              	_root.ControlPanel.StageHunger = MyOrk.Hunger;
                              	if (MyOrk.Hunger<=0) {
                              		MyOrk.Health -= 10;
                              		_root.ControlPanel.StageHealth = MyOrk.Health;
                              		if (MyOrk.Health<=0) {
                              			Die();
                              		}
                              	}
                              }
                              function StartFight(Monst) {
                              	//_root.attachMovie("War", "War", 7000);
                              	//_root.War.Enemy.gotoAndStop(Monst);
                              	MonsEnemName = "init"+Monst;
                              	EnemHealth = this[MonsEnemName].Health;
                              	WarPanelPrepare();
                              	MusBattle.start();
                              	//Posationing("War");
                              	WarTimer = 30;
                              	if(player._x > _root["C"+PlaceToGo]._x){
                              		_root[NameC]._xscale =-100;
                              		trace("dada");
                              	}
                              }
                              function Posationing(clip) {
                              	_root[clip]._x = Stage.width/2;
                              	_root[clip]._y = Stage.height/2;
                              }
                              function WarPanelPrepare() {
                              	_root.WarPanel._visible = true;
                              	if(_root.player._x > 600){
                              		_root.WarPanel._x = 0;
                              	}else {
                              		_root.WarPanel._x = 700;
                              	}
                              	_root.WarPanel.EnemHealthe = EnemHealth;
                              	_root.WarPanel.Katana = MyOrk.Weapons[0];
                              	_root.WarPanel.Arrow = MyOrk.Weapons[1];
                              	_root.WarPanel.Fire = MyOrk.Weapons[2];
                              	_root.WarPanel.Dynamite = MyOrk.Weapons[3];
                              	_root.WarPanel.Gun = MyOrk.Weapons[4];
                              	_root.WarPanel.Spear = MyOrk.Weapons[5];
                              	_root.WarPanel.Bazooka = MyOrk.Weapons[6];
                              }
                              function init() {
                              	initslim = new Object();
                              	initslim.Name = "slim";
                              	initslim.Health = 30;
                              	initslim.Atk = 5;
                              	initslim.Katana = 20;
                              	initslim.Arrow = 15;
                              	initslim.Fire = 10;
                              	initslim.Dynamite = 15;
                              	initslim.Gun = 20;
                              	initslim.Spear = 15;
                              	initbird = new Object();
                              	initbird.Name = "bird";
                              	initbird.Health = 60;
                              	initbird.Atk = 10;
                              	initbird.Katana = 19;
                              	initbird.Arrow = 30;
                              	initbird.Fire = 5;
                              	initbird.Dynamite = 2;
                              	initbird.Gun = 25;
                              	initbird.Spear = 14;
                              	initlion = new Object();
                              	initlion.Name = "lion";
                              	initlion.Health = 50;
                              	initlion.Atk = 15;
                              	initlion.Katana = 20;
                              	initlion.Arrow = 15;
                              	initlion.Fire = 30;
                              	initlion.Dynamite = 20;
                              	initlion.Gun = 18;
                              	initlion.Spear = 4;
                              	initgolem = new Object();
                              	initgolem.Name = "golem";
                              	initgolem.Health = 100;
                              	initgolem.Atk = 10;
                              	initgolem.Katana = 2;
                              	initgolem.Arrow = 1;
                              	initgolem.Fire = 1;
                              	initgolem.Dynamite = 40;
                              	initgolem.Gun = 25;
                              	initgolem.Spear = 5;
                              	initrat = new Object();
                              	initrat.Name = "rat";
                              	initrat.Health = 40;
                              	initrat.Atk = 10;
                              	initrat.Katana = 15;
                              	initrat.Arrow = 15;
                              	initrat.Fire = 10;
                              	initrat.Dynamite = 15;
                              	initrat.Gun = 30;
                              	initrat.Spear = 10;
                              	initswamp = new Object();
                              	initswamp.Name = "swamp";
                              	initswamp.Health = 50;
                              	initswamp.Atk = 18;
                              	initswamp.Katana = 22;
                              	initswamp.Arrow = 20;
                              	initswamp.Fire = 15;
                              	initswamp.Dynamite = 20;
                              	initswamp.Gun = 12;
                              	initswamp.Spear = 25;
                              	//things
                              	_root.attachMovie("Items", "Items", 5000);
                              	_root.Items._x = 330;
                              	_root.Items._y = 360;
                              	_root.Items._visible = false;
                              }
                              [/LEFT]

                              لاحظوا التكرار المقيت وكثيرة المتغيرات ... وكذلك تكرار الفنكشنز بشكل متشابه كان يمكن اختصار الفنكشنز كثيراً لو أردت ... ولكن كل ما أواصل العمل تطلع لي مشاكل في الكود , وبدلاً من إصلاحه بكتابة كود أفضل أقوم بزيادة الكود بشكل أو بآخر على أمل أنني انتهيت !
                              النصف الثاني من الكود أقلّ "مقاتة" لأني بدأت أفكر قبل ما أكتب !!

                              عموماً بإذن الله مشروعي القادم سيكون متقن ... ادعو لي

                              تعليق

                              يعمل...
                              X