资源简介
一款基于SDL2的贪吃蛇项目,包含了SDL2_mixer和image,可以加载音乐和图片,具体的内容参照我的博客
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#define LEFT 1
#define UP 2
#define DOWN 3
#define RIGHT 4
#define MAX_X 53
#define MAX_Y 25
#define TILE_SIZE 20
#define width 1080
#define height 520
#define size 100
typedef struct game_node {
int x;
int y;
} node;
node circle;
node oldcircle;
node square;
node oldone[size];
node olderone[size];
//main functions:
void input(void);
bool update(void);
void next_square(void);
void gameover(void);
void init(void);
void render(void);
void draw_object( node object SDL_Texture *texture );
//new functions:
void start();
void generated();
void getnode(int number);
void record(node circle);
void oldrecord();
void judgement();
void speed_control();
void loadbgm();
void score();
//the variables
int dir;
bool eaten;
int number;
bool continued = true;
bool pause;
int delay;
int x_coory_coor;
int original_x_coororiginal_y_coor;
int levelcounts;
// game data
SDL_Window *openwindow = NULL;
SDL_Window *window = NULL;
SDL_Window *window2 = NULL;
SDL_Renderer* openrend = NULL;
SDL_Renderer* renderer = NULL;
SDL_Renderer* renderer2 = NULL;
SDL_Surface* white_surface = NULL;
SDL_Surface* square_surface = NULL;
SDL_Surface* circle_surface = NULL;
SDL_Surface* head_surface = NULL;
SDL_Texture* white_texture = NULL;
SDL_Texture* square_texture = NULL;
SDL_Texture* circle_texture = NULL;
SDL_Texture* head_texture = NULL;
int main(int argc char* argv[])
{
start();
delay = 10; //the original speed
loadbgm(); //load bgm;
init(); // setup the game data
render(); // render initial state
level = 10;
counts = 0;
SDL_Event event;
while( continued )// game loop
{
speed_control();
//control the speed.
while(SDL_PollEvent(&event))
{
if(event.type == SDL_QUIT)
{
continued = false;
}
else if(event.type == SDL_MOUSEBUTTONDOWN)
{
if(event.button.button == SDL_BUTTON_LEFT)
{
pause = true;
}
else if(event.button.button == SDL_BUTTON_RIGHT)
{
pause = false;
}
}
}
if(!pause){
input(); // keyboard input
if(counts%level == 0)
{
if( !update() ) // update and check
gameover(); // if finished
}
generated();
judgement();
render(); // render new state
SDL_Delay( delay );
}
counts++;
}
SDL_DestroyWindow(window);
score();
SDL_DestroyWindow(window2);
SDL_Quit();
return 0;
}
void start()
{
Mix_OpenAudio(44100 MIX_DEFAULT_FORMAT 220480);
Mix_Music* bgm1 = Mix_LoadMUS
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 70976 2018-04-25 11:31 eatsnake\bin\Debug\eatsnake.exe
文件 1151 2018-03-13 10:56 eatsnake\eatsnake.cbp
文件 19715 2018-05-21 14:21 eatsnake\eatsnake.depend
文件 360 2018-05-24 17:22 eatsnake\eatsnake.layout
文件 1684854 2018-01-31 19:27 eatsnake\images\background.bmp
文件 769174 2018-01-31 19:40 eatsnake\images\circle.bmp
文件 642698 2018-01-31 19:49 eatsnake\images\head.bmp
文件 144954 2018-04-07 15:49 eatsnake\images\lastimage.bmp
文件 786486 2018-01-26 21:29 eatsnake\images\openpage.bmp
文件 2657382 2018-01-31 19:54 eatsnake\images\square.bmp
文件 25810 2017-05-02 16:29 eatsnake\images\white.bmp
文件 387072 2017-10-23 23:32 eatsnake\libFLAC-8.dll
文件 380416 2017-10-23 23:32 eatsnake\libmodplug-1.dll
文件 339456 2017-10-23 23:32 eatsnake\libmpg123-0.dll
文件 47104 2017-10-23 23:32 eatsnake\libogg-0.dll
文件 196608 2017-10-23 23:32 eatsnake\libvorbis-0.dll
文件 63488 2017-10-23 23:32 eatsnake\libvorbisfile-3.dll
文件 1649 2017-10-23 23:32 eatsnake\LICENSE.FLAC.txt
文件 59 2017-10-23 23:32 eatsnake\LICENSE.modplug.txt
文件 41490 2017-10-23 23:32 eatsnake\LICENSE.mpg123.txt
文件 1625 2017-10-23 23:32 eatsnake\LICENSE.ogg-vorbis.txt
文件 12996 2018-04-25 11:31 eatsnake\main.c
文件 110044 2018-01-25 22:27 eatsnake\musics\1.wav
文件 3628048 2018-01-25 23:32 eatsnake\musics\bgm.mp3
文件 2468022 2018-01-31 18:46 eatsnake\musics\bgm2.mp3
文件 120044 2018-01-31 19:00 eatsnake\musics\lastbgm.wav
文件 31755 2018-04-25 11:31 eatsnake\obj\Debug\main.o
文件 996352 2017-10-24 03:29 eatsnake\SDL2.dll
文件 139264 2017-10-23 23:32 eatsnake\SDL2_mixer.dll
目录 0 2018-04-25 11:31 eatsnake\bin\Debug
............此处省略9个文件信息
相关资源
- Fast ANN神经网络算法源码
- 郝斌C语言详细笔记 附源码91146
- MFC+Access图书馆管理系统
- 谭浩强《C语言程序设计》考研考点讲
- 小甲鱼C语言课件
- C语言多关卡可视化推箱子
- 基于MSP430的DAC7811控制-C语言
- C语言链表应用的完整版ATM提款机
- 《单片机C语言程序设计实训100例——
- 西安电子科技大学软件工程C语言程序
- C语言点滴 赵岩著 pdf
- C语言邻接表结构实现克鲁斯卡尔算法
- C语言教程第五版
- 基于51单片机的正弦波发生器.rar
- 郝斌C语言源代码
- mcp4531 数字电位器c语言驱动和电路
- 用C语言写的串口调试精灵
- 《c程序设计试题汇编》谭浩强 电子版
- 数据结构(c语言版 严蔚敏著
- C语言读取BMP图像,并进行反色操作
- c语言程序设计pdf——谭浩强.pdf
- 有限元三角形与悬臂梁
- 谭浩强C程序设计第三版课件
- 基于C语言的数字图像处理
- 新手C语言MP3播放器
- C语言搭建的简单web服务器
- C语言课程设计 猜数字游戏 文档
- C语言课程设计 猜数字游戏
- 职工工资管理系统C语言
- 学生选课系统课程设计报告及代码
评论
共有 条评论