资源简介
SDL俄罗斯方块,自己做的,6410开发板完美运行,内含SDLTetris-mouse文件夹和SDLTetris-ts文件夹,SDLTetris-mouse是鼠标控制的,SDLTetris-ts是触摸控制的,另附实验报告册,包括需求分析、系统设计等。
代码片段和文件信息
#include “SDL.h“
#include “SDL_image.h“
#include “SDL_mixer.h“
#include “SDL_ttf.h“
#include
#include
SDL_Surface *screen=NULL*bg=NULL*pic=NULL*message=NULL*up=NULL*left=NULL*right=NULL
*se=NULL*art=NULL*arting=NULL*op=NULL*ex=NULL*x=NULL*m=NULL*reart=NULL*re=NULL; //screen屏幕指针,bg背景图片指针,pic砖块,message字体信息
//Mix_Music *music = NULL;
//Mix_Chunk *down=NULL*turn=NULL*dele=NULL*over = NULL;
TTF_Font *font = NULL;
SDL_Color textcolor1 = {4524226}textcolor2={2553232}textcolor3={23318236};
const int width = 640;
const int height = 480;
const int picture = 30;
const int BPP = 16;
int moving = 0; //monving表示方块处于运动状态。
SDL_Rect clip; //整个程序随时用的矩形
int map[18][10]={0}; //整个数组
int scorelevel;
int delay; //初始化难度
int mousex=0;
int mousey=0;
typedef struct square
{
int x[4];
int y[4];
int num;
int status;
}position; //方块的信息,num是方块的编号,status表示处于两种状态之一,即水平与竖直状态。
position where;
int col1col2row1row2; //表示方块所处与的行与列
int des[3]; //用来表示每个坐标与标准坐标(x[3]y[3])之间的水平或竖直距离
int nextnow; //下一个方块的num与现在的num
void apply_bg(int xint yint wint h);
void apply_surface(int xint ySDL_Surface *fromSDL_Surface *toSDL_Rect *clip);
void clean();
void clean_pic();
void del(int row);
int go_down(int sound);
int go_left_right(int i);
void go_up();
void go_up_one();
void go_up_two();
int init();
void init_pic(int xint yint num);
void initGame();
void judge();
int load_files();
SDL_Surface *load_image(char *str);
void pause(int x);
void save();
void show_pic();
void print(int xint ychar *strint iint size); //在(xy)坐标打印信息;
void show_score();
int fail();
int go_somewhere(int xint y);
int go_to(int xint yint (*p)(intint));
void button(int x1int y1int x2int y2SDL_Surface *picture);
int main(int argcchar *argv[])
{
int t1 = 0;
SDL_Event event;
int quit=0;
int flag=0;
if(!init())
return 1;
if(!load_files())
return 1;
initGame();
srand((unsigned)time(NULL));
now=rand()%7+1;
while(!quit)
{
if(!moving) //如果不在运动状态,则需要预测下一个方块及产生上一次预测的方块
{
next=rand()%7+1;
where.num=next;
apply_bg(12*picture1*picture4*picture4*picture);
init_pic(91where.num);
show_pic();
where.num=now;
init_pic(00where.num);
now=next;
moving = 1;
show_pic();
}
SDL_Delay(delay);
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_MOUSEBUTTONDOWN:
{
mousex=event.button.x;
mousey=event.button.y;
if(mousex>=560&&mousex<=590&&mousey>=110&&mousey<=140) //变形
{
go_up();
t1 = 1;
}
if(mousex>=520&&mousex<=550&&mousey>=150&&mousey<=180) //方块左移
go_to(-10go_somewhere);
if(mousex>=560&&mousex<=590&&mousey>=150&&mousey<=180) //加速下落
go_to(01go_somewhere);
if(mousex>=600&&mousex<=630&&mousey>=150&&mousey<=180) //方块右移
go_to(10go_somewhere);
if(mousex>=560&&mousex<=590&&mousey>=190&&mousey<=220) //暂停游戏
{
button(5601905902
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-01-04 14:34 SDL俄罗斯方块\
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-mouse\
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-mouse\fonts\
文件 45260 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-mouse\fonts\arlrdbd.ttf
文件 28360 2000-01-09 18:32 SDL俄罗斯方块\SDLTetris-mouse\fonts\Elements.ttf
文件 4009504 1999-03-22 00:32 SDL俄罗斯方块\SDLTetris-mouse\fonts\kaiti.ttf
文件 20024 2012-05-07 09:01 SDL俄罗斯方块\SDLTetris-mouse\fonts\Michaelmas.ttf
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-mouse\images\
文件 2814 2012-05-11 11:12 SDL俄罗斯方块\SDLTetris-mouse\images\art.bmp
文件 2814 2012-05-11 11:25 SDL俄罗斯方块\SDLTetris-mouse\images\arting.bmp
文件 921654 2012-05-11 11:11 SDL俄罗斯方块\SDLTetris-mouse\images\background.bmp
文件 2814 2012-05-11 11:20 SDL俄罗斯方块\SDLTetris-mouse\images\ex.bmp
文件 2814 2012-05-11 11:12 SDL俄罗斯方块\SDLTetris-mouse\images\left.bmp
文件 2814 2012-05-11 11:19 SDL俄罗斯方块\SDLTetris-mouse\images\m.bmp
文件 2814 2012-05-11 11:12 SDL俄罗斯方块\SDLTetris-mouse\images\op.bmp
文件 2814 2012-05-13 15:31 SDL俄罗斯方块\SDLTetris-mouse\images\re.bmp
文件 2814 2012-05-11 11:23 SDL俄罗斯方块\SDLTetris-mouse\images\reart.bmp
文件 2814 2012-05-11 11:13 SDL俄罗斯方块\SDLTetris-mouse\images\right.bmp
文件 2814 2012-05-11 11:13 SDL俄罗斯方块\SDLTetris-mouse\images\se.bmp
文件 2814 2012-05-11 11:13 SDL俄罗斯方块\SDLTetris-mouse\images\up.bmp
文件 2814 2012-05-11 11:29 SDL俄罗斯方块\SDLTetris-mouse\images\wall.bmp
文件 2814 2012-05-11 12:44 SDL俄罗斯方块\SDLTetris-mouse\images\x.bmp
文件 19006 2012-05-13 21:57 SDL俄罗斯方块\SDLTetris-mouse\SDLTetris.c
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-mouse\sounds\
文件 9322 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-mouse\sounds\gameover.wav
文件 5176 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-mouse\sounds\high.wav
文件 4554 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-mouse\sounds\low.wav
文件 3170 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-mouse\sounds\medium.wav
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-ts\
目录 0 2012-12-06 17:26 SDL俄罗斯方块\SDLTetris-ts\fonts\
文件 45260 2010-07-13 13:29 SDL俄罗斯方块\SDLTetris-ts\fonts\arlrdbd.ttf
............此处省略18个文件信息
相关资源
- Thingsboard入门指南,代码解析及二次开
- 锄大地代码
- C编译器源代码187076
- FM17XX_读卡参考代码iso14443a/b
- EC20状态机代码TCP传GPS数据 _CAN通讯
- 《Spark高级数据分析》源代码
- Neural networks and deep learning pdf 英文版
- JToolpad 基础代码快速开发
- 蓝桥杯CT117E嵌入式竞赛板省赛第八届
- 蓝桥杯CT117E嵌入式竞赛板省赛第七届
- 蓝桥杯CT117E嵌入式竞赛板省赛第六届
- DSP语音识别教程+源代码
- 流场可视化的程序代码
- PCRat远控开源代码
- OpenCV图像处理教程 - 贾志刚 课程配套
- 2019年全国电子设计大赛D题国家二等奖
- 移动机器人导航和rrt自主建图项目代
- 8086微机原理与接口技术实验指导书及
- EDA设计——计算器含完整的quartus的完
- 钻石投票_v5.40运营版__最新解密开源版
- 百度语音合成和语音识别
- Qt 串口助手增强版带示波器曲线源代
- 麻省理工学院公开课:计算机科学及
- WEB作业提交批改系统包括各种文档、
- 车辆检测代码
- CANopen协议栈源代码详解
- wdk 中 fastfat文件系统代码
- NCEdit查看G代码刀具的运行总距离
- FPGA数字电子系统设计与开发导航源代
- stm32f072 can 通讯代码
评论
共有 条评论