الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في كود لعبة Alien

مغلق
بدأه لحظة شوق في 25 أبريل 2006 · 6 رد · 523 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

شباب عندي مشكلة

انا يالس اخذ كوورس بالجامعة عن Java Obejct Oriented design and programming

عندي بروجكت لازم اسويه عن لعبة SpaceInvader بس مشكلتي في:

1- انه مسوي لعبه بس يوم اشغل اللعبه ال Alien يتحركون خارج اطار اللعبه

يعني يتحركوون لليمين فقط و بدون رجووع لمحتوى اللعبه فقط

شو الكوود اللي يساااعد اني احركهم ضمن اطار اللعبه فقط

2- المشكلة الثانية.. يوم اطلق الرصاصة من الصاروخ عشان اتصيب ال Alien اذا ضغطت على مسافة الرصاصة بتطلع صوب الهدف

بس اذا ضغطت بسرعه على مسافة مره ثانيه تختفي الرصاصة و تطلع من جديد.. شو الحل..؟؟

شباااب محتاااج مساعدتكم لانه تسليم البروجكت يوم الجمعـــة

انا حااولت فيه نص يوم و مااعرفت اعدل المشكله

فتسون خير فيني و حد يخبرني الحل.. ومشكوورين

#2

لا يستطيع أحد مساعدتك إن لم تضع الكود .. عليك إرفاقه مع الرد

فحنوت ألثم جرحه الرعافَ فانتكأت جراحي..

وهمت على خدي الدموع فقلت يا روحي وراحي..

هلّا رحمتَ قلوبنا .. وعدلت عن هذا الرّواحِ ِ ..؟

فأجابني البطل المسجّى هازئاً بيَ .. باقتراحي

كفكف دموعك ليس في عبراتك الحرّى ارتياحي

هذي سبيلي .. إن صدقت محبتي .. فاحمل سلاحي

Sun Certified Java Programmer

#3

هلا شباااب الكوود طويل باللنسبه للعبه

هل احطه بملف و الا كيف...؟؟؟

اتريا ردكم بسرررررعه

#4

سووري شباااب انا توصلت لبعض الحل .. اقرو الموضوع من هني

السلام عليكم

شباب عندي مشكلة

انا يالس اخذ كوورس بالجامعة عن Java Obejct Oriented design and programming

عندي بروجكت لازم اسويه عن لعبة SpaceInvader بس مشكلتي في:

1- أبا اغير كود من طريقة If الى طريقة Switch عشان تحرك الالين يمين و شمال

2- المشكلة الثانية.. يوم اطلق الرصاصة من الصاروخ عشان اتصيب ال Alien اذا ضغطت على مسافة الرصاصة بتطلع صوب الهدف

بس اذا ضغطت بسرعه على مسافة مره ثانيه تختفي الرصاصة و تطلع من جديد.. شو الحل..؟؟

شباااب محتاااج مساعدتكم لانه تسليم البروجكت يوم الجمعـــة

انا حااولت فيه نص يوم و مااعرفت اعدل المشكله

فتسون خير فيني و حد يخبرني الحل.. ومشكوورين

       if( e.getKeyCode() == KeyEvent.VK_SPACE )
       {
           //createBullet();
           bullet = new Bullet(ship.getXPos(), ship.getYPos());
           bullet.setMovingUp( true );
       }

هذا كوود الرصااصه يوم تطلع يعني كل ماضغط مساافة تطلع رصاصه يديده و تختفي الجديمه

      public void alienMove()
    {
        
        for(Alien alien: aliens)
       {
            if( alien.getXPos() >= 395)
            {
                for(Alien alien2: aliens)
                {   
                    alien2.setMovingRight( false );
                    alien2.setMovingLeft( true );
                    alien2.update();
                }
                break;
            }
            
            if( alien.getXPos() <= 5)
            {
                for(Alien alien2: aliens)
                {   
                    alien2.setMovingRight( true );
                    alien2.setMovingLeft( false );
                    alien2.update();
                }
                break;
            }
            
            alien.update();
   	 }
       }

هذا كود الايلين بطريقه if اباه بطريقة ال switch

اتريا ردكم شباااب و مشكوورين

تم تعديل هذه المشاركة بواسطة لحظة شوق في 26 أبريل 2006 في 09:59

#5

ياعزيزي لحظة شوق...

  if( e.getKeyCode() == KeyEvent.VK_SPACE )
      {
          //createBullet();
          bullet = new Bullet(ship.getXPos(), ship.getYPos());
          bullet.setMovingUp( true );
      }

يجب أن تكون كالتالي:

  if( e.getKeyCode() == KeyEvent.VK_SPACE  && ! bullet.getMovingup() )
      {
          //createBullet();
          bullet = new Bullet(ship.getXPos(), ship.getYPos());
          bullet.setMovingUp( true );
      }

خلينا نتكلم بالبلدي:

لأنك ما حددت للـ Method إذا الرصاصة لسا جالسة تتحرك لاتطلق لأنه الحين على كل حال جالس يسوي رصاصة جديدة ويطلق سواء في رصاصة لسا تمشي أو لا

الحل:

بافتراض إن في Method في Bullet Class

اسمها getMovingUp() تعلمني إذا الرصاصة لسا جالسة تتحرك أولا الـ Code الي فوق راح يشتغل

public Money getRich(String name){
return new Money(1,000,000,000 );
}
#6

red_knight

مشكور الغالي عل كووود

بس جربته و ماااشغتل :(

#7

العفو

بس ماعملتني وش الخطأ الي صار معاك ولاعلمتني إن كان في Method اسمها getMovingUp تعلمني إن الرصاصة

تتحرك أولا،،، أتمنى أن تطلعنا أكثر على تفاصيل الخطأ وتعطيني الـ Code تبع الـ Bullet

public Money getRich(String name){
return new Money(1,000,000,000 );
}

هذا الموضوع مغلق.

مواضيع مشابهة