资源简介
使用SDL库,该库可用来编写图形界面的软件,编写了俄罗斯方块的小游戏,游戏虽然简单,但对初学者来说,编写有挑战性
代码片段和文件信息
//函数的具体实现
#include “tetris.h“
//定义变量
bool author_back = false; //检测子菜单返回按钮
bool hero_back = false; //检测子菜单返回按钮
bool quit = false; //Quit flag
//The surfaces
SDL_Surface *screen = NULL; //屏幕
SDL_Surface *background = NULL; //背景
SDL_Surface *buttonsheet = NULL; //裁剪样图1
SDL_Surface *buttonsheet_two = NULL; //裁剪样图2
SDL_Surface *buttonsheet_three = NULL; //裁剪样图3
//SDL_Surface *message = NULL; //文字信息
SDL_Surface *screen_author = NULL; //屏幕菜单显示作者
//The event structure
SDL_Event event;
//The clip regions of the sprite sheet
SDL_Rect clips[ 5 ][ 2 ];
/*******************************************************/
// 函数一:类之外的函数 //
SDL_Surface *load_image( std::string filename )
{
//The image that‘s loaded
SDL_Surface* loadedImage = NULL;
//The optimized surface that will be used
SDL_Surface* optimizedImage = NULL;
//Load the image
loadedImage = IMG_Load( filename.c_str() );
//If the image loaded
if( loadedImage != NULL )
{
//Create an optimized surface
optimizedImage = SDL_DisplayFormat( loadedImage );
//Free the old surface
SDL_FreeSurface( loadedImage );
//If the surface was optimized
if( optimizedImage != NULL )
{
//Color key surface
SDL_SetColorKey( optimizedImage SDL_SRCCOLORKEY SDL_MapRGB( optimizedImage->format 0 0xFF 0xFF ) );
}
}
//Return the optimized surface
return optimizedImage;
}
void apply_surface( int x int y SDL_Surface* source SDL_Surface* destination SDL_Rect* clip )
{
//Holds offsets
SDL_Rect offset;
//Get offsets
offset.x = x;
offset.y = y;
//Blit
SDL_BlitSurface( source clip destination &offset );
}
bool init()
{
//Initialize all SDL subsystems----------------------------所有引擎
if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 )
{
return false;
}
//Set up the screen
screen = SDL_SetVideoMode( SCREEN_WIDTH SCREEN_HEIGHT SCREEN_BPP SDL_SWSURFACE );
//If there was an error in setting up the screen
if( screen == NULL )
{
return false;
}
if( ( load_score( &total &h_score ) ) == false ) return false;
//Set the window caption
SDL_WM_SetCaption( “TETRIS “ NULL );
//If everything initialized fine
return true;
}
bool load_files()
{
//载入背景图片
background = load_image( “tetris_background.png“ );
//载入选项覆盖图片
buttonsheet = load_image( “button.png“ );
buttonsheet_two = load_image( “button2.png“ );
buttonsheet_three = load_image( “back.png“ );
//If there was an problem loading the sprite map
if( background == NULL || buttonsheet == NULL ||
buttonsheet_two == NULL ||buttonsheet_three == NULL )
{
return fa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-07-11 17:43 俄罗斯\
文件 15376 2014-07-01 13:34 俄罗斯\author.png
文件 7726 2014-07-01 13:34 俄罗斯\back.png
文件 730844 2014-07-02 21:39 俄罗斯\bj.png
文件 13549 2014-07-01 18:25 俄罗斯\button.cpp
文件 5699 2014-07-01 13:34 俄罗斯\button.png
文件 9045 2014-07-01 13:34 俄罗斯\button2.png
文件 7393768 2013-12-27 14:01 俄罗斯\canon.wav
文件 656 2014-07-01 13:34 俄罗斯\check.png
文件 19335 2014-07-01 13:34 俄罗斯\fangkuai.cpp
文件 3322 2014-07-01 13:34 俄罗斯\fk.png
文件 964 2014-07-01 13:34 俄罗斯\font.cpp
文件 421556 2014-07-01 13:34 俄罗斯\game_begin.wav
文件 635 2014-07-01 18:01 俄罗斯\Game_main.cpp
文件 303452 2014-07-01 13:34 俄罗斯\game_over.wav
文件 8225 2014-07-01 13:34 俄罗斯\game_play.cpp
文件 5 2014-07-11 17:42 俄罗斯\game_save
文件 328192 2014-07-01 13:34 俄罗斯\libFLAC-8.dll
文件 461824 2014-07-01 13:34 俄罗斯\libfreetype-6.dll
文件 204288 2014-07-01 13:34 俄罗斯\libjpeg-8.dll
文件 263168 2014-07-01 13:34 俄罗斯\libmikmod-2.dll
文件 24064 2014-07-01 13:34 俄罗斯\libogg-0.dll
文件 151552 2014-07-01 13:34 俄罗斯\libpng15-15.dll
文件 408064 2014-07-01 13:34 俄罗斯\libtiff-5.dll
文件 163840 2014-07-01 13:34 俄罗斯\libvorbis-0.dll
文件 36352 2014-07-01 13:34 俄罗斯\libvorbisfile-3.dll
文件 180224 2014-07-01 13:34 俄罗斯\libwebp-2.dll
文件 2108 2014-07-01 13:34 俄罗斯\music.cpp
文件 134790 2014-07-01 13:34 俄罗斯\score.png
文件 80388 2014-07-01 13:34 俄罗斯\score.TTF
文件 303616 2014-07-01 13:34 俄罗斯\SDL.dll
............此处省略9个文件信息
- 上一篇:图书管理系统及数据库
- 下一篇:郑丽的C++学生用书
相关资源
- C语言 vs2013+easyX 实现推箱子小游戏
- 基于C++的五子棋游戏设计
- VC++6.0多人网络小游戏-支持多人联机网
- VC++ 游戏编程基础 入门必看
- 斗兽棋游戏
- 跳棋游戏(人人对弈)
- 火柴棍算式游戏
- FlyBird游戏模仿OC版
- VC++ 21点游戏
- C++控制台小游戏《突破重围》,有所
- 台球游戏源代码
- 小游戏开发教程 c++版
- VC++6.0 双人五子棋游戏
- MFC_跑酷游戏小Demo
- VC++坦克大战多人在线大型网络游戏
- 自己做的打地鼠小游戏
- MFC黄金矿工小游戏
- 迷宫益智游戏,c++mfc编写,亲测有效
- 超级玛丽c++代码(经典小游戏)
- VC++ MFC编写的2048小游戏工程及源代码
- MFC扫雷游戏源码 自己做的 适合初学者
- C++消消乐小游戏 windows程序设计课程设
- C++实现的经典小游戏源代码
- “理治棋壮”中国象棋计算机博弈引
- 21点游戏C++模拟
- VC++开发的斗地主的网络游戏源码
- VC++经典小游戏含代码 算法说明
- vc6.0做的扫雷游戏含源码
- C#游戏开发快速入门
- MFC课设代码(扫雷游戏
评论
共有 条评论