用C语言编写贪吃蛇程序时,如何绘制蛇函数,怎么绘制蛇头和蛇身,
时间: 2024-03-23 10:38:32 浏览: 74
在C语言中,可以使用图形库来绘制贪吃蛇的图形。常用的图形库有graphics.h和SDL等。
使用graphics.h库来绘制蛇,可以使用以下代码:
```c
#include <graphics.h>
void drawSnake(int x[], int y[], int length) {
setfillstyle(SOLID_FILL, RED); //设置蛇的颜色为红色
for (int i = 0; i < length; i++) {
bar(x[i], y[i], x[i]+10, y[i]+10); //绘制蛇身,每个蛇身大小为10x10
}
setfillstyle(SOLID_FILL, LIGHTRED); //设置蛇头的颜色为浅红色
bar(x[0], y[0], x[0]+10, y[0]+10); //绘制蛇头
}
```
上述代码中,drawSnake函数需要传入蛇的x坐标数组、y坐标数组和蛇的长度。在函数内部,使用setfillstyle函数设置蛇的颜色和蛇头的颜色,然后使用for循环遍历蛇的每一节身体,用bar函数绘制每一节蛇身,最后用bar函数绘制蛇头。
需要注意的是,使用graphics.h库需要在编译选项中加入-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32,否则会出现链接错误。
如果使用SDL库来绘制贪吃蛇的图形,可以使用以下代码:
```c
#include <SDL.h>
void drawSnake(SDL_Renderer* renderer, SDL_Rect snake[], int length) {
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); //设置蛇的颜色为红色
for (int i = 0; i < length; i++) {
SDL_RenderFillRect(renderer, &snake[i]); //绘制蛇身
}
SDL_SetRenderDrawColor(renderer, 255, 128, 128, 255); //设置蛇头的颜色为浅红色
SDL_RenderFillRect(renderer, &snake[0]); //绘制蛇头
}
```
上述代码中,drawSnake函数需要传入SDL_Renderer对象、存储蛇身和蛇头矩形的数组以及蛇的长度。在函数内部,使用SDL_SetRenderDrawColor函数设置蛇的颜色和蛇头的颜色,然后使用for循环遍历蛇的每一节身体,用SDL_RenderFillRect函数绘制每一节蛇身,最后用SDL_RenderFillRect函数绘制蛇头。
阅读全文