النتائج 1 إلى 1 من 1

الموضوع: مساعدة في لعبة "breakout" لغة الجافا

  1. #1
    التسجيل
    13-05-2012
    المشاركات
    3

    مساعدة في لعبة "breakout" لغة الجافا

    السلام عليكم

    اني محتاج مساعدة في لعبتي البسيطة "breakout" في لغة الجافا

    اكيد الكل يعرف شنو هاي اللعبة والي مايعرف هاي صورة للعبة




    اللعبة كوده بسيط جدا وهي شارفت على الانتهاء بس في ثلاث مشاكل فيها

    اولا المستطيلات التي يجب ان تختفي واحد بعد واحد لا تعمل عندي وانما تختفي كلها بضربة واحدة

    ثانيا حركة الكرة نفسها لاتتغير ابدا

    ثالثا الكرة فيها مشكلة تتحرك اولا بشكل صحيح ثم ترجع فق الى الخلف

    هذا هو كود اللعبة

    كود:
    public class Brick {
        int xPos,yPos;
        boolean on;
    }

    كود:
    import java.awt.*;
    import java.awt.event.*;
    
    
    public class test extends Canvas {
    
    
    
    
        int x = 200 , y = 350, X = 235 , Y = 335;
        int bollyhast = -1, bollxhast =1;
        int n ;
    
    
        Graphics buffer;
        Image bufferI;
    
    
        Brick[] brickor = new Brick[12];
    
    
        Color[] farg = new Color[12];
    
    
        public test () {
            setPreferredSize(new Dimension(480,480));
    
    
            for (int n=0; n<2; n++) {
                for (int m = 0; m<6; m++) {
                    brickor[n*6+m] = new Brick();
                    brickor[n*6+m].xPos = m*80;
                    brickor[n*6+m].yPos = n*12;
                }
            }
    
    
        }
    
    
        public void update(Graphics g) {
            paint(g);
    
    
        }
    
    
        public void paint(Graphics yta) {
            if (buffer == null) {
                bufferI = createImage(480,480);
                buffer = bufferI.getGraphics();
            }
            buffer.setColor(Color.BLACK);
            buffer.fillRect(0,0,480,480);
    
    
            // Ritar ut alla block
            if (brickor[n].on == true) {
                for (int n = 0; n<12; n++) {
    
    
                    int R = (int)(Math.random()*256);
                    int B = (int)(Math.random()*256);
                    int G = (int)(Math.random()*256);
    
    
                    farg[n] = new Color(R,B,G);
    
    
                    buffer.setColor(farg[n]);
                    buffer.fillRect(brickor[n].xPos,brickor[n].yPos,78,10);
                }
            }
    
    
            // H?r skriv koden f?r att rita ut "pinnen"
    
    
    
    
                buffer.setColor(Color.BLUE);
                buffer.fillRect(x,y,80,10);
    
    
    
    
    
    
            //h?r ?r koden f?r att rita ut "bollen"
    
    
                buffer.setColor(Color.RED);
                buffer.fillOval(X,Y,15,15);
    
    
    
    
                yta.drawImage(bufferI,0,0,null);
        }
    
    
    }


    كود:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    
    public class breakout extends JFrame implements KeyListener
    {
    
    
        test kludd = new test();
        Rectangle mig, boll;
        Rectangle[] bricks = new Rectangle[12];
    
    
        int n;
    
    
        public breakout()
        {
            setTitle("BreakOut");
            //test kludd = new test();
            add(kludd);
            pack();
            setVisible(true);
    
    
            kludd.addKeyListener(this);
            addKeyListener(this);
    
    
    
    
            kludd.brickor[n].on = true;
    
    
    
    
            mig = new Rectangle(kludd.x,kludd.y,80,10);
            boll = new Rectangle(kludd.X,kludd.Y,15,15);
    
    
            for(int m = 0; m<12; m++) {
                bricks[n] = new Rectangle(kludd.brickor[n].xPos,kludd.brickor[n].yPos,78,10);
            }
    
    
            // GAMELOOP
            while (true) {
                kludd.Y += kludd.bollyhast;
                kludd.X += kludd.bollxhast;
    
    
                if (kludd.X > (480-15)) kludd.bollxhast = -kludd.bollxhast;
                if (kludd.X < 0) kludd.bollxhast = -kludd.bollxhast;
                if (kludd.Y < 0) kludd.bollyhast = -kludd.bollyhast;
                if (kludd.Y > (480-15)) System.out.println("Game over!");
    
    
                boll.setLocation(kludd.X,kludd.Y);
    
    
                if (boll.intersects(mig)) {
    
    
                    kludd.bollxhast = (-1);
                    kludd.bollyhast = (-1);
                    System.out.println("Krock!");
            }
    
    
                if (boll.intersects(bricks[n])) {
    
    
                    kludd.brickor[n].on = false;
                    System.out.println("Yeah");
    
    
    
    
    
    
                }
    
    
    
    
    
    
    
    
    
    
                kludd.repaint();
    
    
                try {
                    Thread.sleep(10);
                }
                catch (Exception e) {
                }
    
    
            }
    
    
        }
    
    
        public void keyPressed(KeyEvent e) {
    //        System.out.println(e);
    
    
            System.out.println(e.getKeyCode());
    
    
            if (e.getKeyCode() == 37){
    
    
                kludd.x = kludd.x-10;
            }
            if(e.getKeyCode() == 39){
    
    
                kludd.x = kludd.x+10;;
            }
    
    
            if   (kludd.x>480-80)
            {
            kludd.x = 480-80;
            }
    
    
            if   (kludd.x<0)
            {
    
    
            kludd.x =0;
            }
    
    
            mig.setLocation(kludd.x,kludd.y);
        }
    
    
        public void keyReleased(KeyEvent e) {
    
    
           System.out.println("Key Released!!!");
    
    
    
    
        }
    
    
    
    
    
    
    
    
    
    
        public void keyTyped(KeyEvent e) {
    
    
        }
    
    
    
    
    
    
    
    
        public static void main(String[] arg)
        {
            new breakout();
    
    
        }
    }
    الي عند ه خبرة في الجافا خلي مايبخل علينا بمعلوماته

    شكرا

    اخوكم سيمثان
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة breakout game.PNG‏  

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •