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

snake game in java

بدأه منة اللة في 29 مايو 2011 · 4 رد · 1,795 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا بحاول اعمل لعبة التعبان بس فى شوية حاجات وقفة معايا

ا-انا عملت ان التعبان كل ما ياكل حجمة يزيد فلما بحرك راس التعبان بيحرك جسمة معاة ككتلة وحدة يعنى مش بيتنى

وشكرا

#2
http://zetcode.com/tutorials/javagamestutorial/snake/
2
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

الفكرة بسيطة ، الثعبان مكون من عدة أجزاء ( لنفرض أن أجزاء الثعبان عبارة عن نقاط Point ، من أجل التسهيل ) ، كلما تحرك رأس الثعبان ، يتغيّر موقع " الجزء" الذي قبله إلى مكان الرأس . وهكذا تستمر سلسلة تغيير مواقع أجزاء الثعبان حتى نصل إلى الذيل .

لو فرضنا أن أجزاء الثعبان عبارة عن نقاط ، و اللاعب يريد تحريك الثعبان إلى اليسار ، فالخوارزمية ستبدو هكذا :

class SnakePoint{
	public int x;
	public int y;
}
Vector snake = new Vector();

// create snake body ...
// snake.add(new SnakePoint(10,20) ) ;
//....

// when LEFT-key pressed

SnakePoint head = snake.get(0); // get the first point => head .
head.x = head.x - 10 ; // move to left ..
head.y = head.y ; // no change on Y

// loop throw snake body parts to reposition them .
for(int i=1;i<snake.size();i++){
	snake.set(i,snake.get(i-1));// snake = snake[i-1]

}

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

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

انا عملت كل الفنكشن اللىى هحتاجها فى اللعبة دى وبردو لسة مش عارفة اخلية يكبر ودة الكود بتاعى اللى عايزة اكمل على اساسو اللعبة

public class ever extends JPanel implements KeyListener{
    public int xs,ys,xa,ya;
    public int apple;
    private int size=20;
    public int highscore=20;
    public int xx=400,yy=400;

    public void startgame()
    {

        xs=10;
        ys=10;
        apple=0;
        randompositionofapple();
    }


    public void keyPressed(KeyEvent e)
    {
       if(e.getKeyCode()==KeyEvent.VK_UP )
      {
          ys-=1;
          repaint();
      }
      if(e.getKeyCode()==KeyEvent.VK_DOWN)
      {
          ys+=1;
          repaint();
      }
      if(e.getKeyCode()==KeyEvent.VK_LEFT)
      {
          xs-=1;
          repaint();
      }
      if(e.getKeyCode()==KeyEvent.VK_RIGHT)
      {
          xs+=1;
          repaint();
      }
       if(e.getKeyCode()==KeyEvent.VK_A)
       {
          System.exit(0);
       }
        eatingapple();
        killingsnake();
      repaint();
    }
    public void keyReleased(KeyEvent e) {repaint();}
    public void keyTyped(KeyEvent e) { repaint(); }

    @Override
    public void paintComponent(Graphics g)
    {
      super.paintComponent(g);
      g.setColor(Color.green);//snake head
      g.fillRect(xs,ys, size, size);
      g.setColor(Color.red);//food
      g.fillRect(xa, ya, size, size);

      //g.setColor(Color.green);//snake body
     /* for(int i=0;i<apple;i++)
      {   
      }*/
      g.setColor(Color.black);
      g.drawRect(0, 0, xx, yy);
      repaint();
    }

      public void randompositionofapple()
    {
        Random rand=new Random();
        xa=20+rand.nextInt(350);
        ya=20+rand.nextInt(350);
    }
      public void addapple()
    {
        apple++;
        if(apple==highscore)
        {
             JOptionPane.showConfirmDialog(null, "your score=\n"+(apple)+"\n it is the best grade\n", "YOU WIN", JOptionPane.PLAIN_MESSAGE);
             System.exit(0);
        }
    }

   public void eatingapple()    {

    if ((xs == xa  && ya == ys))
        {
            addapple();
            randompositionofapple();
        }
   }
      public void killingsnake()
    {                                 //7dod el panel
        if(xs<0 ||xs+20>=xx ||ys<0 ||ys+20>=yy)
        {
             JOptionPane.showConfirmDialog(null, "your score=\n"+(apple)+"\nGame over\n", "sorrrrrrrrrry", JOptionPane.PLAIN_MESSAGE);
            System.exit(0);
        }
    }

وشكرا على الاهتمام

تم تعديل هذه المشاركة بواسطة منة اللة في 6 يونيو 2011 في 18:12

#5
منة الله كتب:

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

انا بحاول اعمل لعبة التعبان بس فى شوية حاجات وقفة معايا

ا-انا عملت ان التعبان كل ما ياكل حجمة يزيد فلما بحرك راس التعبان بيحرك جسمة معاة ككتلة وحدة يعنى مش بيتنى

وشكرا

اذا كنت تريد مساعد اني استطيع المساعده omarnajh

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