package Snake;
import javax.swing.ImageIcon;
import Resources.ReadyImages;
public class Snake implements Runnable { // 创建一个蛇类
public int snakeLength; // 蛇的长度
public int[] snakeX = new int[600]; // 蛇的x坐标
public int[] snakeY = new int[500]; // 蛇的y坐标
public String action = "R"; //蛇的动作,默认是向右
public ImageIcon headimages = ReadyImages.headrightIcon;//头部的图片
public Snake() { // 初始化蛇的位置
// 每一个格子都有(25高25宽)
snakeLength = 3;
snakeX[0] = 100;snakeY[0] = 100;
snakeX[1] = 75;snakeY[1] = 100;
snakeX[2] = 50;snakeY[2] = 100;
}
// 重写run方法,
@Override
public void run() {
for (int i = snakeLength - 1; i > 0; i--) { // 除了头部其他的都向右移
snakeX[i] = snakeX[i - 1];
snakeY[i] = snakeY[i - 1];
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/** 吃的动作 */
public boolean eatfood(int foodx, int foody) {
// 吃到食物
if (foodx == snakeX[0] && foody == snakeY[0]) {
snakeLength ; // 身体加1
return true;
}
return false;
}
/**吃到自己*/
public boolean eatmyself() {
for (int i = 1; i < snakeLength; i ) {
if (snakeX[0] == snakeX[i] && snakeY[0] == snakeY[i]) {
return true;
}
}
return false;
}
/**蛇的边界问题*/
public void border() {
if (action == "L") { // 判断蛇的动作
snakeX[0] = snakeX[0] - 25;
if (snakeX[0] < 25) {
snakeX[0] = 600;
}
headimages = ReadyImages.headleftIcon;
} else if (action == "R") {
snakeX[0] = snakeX[0] 25;
if (snakeX[0] > 600) {
snakeX[0] = 25;
}
headimages = ReadyImages.headrightIcon;
} else if (action == "U") {
snakeY[0] = snakeY[0] - 25;
if (snakeY[0] < 75) {
snakeY[0] = 400;
}
headimages = ReadyImages.headupIcon;
} else if (action == "D") {
snakeY[0] = snakeY[0] 25;
if (snakeY[0] > 400) {
snakeY[0] = 75;
}
headimages = ReadyImages.headdownIcon;
}
}
}
资源文件列表
贪吃蛇游戏/snakes.jar , 12225
贪吃蛇游戏/Snake/.classpath , 301
贪吃蛇游戏/Snake/.project , 381
贪吃蛇游戏/Snake/.settings/org.eclipse.jdt.core.prefs , 598
贪吃蛇游戏/Snake/bin/Controller/GameKeyListener.class , 1255
贪吃蛇游戏/Snake/bin/GamePanel/GamePanel.class , 2853
贪吃蛇游戏/Snake/bin/Resources/ReadyImages.class , 1249
贪吃蛇游戏/Snake/bin/Snake/Snake.class , 1840
贪吃蛇游戏/Snake/bin/StartGame/Start.class , 827
贪吃蛇游戏/Snake/src/Controller/GameKeyListener.java , 1174
贪吃蛇游戏/Snake/src/GamePanel/GamePanel.java , 2788
贪吃蛇游戏/Snake/src/Resources/ReadyImages.java , 1058
贪吃蛇游戏/Snake/src/Snake/Snake.java , 2102
贪吃蛇游戏/Snake/src/StartGame/Start.java , 633
