Ubuntu系统下写一个贪吃蛇C语言项目
时间: 2024-01-07 21:02:43 浏览: 182
好的,下面我给您介绍如何在Ubuntu系统下写一个贪吃蛇C语言项目。
1. 安装ncurses库
在终端输入以下命令安装ncurses库:
```
sudo apt-get install libncurses5-dev libncursesw5-dev
```
2. 创建项目文件夹
在终端中创建一个文件夹,用于存放项目文件:
```
mkdir snake
cd snake
```
3. 创建源文件
在项目文件夹中创建一个源文件main.c:
```
touch main.c
```
4. 编写源代码
在main.c文件中编写贪吃蛇游戏的源代码。以下是一个简单的示例:
```
#include <ncurses.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 50
#define HEIGHT 25
int main()
{
srand(time(NULL));
initscr();
curs_set(0);
noecho();
keypad(stdscr, TRUE);
int x = WIDTH / 2;
int y = HEIGHT / 2;
int dir_x = 1;
int dir_y = 0;
int food_x = rand() % WIDTH;
int food_y = rand() % HEIGHT;
int score = 0;
while (1)
{
clear();
mvprintw(0, 0, "Score: %d", score);
for (int i = 0; i < WIDTH + 2; i++)
mvprintw(1, i, "-");
for (int i = 0; i < HEIGHT; i++)
{
mvprintw(i + 2, 0, "|");
mvprintw(i + 2, WIDTH + 1, "|");
}
for (int i = 0; i < WIDTH + 2; i++)
mvprintw(HEIGHT + 2, i, "-");
mvprintw(y, x, "O");
mvprintw(food_y, food_x, "*");
refresh();
int ch = getch();
switch (ch)
{
case KEY_LEFT:
dir_x = -1;
dir_y = 0;
break;
case KEY_RIGHT:
dir_x = 1;
dir_y = 0;
break;
case KEY_UP:
dir_x = 0;
dir_y = -1;
break;
case KEY_DOWN:
dir_x = 0;
dir_y = 1;
break;
}
x += dir_x;
y += dir_y;
if (x < 1 || x > WIDTH || y < 1 || y > HEIGHT)
break;
if (x == food_x && y == food_y)
{
food_x = rand() % WIDTH;
food_y = rand() % HEIGHT;
score++;
}
napms(100);
}
endwin();
return 0;
}
```
5. 编译代码
在终端中输入以下命令编译代码:
```
gcc main.c -lncurses -o snake
```
6. 运行程序
在终端中输入以下命令运行程序:
```
./snake
```
现在您就可以在Ubuntu系统下玩贪吃蛇游戏了!
阅读全文