資源簡介
一款基于SDL2的貪吃蛇項目,包含了SDL2_mixer和image,可以加載音樂和圖片,具體的內(nèi)容參照我的博客

代碼片段和文件信息
#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個文件信息
評論
共有 條評論