首页后端开发JAVAjava贪吃蛇豆子和蛇的类

java贪吃蛇豆子和蛇的类

时间2023-11-11 07:09:03发布访客分类JAVA浏览212
导读:Java贪吃蛇游戏是一款经典的游戏,游戏规则是控制一条蛇不断地吃豆子增长身体,同时避免撞到自己或墙壁。本篇文章将介绍Java实现贪吃蛇游戏中豆子和蛇的类设计。豆子类public class Bean {private int x;priva...

Java贪吃蛇游戏是一款经典的游戏,游戏规则是控制一条蛇不断地吃豆子增长身体,同时避免撞到自己或墙壁。本篇文章将介绍Java实现贪吃蛇游戏中豆子和蛇的类设计。

豆子类

public class Bean {
    private int x;
    private int y;
    private int size;
public void Bean(int x, int y, int size) {
    this.x = x;
    this.y = y;
    this.size = size;
}
public void draw(Graphics2D g2d) {
    g2d.setColor(Color.yellow);
    g2d.fillRect(x, y, size, size);
}
public int getX() {
    return x;
}
public int getY() {
    return y;
}
public int getSize() {
    return size;
}
}

在豆子类中,我们定义了豆子的位置和大小,并且定义了初始化豆子的方法和绘制豆子的方法。其中,我们使用Graphics2D来画出豆子的图形,并且在getX、getY和getSize方法中返回豆子的属性值。

蛇类

public class Snake {
    private LinkedListbody;
    private int size;
    private int direction;
public void Snake(int size, int direction, Point origin) {
    body = new LinkedList();
    body.add(origin);
    this.size = size;
    this.direction = direction;
}
public void move() {
    Point head = new Point(getHead());
switch(direction) {
    case 0: head.translate(0, -size);
    break;
    case 1:head.translate(size, 0);
    break;
    case 2:head.translate(0, size);
    break;
    case 3:head.translate(-size, 0);
    break;
}
    body.addFirst(head);
    body.removeLast();
}
public void draw(Graphics2D g2d) {
for(Point p : body) {
    g2d.setColor(Color.green);
    g2d.fillRect(p.x, p.y, size, size);
}
}
public boolean checkCollision() {
    Point head = body.getFirst();
    int x = head.x;
    int y = head.y;
if(x= 600 || y= 600) {
    return true;
}
    for(int i = 1;
     i

在蛇类中,我们定义了蛇的身体、大小和移动方向,并且定义了初始化蛇的方法、蛇移动的方法、绘制蛇的方法和检查蛇是否撞墙或撞到自己的方法。其中,在移动蛇的方法中,我们使用了LinkedList来维护蛇的身体,并且根据当前的方向更新蛇头的位置。在检查蛇是否撞墙或撞到自己的方法中,我们判断蛇头是否撞到墙壁或蛇身体。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java贪吃蛇豆子和蛇的类
本文地址: https://pptw.com/jishu/534197.html
java调试和控制台运行不一致 java账务类的编写和测试

游客 回复需填写必要信息