文章目录:
大神,你有没有Java做的别踩白块儿游戏,用两个项目写的添加路径那种?
直接把下面一个项目的src下面的类和包拷贝到上面一个项目中去 。或者把下面一个项目打jar包 ,添加到上面的项目中去,我建议第一种
怎么用单片机来做玩别踩白块的玩意
这得用LCD12864液晶屏才行的。而且要做成实物,仿真是不好玩的。
别踩白块c语言程序编译
只是禅模式的,如果是学习用的,知道一个模式的应该其他也会了,如果是想玩的话下正版吧= =
#include "SDL2/SDL.h"
#include "SDL2/SDL_ttf.h"
#includestring.h
// 使用的头文件
int W; // 窗口宽
int H; // 窗口高
int PH; // 游戏区的高
int i, df = 0; // 定义的变量
char sorry[] = "游戏不适合你的手机", win[9] = "You win!", lose[10] =
"You lose", str[19] = "得分:";
Uint32 began = 0;
float time = 0.0; // 定义的计时变量
bool quit = false; // 退出标志
float X = 0, Y = 0; // 用于获取触控位置的坐标
SDL_Event event;
// 定义一个事件
SDL_Window *w = NULL; // 创建一个窗口指针
SDL_Renderer *ren = NULL; // 创建一个渲染器指针
SDL_Surface *sur = NULL; // 表面
SDL_Surface *sur1 = NULL; // 得分表面
SDL_Surface *text = NULL; // 标题文本区表面
SDL_Texture *tex = NULL; // 画刷
SDL_Texture *tex1 = NULL; // 画刷
SDL_Texture *tex2 = NULL; // 画刷
TTF_Font *font = NULL; // 定义一个字体
SDL_Color color, fontcolor; // 定义字体颜色
SDL_Rect rect[4]; // 屏幕出现的四个黑块
SDL_Rect title; // 标题区
SDL_Rect pp, over;
void change(); // 使方块动起来
void init(); // 启动sdl及相关
void draw(); // 画图
void start(); // 初始化相关数据
void end(); // 游戏结尾
int main(int argc, char **argv)
{ // 主函数
init();
start();
began = SDL_GetTicks(); // 得到开始时间
while (quit == false)
{
draw(); // 画图
while (SDL_PollEvent(event))
{
switch (event.type)
{
case SDL_FINGERDOWN:
X = event.tfinger.x * W;
Y = event.tfinger.y * H;
// 获取x,y的坐标
if (Y rect[0].y)
if ((X rect[0].x) (X (W / 4 + rect[0].x))) // 判断坐标
{
change();
df = df + 1;
}
else // 如果触屏位置不对
{
quit = true;
if (df 3)
sur1 = TTF_RenderUTF8_Blended(font, sorry, color);
else
sur1 = TTF_RenderUTF8_Blended(font, lose, color);
}
break;
case SDL_FINGERUP:
break;
default:;
}
if (df 100) // 如果在30秒内得分超过100
{
quit = true;
sur1 = TTF_RenderUTF8_Blended(font, win, color);
}
}
time = 30 - ((SDL_GetTicks() - began) / 1000); // 计算剩余时间
if (time == 0.0) // 当时间结束
{
quit = true;
sprintf(str, "时间到,得分:%d", df);
sur1 = TTF_RenderUTF8_Blended(font, str, color);
}
}
tex1 = SDL_CreateTextureFromSurface(ren, sur1); // 把表面转换成画刷
SDL_RenderCopy(ren, tex1, NULL, over);
SDL_RenderPresent(ren);
SDL_Delay(3000); // 暂停3秒
end();
return 0;
}
void change()
{
for (int i = 0; i 3; i++)
rect[i].x = rect[i + 1].x;
rect[3].x = (random() % 4) * W / 4; // 最上层产生随机的黑块
}
void init()
{
SDL_Init(SDL_INIT_EVERYTHING);
w = SDL_CreateWindow("别踩白块儿", 0, 0, W, H, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS); // 配置窗口参数并创建
//
//
ren = SDL_CreateRenderer(w, -1, SDL_RENDERER_PRESENTVSYNC); // 为创建的窗口配置渲染器
TTF_Init(); // 启动font
font = TTF_OpenFont("/system/fonts/DroidSansFallback.ttf", 60); // 打开系统自带字体并设置大小为60
}
void draw()
{
sur = SDL_CreateRGBSurface(0, W, H, 32, 0, 0, 0, 0); // 先把表面刷白
SDL_FillRect(sur, NULL, 0xffffff);
for (int i = 0; i 4; i++)
SDL_FillRect(sur, rect[i], 0x00000); // 再把黑块逐个贴上表面
tex = SDL_CreateTextureFromSurface(ren, sur); // 把表面转换成画刷*/
sprintf(str, "得分:%d", df);
sur1 = TTF_RenderUTF8_Blended(font, str, color);
tex1 = SDL_CreateTextureFromSurface(ren, sur1); // 把表面转换成画刷
sprintf(str, "时间:%.2f\"", time);
text = TTF_RenderUTF8_Blended(font, str, fontcolor);
tex2 = SDL_CreateTextureFromSurface(ren, text); // 把表面转换成画刷
SDL_RenderCopy(ren, tex, NULL, NULL);
SDL_RenderCopy(ren, tex2, NULL, title);
SDL_RenderCopy(ren, tex1, NULL, pp);
SDL_RenderPresent(ren);
SDL_FreeSurface(sur);
SDL_DestroyTexture(tex);
SDL_FreeSurface(sur1);
SDL_FreeSurface(text);
SDL_DestroyTexture(tex1);
SDL_DestroyTexture(tex2);
}
void start()
{
SDL_GetWindowSize(w, W, H); // 得到屏幕分辨率
PH = H * 7 / 8;
color =
{
255, 215, 0};
fontcolor =
{
0, 0, 0}; // 字体颜色赋值
float a = PH * 3 / 4 + H / 8;
float wight = W / 4;
float hight = PH / 4;
rect[0].x = 0;
rect[0].y = a;
rect[1].x = wight;
rect[1].y = a - hight;
rect[2].x = wight * 2;
rect[2].y = a - 2 * hight;
rect[3].x = 3 * wight;
rect[3].y = a - 3 * hight;
for (int i = 0; i 4; i++)
{ // 为黑块的高和宽赋值
rect[i].h = hight;
rect[i].w = wight;
}
title =
{
1.10, 0, W / 2, W / 8};
pp =
{
W / 2, 0, W / 2, W / 8};
over =
{
0, H / 4, W, H / 4};
}
void end()
{
TTF_CloseFont(font);
TTF_Quit();
有很多种游戏合在一起的游戏软件踩方块的
《方块建筑3》是“益智”系列游戏的一个flash小游戏,flash小游戏是一种通过Flash软件和 Flash 编程语言Flash ActionScript 制作而成的SWF格式小游戏,只是能上网打开网页15到30秒即可玩,也可以下载游戏文件到本地然后再安装个flash播放器打开即玩。望采
UTF8_Blended(font, lose, color); } break; case SDL_FINGERUP: break; default:; } if (df 100) /
rface(ren, sur1); // 把表面转换成画刷 SDL_RenderCopy(ren, tex1, NULL, over); SDL_RenderPresent(ren); SDL_Delay(3000);
tureFromSurface(ren, text); // 把表面转换成画刷 SDL_RenderCopy(ren, tex, NULL, NULL); SDL_RenderCopy(ren, tex2, NULL,
enFont("/system/fonts/DroidSansFallback.ttf", 60); // 打开系统自带字体并设置大小为60}void draw(){ sur
// 定义的变量char sorry[] = "游戏不适合你的手机", win[9] = "You win!", lose[10] = "You lose", str[19] = "得分:";Uint32 began = 0;float time = 0.0; // 定义的计时变量bool