- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计俄罗斯方块源代码资料.doc
新建“.h”头文件,将“头文件”代码粘贴至其中,
新建“.c”源文件,将“源代码”代码粘贴到其中。
新建空白工程,将头文件和源代码添加进去,调试使用。
//头文件
//1.自定义枚举类型,定义7种形态的游戏方块
typedef enum tetris_shape
{
ZShape=0,
SShape,
LineShape,
TShape,
SquareShape,
LShape,
MirroredLShape
}shape;
//2.函数声明
//(1)操作方块函数
int maxX();//取得当前方块的最大x坐标
int minX();//取得当前方块的最小x坐标
void turn_left();//当前方块逆时针旋转90度
void turn_right();
int out_of_table();
void transform();
int leftable();
int rightable();
int downable();
void move_left();
void move_right();
//(2)操作游戏桌面的函数
int add_to_table();
void remove_full();
//(3)控制游戏函数
void new_game();
void run_game();
void next_shape();
int random(int seed);
//(4)绘图函数
void paint();
void draw_table();
//(5)其他功能函数
void key_down(WPARAM wParam);
void resize();
void initialize();
void finalize();
//(6)回调函数,用来处理Windows消息
LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM);
//源代码
//1.文件包含
#includewindows.h
#includetime.h
#includestdio.h
#includetetris.h
//2.常量定义
#define APP_NAME TETRIS
#define APP_TITLE Tetris Game
#define GAMEOVER GAME OVER
#define SHAPE_COUNT 7
#define BLOCK_COUNT 4
#define MAX_SPEED 5
#define COLUMS 10
#define ROWS 20
#define RED RGB(255,0,0)
#define YELLOW RGB(255,255,0)
#define GRAY RGB(128,128,128)
#define BLACK RGB(0,0,0)
#define WHITE RGB(255,255,255)
#define STONE RGB(192,192,192)
#define CHARS_IN_LINE 14
#define SCORE SCORE %4d
//3.全局变量定义
//(1)
char score_char[CHARS_IN_LINE]={0};
//(2)
char* press_enter=Press Enter key...;
//(3)帮助提示信息
char *help[]=
{
press space or up key to transform shape.,
Press left or right key to mover shape.,
Press down key to speed up.,
Press enter key to pause game.,
Enjoy it.:-),
0
};
//(4)枚举游戏的状态
enum game_state
{
game_start,
game_run,
game_pause,
game_over,
}state=game_start;
//(5)定义方块的颜色
COLORREF shape_color[]=
{
RGB(255,0,0),
RGB(0,255,0),
RGB(0,0,255),
RGB(255,255,0),
RGB(0,255,255),
RGB(255,0,255),
RGB(255,255,255)
};
//(6)方块的7中类型
int shape_coordinate[SHAPE_COUNT][BLOCK_COUNT][2]=
{
{{0,1},{0,0},{-1,0},{-1,1}},
{{0,-1},{0,0},{1,0}
文档评论(0)