java贪吃蛇豆子和蛇的类
导读: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
