写一段贪食蛇JAVA代码
时间: 2023-02-26 07:28:58 浏览: 88
贪吃蛇 java 代码
public class SnakeGame {
public static void main(String[] args) {
// 定义一个20*20的二维数组来存储游戏的地图
int[][] map = new int[20][20];
// 定义贪食蛇的身体
int[] snake = new int[200];
// 定义贪食蛇的初始长度
int snakeLength = 3;
// 定义贪食蛇的头部
int head = 0;
// 定义贪食蛇的尾部
int tail = 0;
// 定义贪食蛇的移动方向
int dir = 0;
// 定义食物的位置
int food = 0;
// 定义游戏分数
int score = 0;
// 定义游戏是否结束
boolean isGameOver = false;
// 初始化贪食蛇的位置
for (int i = 0; i < snakeLength; i++) {
snake[i] = i;
}
// 游戏运行循环
while (!isGameOver) {
// 生成食物
food = generateFood();
// 更新贪食蛇的位置
head = updateSnake(snake, dir, head, tail);
// 判断是否吃到食物
if (head == food) {
// 增加分数
score++;
// 增加贪食蛇的长度
snakeLength++;
// 更新贪食蛇的尾部
tail++;
// 游戏继续
continue;
}
// 判断是否碰到边界
if (head < 0 || head > 19) {
// 游戏结束
isGameOver = true;
}
// 判断是否撞到自身
for (int i = 0; i < snakeLength; i++) {
if (i != tail && head == snake[i]) {
// 游戏结束
isGameOver = true;
}
}
}
// 结束游戏
gameOver(score);
}
// 生成食物的方法
public static int generateFood() {
// 生成随机食物位置
int food = (int) (Math.random() * 20);
// 返回食物位置
return food;
}
// 更新贪食蛇的位置
public static int updateSnake(int[] snake, int dir, int head, int tail) {
// 根据用户控制的方向更新头部位置
if (dir == 0) {
head--;
} else if (dir == 1) {
head++;
}
// 更新贪食蛇的位置
snake[tail] = head;
// 返回头部位置
return head;
}
// 结束游戏
public static void gameOver(int score) {
System.out.println("Game Over! Your score is " + score);
}
}
阅读全文