java蛇游戏(带圆圈)

时间:2018-05-07 14:56:32

标签: java

我正在尝试用java制作一个蛇游戏,但我想做的事情不是一个普通的蛇游戏。我想做一个蛇游戏,蛇(玩家)可以去各个方向(比如在slither.io游戏中)。 而我正试图从圈子里制作一条蛇。

This is how snake is supposed to look and move

我正在尝试使用Graphics2D,我成功画了一个圆圈。 但我无法让很多圈子与每个人联系在一起。 (我尝试使用arrayList)。

同样在古典蛇游戏中,我想在吃食物时让蛇长大。 但是,我需要添加更多圈子,而不是延长它。

Snake Growing

我为圆圈编写的代码(脚本名称也是" Circle");

    public void drawToScreen(Graphics2D g) 
    {
        g.setColor(GameConstants.BORDER_COLOR);
        BasicStroke stroke = new BasicStroke(5);
        g.setStroke(stroke);
        Ellipse2D border = new Ellipse2D.Double(getX()-getSize()/2, getY()-getSize()/2, getSize(), getSize());
        g.draw(border);

        g.setColor(getColor());
        Ellipse2D shape = new Ellipse2D.Double(getX()-getSize()/2, getY()-getSize()/2, getSize(), getSize());
        g.fill(shape);

        setBounds(shape.getBounds());

        // Here is for the username
        g.setColor(Color.BLACK);
        g.setFont(new Font("Arial", Font.PLAIN, 14));
        int width = g.getFontMetrics().stringWidth(getName());
        g.drawString(getName(), (int)(getX()-width/2), (int)(getY()+5));
    }

我有另一个脚本(" GamePanel")我设置了游戏,在该脚本中我称这个代码为函数。

private Circle player;
player = new Circle(GameConstants.START_SIZE, spawnPoint.getX(), spawnPoint.getY(), randomColor(), GameConstants.START_VELOCITY, name);
player.drawToScreen(g2);        
g2.translate(viewX, viewY);

1 个答案:

答案 0 :(得分:0)

我不知道Java中的“脚本”是什么。

但是这里是游戏的源代码,它们具有非常相似的方面,你可以从中吸取教训。

我让敌人变得聪明,但是你会看到如何在这段代码中做你想要的。

The Great Escape