資源簡介
模仿QQ堂的SDL編寫的linux下的小游戲

代碼片段和文件信息
#include
#include
#include
#include
//圖片路徑定義
#define?IMG_Player1?“image/boy2.bmp“ //“image/player.png“
#define?IMG_INJURED?“image/boy2_injured.bmp“
#define?IMG_BUBBLE? “image/bomb.png“ //“image/bubble.bmp“
#define?IMG_BG?? “image/bg4.bmp“
#define?IMG_FLAME2? “image/flame2.png“
#define?IMG_FLAME4? “image/flame4.png“
#define?IMG_GAMEOVER?“image/gameover.gif“
#define?IMG_MEDICINE?“pics/medicine.bmp“
#define?IMG_SHOES?“pics/shoe.bmp“
#define?IMG_LIFE?“./pics/time.gif“
#define?IMG_SPEED?“./pics/time.gif“
//方向定義
#define?DIR_UP?3
#define?DIR_LEFT?1
#define?DIR_DOWN?0
#define?DIR_RIGHT?2
#define?MAIN_ZONE_W?520
#define?MAIN_ZONE_H?480
#define?ATTACK?2
#define?INTERVAL?30
#define?BUBBLE_NUM?62
#define?RAND_MAX?65536
#define?WaitTime?10
#define?ExistTime?5
//游戲中的人物
typedef?struct?_Player?{
int?w;
int?h;
int?x;
int?y;
int?ox;
int?oy;
int?dir;
int?subframe;
int?speed;
int?life;
int?timer;
SDL_Surface?*image;
}Player;
typedef?struct?_Bubble?{
int?w;
int?h;
int?x;
int?y;
int?subframe;
int?timer;
int?level;
SDL_Surface?*image;
}Bubble;
//各種附加工具的添加?此處用1代表是藥爐?可添加一條命
//此處用0代表是鞋?可使速度加1
typedef?struct?_Tool{
int?w;
int?h;
int?x;
int?y;
int?type;//0是鞋?1是藥爐
int?already_exist_time;//代表已經(jīng)出現(xiàn)的時間
int?WaitForNext;//代表下一個物品出現(xiàn)的時間還有多久
int?flag;//代表是否有效
SDL_Surface?*image[2];
}Tool;
//游戲狀態(tài)
typedef?enum?_GameState?{
GAME_RUNNING
GAME_OVER
}GameState;
//全局變量
int?second[2]minute[2];
SDL_Surface?*screen; //整個屏幕
SDL_Surface?*back_image;
SDL_Surface?*player_image;
SDL_Surface?*injured_image;
SDL_Surface?*medicine_image;
SDL_Surface?*shoes_image;
SDL_Surface?*life_image;
SDL_Surface?*speed_image;
GameState?game_state;
Player?player1;
Bubble?bubble[BUBBLE_NUM];
Tool?MedOrShoes;
int?current_num;
int?boom; //當(dāng)前屏幕上是否有泡泡
int?erase;
int?injured;
int?g_timer=-1;
int?away;
int?interval=5;
int?oldlife=3;
int?oldspeed;
//加鎖
void?Slock(SDL_Surface?*lock){
if(SDL_MUSTLOCK(lock)){
if(SDL_LockSurface(lock)<0){
return;
}
}
}
/*解鎖*/
void?Sulock(SDL_Surface?*lock){
if(SDL_MUSTLOCK(lock)){
SDL_UnlockSurface(lock);
}
}
//初始化SDL
void?Init_SDL()?{
if(SDL_Init(SDL_INIT_VIDEO?|?SDL_INIT_TIMER)?0)?{
exit(1);
}
screen?=?SDL_SetVideoMode(64048016SDL_SWSURFACE);
if(screen?==?NULL)?{
exit(1);
}
}
//Tool函數(shù)初始化
void?Init_Tools(){
MedOrShoes.x=0;
MedOrShoes.y=0;
MedOrShoes.w=30;
MedOrShoes.h=30;
MedOrShoes.type=0;//最先初始化為鞋
MedOrShoes.flag=0;//最初無效
MedOrShoes.already_exist_time=0;//出險(xiǎn)多于..s還沒被吃掉則擦掉
MedOrShoes.WaitForNext?=?WaitTime;//每..s出現(xiàn)一個物品
medicine_image?=?IMG_Load(IMG_MEDICINE);
medicine_image?=?SDL_DisplayFormat(medicine_image);
shoes_image?=?IMG_Load(IMG_SHOES);
shoes_image?=?SDL_DisplayFormat(shoes_image);
MedOrShoes.image[0]=shoes_image;
MedOrShoes.image[1]=medicine_image;
SDL_SetColorKey(MedOrShoes.image[0]SDL_SRCCOLORKEYSDL_MapRGB(MedOrShoes.image[0]->format255255255));
SDL_SetColorKey(MedOrShoes.image[1]SDL_SRCCOLORKEYSDL_MapRGB(MedOrShoes.image[1]->f
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????20988??2006-11-30?09:55??game\bm
?????文件??????14152??2006-11-30?09:52??game\bm.c~
?????文件??????19853??2008-12-02?20:59??game\bubbleman.c
?????文件??????19852??2008-12-02?20:58??game\bubbleman.c~
?????文件??????14798??2006-11-30?07:51??game\bubbleman1.c~
?????文件??????13457??2006-11-25?20:41??game\sdl
?????文件???????1111??2006-11-25?18:30??game\sdl.c
?????文件???????1109??2006-11-25?18:28??game\sdl.c~
?????文件??????25065??2008-12-02?20:59??game\aaa
?????文件??????11810??2006-11-30?09:17??game\bak\bubbleman.c
?????文件??????11812??2006-11-30?07:50??game\bak\bubbleman.c~
?????文件??????14798??2006-11-30?07:53??game\bak\bubbleman1.c
?????文件???????1378??2007-08-29?08:30??game\image\baby.gif
?????文件?????153718??2006-11-29?15:58??game\image\bg.bmp
?????文件?????921654??2006-11-29?17:05??game\image\bg2.bmp
?????文件?????921654??2006-11-29?17:07??game\image\bg3.bmp
?????文件?????921654??2008-03-10?14:03??game\image\bg4.bmp
?????文件??????10989??2006-11-29?10:35??game\image\bomb.png
?????文件??????21654??2006-11-28?23:14??game\image\boy2.bmp
?????文件???????8278??2006-11-29?21:07??game\image\boy2_injured.bmp
?????文件???????2814??2006-11-28?23:36??game\image\bubble.bmp
?????文件???????1674??2008-11-25?20:37??game\image\bubble.png
?????文件???????5654??2006-11-29?11:32??game\image\flame.bmp
?????文件???????7937??2006-11-29?14:50??game\image\flame.png
?????文件???????2814??2006-11-29?13:19??game\image\flame2.bmp
?????文件??????31389??2007-09-01?10:05??game\image\game.gif
?????文件?????206909??2007-08-29?08:30??game\image\gameover.gif
?????文件???????1674??2008-11-25?20:37??game\image\pla
?????文件????????425??2007-09-01?10:05??game\image\time.gif
?????文件??????63744??2008-03-12?20:52??game\image\flame4.png
............此處省略17個文件信息
評論
共有 條評論