prossing 简单贪吃蛇小游戏代码
时间: 2024-06-15 18:09:45 浏览: 12
Processing是一种基于Java语言的开源编程语言和集成开发环境(IDE),主要用于可视化艺术、交互设计和创意编程。下面是一个简单的贪吃蛇小游戏的Processing代码示例:
```java
int gridSize = 20; // 网格大小
int snakeSize = 1; // 蛇的初始长度
int direction = 1; // 蛇的初始移动方向(1:向右,2:向下,3:向左,4:向上)
int[] snakeX = new int[gridSize * gridSize]; // 蛇身体的x坐标
int[] snakeY = new int[gridSize * gridSize]; // 蛇身体的y坐标
int foodX, foodY; // 食物的坐标
void setup() {
size(400, 400);
frameRate(10); // 设置帧率
// 初始化蛇的位置
snakeX[0] = gridSize / 2;
snakeY[0] = gridSize / 2;
// 随机生成食物的位置
generateFood();
}
void draw() {
background(0);
// 移动蛇的身体
for (int i = snakeSize - 1; i > 0; i--) {
snakeX[i] = snakeX[i - 1];
snakeY[i] = snakeY[i - 1];
}
// 根据移动方向更新蛇头的位置
if (direction == 1) {
snakeX[0]++;
} else if (direction == 2) {
snakeY[0]++;
} else if (direction == 3) {
snakeX[0]--;
} else if (direction == 4) {
snakeY[0]--;
}
// 检查蛇是否吃到食物
if (snakeX[0] == foodX && snakeY[0] == foodY) {
snakeSize++;
generateFood();
}
// 绘制蛇的身体
for (int i = 0; i < snakeSize; i++) {
fill(255);
rect(snakeX[i] * gridSize, snakeY[i] * gridSize, gridSize, gridSize);
}
// 绘制食物
fill(255, 0, 0);
rect(foodX * gridSize, foodY * gridSize, gridSize, gridSize);
// 检查游戏是否结束
if (snakeX[0] < 0 || snakeX[0] >= gridSize || snakeY[0] < 0 || snakeY[0] >= gridSize) {
gameOver();
}
for (int i = 1; i < snakeSize; i++) {
if (snakeX[i] == snakeX[0] && snakeY[i] == snakeY[0]) {
gameOver();
}
}
}
void keyPressed() {
if (keyCode == UP && direction != 2) {
direction = 4;
} else if (keyCode == DOWN && direction != 4) {
direction = 2;
} else if (keyCode == LEFT && direction != 1) {
direction = 3;
} else if (keyCode == RIGHT && direction != 3) {
direction = 1;
}
}
void generateFood() {
foodX = int(random(gridSize));
foodY = int(random(gridSize));
}
void gameOver() {
// 游戏结束的处理逻辑
// ...
}
```
这段代码实现了一个简单的贪吃蛇小游戏,使用Processing编写。游戏中,蛇可以通过键盘上下左右键来控制移动方向,目标是吃到食物并尽可能长大,当蛇撞到墙壁或自己的身体时游戏结束。