当前位置: 首页 > news >正文

智慧团建网站登录忘记密码wordpress 管理密码

智慧团建网站登录忘记密码,wordpress 管理密码,磁力宝,wordpress 顶一下目录 1、创建项目(尽量不使用中文路径) 2、项目复制 3、项目配置 ​1、调整编译器 2、在配置窗口选择参数标签 3、添加头文件路径和库文件路径 4、代码实现 4.1、main.c 4.2、draw.h 4.3、draw.c 4.4、shape.h 4.5、shape.c 4.6、board.h 4.7、board.c 4.8、cont…目录 1、创建项目(尽量不使用中文路径) 2、项目复制 3、项目配置 ​1、调整编译器 2、在配置窗口选择参数标签 3、添加头文件路径和库文件路径 4、代码实现 4.1、main.c 4.2、draw.h 4.3、draw.c 4.4、shape.h 4.5、shape.c 4.6、board.h 4.7、board.c 4.8、control.h 4.9、control.c 这个是在Dev-Cpp里实现的在别的编译器可能有些配置不一定能用 1、创建项目(尽量不使用中文路径) 第一次在Dev-Cpp里创建项目真的难受所以不得不讲一下 1、新建项目 2、点击Console Application C项目我的名称取为day7_first 3、右击新建文件夹(在自己平时建项目的文件夹里)取名为day7_first(一般与项目名相同) 再点击day7_first打开 保存  2、项目复制 项目复制我认为有必要讲一下 可以保存前一次的代码然后在前一次的代码上进行改写方便代码的管理 就是把上一次的.c.h文件(及项目里要用到的应用程序扩展等如果有的话)复制一份到day7_first文件夹里但要把原来的main.c删掉(关闭不保存)防止覆盖之前的main.c 然后添加这些文件 3、项目配置 用了SDL2里的两个文件在我的资源有 1、调整编译器 以支持C99标准方便使用更多语言特性 2、在配置窗口选择参数标签 在链接处输入三行 这里要注意两点 减号-后面是小写L不是数字 1 也不是i。 这三个库的顺序不可变。  之后再添加两个链接 -lmingw32 -lsdl2main -lsdl2 -limm32 -sdl2_ttf3、添加头文件路径和库文件路径 一共添加这两个 同样的方法在包含文件目录添加这个两个 4、将两个应用程序扩展复制到项目所在的文件夹 4、代码实现 4.1、main.c #include draw.h #include shape.h #include board.h #include control.h///* run this program using the console pauser or add your own getch, system(pause) or input loop */ // //int main(int argc, char *argv[]) { // return 0; //} int main(int argc, char* argv[]) {draw_init();//初始化shape_init();//图形初始化board_init();//板初始化 control_gameloop();//游戏循环draw_free();// 清理资源return 0; } 4.2、draw.h #ifndef DRAW_H #define DRAW_H#include stdio.h #include stdlib.h #include SDL.h #include stdbool.h #include SDL_ttf.h#if 1 //苹果系统 1改0 #include SDL_syswm.h #include windows.h #include imm.h #endif#define WINDOW_W 640 #define WINDOW_H 510#define INTERVAL 30//网格间隔 #define HEIGHT 16//网格高 #define WIDTH 10//网格宽 typedef struct {SDL_Window* window;SDL_Renderer* renderer;TTF_Font* font;SDL_Texture* background; }Renderer;bool draw_init(); bool draw_free();void draw_rect(const SDL_Rect* rect,const SDL_Color* color);//绘制矩形 void draw_update();//界面更新 void draw_string(int x,int y,const char* str,SDL_Color* color);//在窗口打印字符串#endif 4.3、draw.c #include draw.h #include shape.h #include board.hstatic Renderer R;//一个存储信息的中间变量 如果放到main()中每个函数都要传参#if 1 //苹果系统 1改0 void disableIME(SDL_Window *window) {//防止输入法自己改变SDL_SysWMinfo wmInfo;SDL_VERSION(wmInfo.version);//初始化 wmInfo结构体的版本信息if (SDL_GetWindowWMInfo(window, wmInfo)) {HWND hwnd wmInfo.info.win.window;//禁用 IMEImmAssociateContext(hwnd, NULL);} } #endifbool draw_free() { // 清理资源if(R.font) {TTF_CloseFont(R.font);TTF_Quit();}SDL_DestroyRenderer(R.renderer);SDL_DestroyWindow(R.window);SDL_Quit(); }bool draw_init() {// 初始化 SDLif (SDL_Init(SDL_INIT_VIDEO) 0) {SDL_Log(SDL could not initialize! SDL_Error: %s\n,SDL_GetError());return false;} // 创建窗口R.window SDL_CreateWindow(SDL2 Square,SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_W, WINDOW_H,SDL_WINDOW_SHOWN);if (!R.window) {SDL_Log(Window could not be created! SDL_Error: %s\n,SDL_GetError());SDL_Quit();return false;} // 创建渲染器R.renderer SDL_CreateRenderer(R.window, -1,SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if (!R.renderer) {SDL_Log(Renderer could not be created! SDL_Error: %s\n,SDL_GetError());SDL_DestroyWindow(R.window);SDL_Quit();return false;} #if 1disableIME(R.window); //苹果系统 1改0 #endifif(TTF_Init()0) {printf(Failed to initialize SDL_ttf\n);draw_free();return false;}R.font TTF_OpenFont(bahnschrift.ttf,24);//添加一种字体必须是.ttf后缀if(!R.font) {printf(Failde to load font\n,TTF_GetError());TTF_Quit();draw_free();return false;}//Load the background BMP imageSDL_Surface* bgSurface SDL_LoadBMP(background1.bmp);//添加背景必须是.bmp后缀if(!bgSurface) {printf(Failed to load background image: %s\n,SDL_GetError());return false;}R.background SDL_CreateTextureFromSurface(R.renderer,bgSurface);SDL_FreeSurface(bgSurface);//Free the surface after creating the textureif(!R.background) {printf(Failed to create background texture: %s\n,SDL_GetError());return false;}printf(draw init() success\n);return true; }void draw_string(int x,int y,const char* str,SDL_Color* color) {SDL_Surface* surface TTF_RenderText_Solid(R.font,str, *color);if(!surface) {printf(TTF_RenderText_Solid error: %s\n,TTF_GetError());return;}SDL_Texture* texture SDL_CreateTextureFromSurface(R.renderer,surface);if(!texture) {printf(SDL_CreateTextureFromSurface error%s\n,SDL_GetError());return;}SDL_Rect rect {x,y,surface-w,surface-h};SDL_FreeSurface(surface);SDL_RenderCopy(R.renderer,texture,NULL,rect);SDL_DestroyTexture(texture);}//const SDL_Rect rect {100,100,30,30};// 矩形的位置 x y w宽度 h高度void draw_rect_grid() {//绘制网格SDL_SetRenderDrawColor(R.renderer, 255,255,255,255);//白色for(int i 0; iHEIGHT; i) {SDL_RenderDrawLine(R.renderer,0,INTERVAL*i,INTERVAL*WIDTH,INTERVAL*i);//(x1,y1,x2,y2)if(i 0)SDL_RenderDrawLine(R.renderer,0,INTERVAL*i1,INTERVAL*WIDTH,INTERVAL*i1);if(i HEIGHT)SDL_RenderDrawLine(R.renderer,0,INTERVAL*i-1,INTERVAL*WIDTH,INTERVAL*i-1);}for(int i 0; iWIDTH; i) {SDL_RenderDrawLine(R.renderer,INTERVAL*i,0,INTERVAL*i,INTERVAL*HEIGHT);if(i 0)SDL_RenderDrawLine(R.renderer,INTERVAL*i1,0,INTERVAL*i1,INTERVAL*HEIGHT);if(i WIDTH)SDL_RenderDrawLine(R.renderer,INTERVAL*i-1,0,INTERVAL*i-1,INTERVAL*HEIGHT);} }void draw_rect_border(const SDL_Rect* rect) {//绘制矩形边框SDL_SetRenderDrawColor(R.renderer, 255,255,255,255);//白色SDL_RenderDrawRect(R.renderer, rect); }void draw_rect(const SDL_Rect* rect,const SDL_Color* color) {//绘制矩形SDL_SetRenderDrawColor(R.renderer, color-r, color-g, color-b, color-a);SDL_RenderFillRect(R.renderer, rect);draw_rect_border(rect); }void draw_update() {//颜色更新 // 用颜色 清空渲染器覆盖SDL_SetRenderDrawColor(R.renderer, 0, 0, 255, 255);SDL_RenderClear(R.renderer); //背景填充 蓝色SDL_RenderCopy(R.renderer,R.background,NULL,NULL);//背景 //界面的更新数据draw_rect_grid();//绘制网格board_draw();//绘制底部的图形shape_draw();//绘制图形// 呈现渲染结果SDL_RenderPresent(R.renderer); } 4.4、shape.h #ifndef _SHAPE_H #define _SHAPE_H #include SDL.h #include stdio.h #include stdbool.htypedef enum{MOVE_DOWN,MOVE_LEFT,MOVE_RIGHT,MOVE_UP }Movedir;typedef struct {bool matrix[4][4];int x;int y;int size;//打印旋转矩阵的一种标记SDL_Color color; }Shape;void shape_init(); void shape_draw(); void shape_move(Movedir dir); void shape_rotate();//图形旋转 #endif 4.5、shape.c #include shape.h #include draw.h #include stdlib.h #include time.h #include board.h #include control.h//所有形状的定义 const Shape ALL_SHAPES[7] {{{{0,1,0,0},{0,1,1,0},{0,0,1,0},{0,0,0,0}},3,0,3,{200,200,200,255}},{{{0,1,0,0},{0,1,1,0},{0,1,0,0},{0,0,0,0}},3,0,3,{180,180,100,255}},{{{0,0,1,0},{0,1,1,0},{0,1,0,0},{0,0,0,0}},3,0,3,{160,180,10,255}},{{{1,1,0,0},{1,1,0,0},{0,0,0,0},{0,0,0,0}},3,0,2,{80,160,100,255}},{{{0,1,0,0},{0,1,0,0},{0,1,1,0},{0,0,0,0}},3,0,3,{100,180,160,255}},{{{0,1,1,0},{0,1,0,0},{0,1,0,0},{0,0,0,0}},3,0,3,{10,160,60,255}},{{{0,0,1,0},{0,0,1,0},{0,0,1,0},{0,0,1,0}},3,0,4,{180,10,160,255}} };Shape cur_shape; Shape next_shape; Shape rotate_shape; int delay_cnt;void shape_init() {//更新图形后有回到之前的位置srand((unsigned int)time(NULL));cur_shape ALL_SHAPES[rand()%7];next_shape ALL_SHAPES[rand()%7]; }void matrix_rotate(int m) {rotate_shape cur_shape;for(int i 0; im; i) {for(int j 0; jm; j) {rotate_shape.matrix[j][m-i-1] cur_shape.matrix[i][j];}}if(board_check_collision(rotate_shape.x,rotate_shape.y,rotate_shape))//旋转后越界就不变return;cur_shape rotate_shape; }void shape_rotate() {if(cur_shape.size ! 2) {matrix_rotate(cur_shape.size);return;} elsereturn; }void shape_move(Movedir dir) {switch(dir) {case MOVE_DOWN:if(!board_check_collision(cur_shape.x,cur_shape.y1,cur_shape))cur_shape.y;else {board_place_shape((cur_shape));//记录底部的图形board_clear_fulllines();//清空满行cur_shape next_shape;srand((unsigned int)time(NULL));next_shape ALL_SHAPES[rand()%7];if(board_check_collision(cur_shape.x,cur_shape.y,cur_shape)) {control_setstate(STATE_GAME_OVER);updatemaxscore();updatemaxlevel();printf(Game Over!\n);}}break;case MOVE_LEFT:if(!board_check_collision(cur_shape.x-1,cur_shape.y,cur_shape)) {cur_shape.x--;}break;case MOVE_RIGHT:if(!board_check_collision(cur_shape.x1,cur_shape.y,cur_shape)) {cur_shape.x;}break;case MOVE_UP:shape_rotate();break;}}static void shape_draw_matrix(int x,int y,Shape* shape) {SDL_Rect r {0,0,30,30};for(int i0; ishape-size; i) {for(int j0; jshape-size; j) {if(shape-matrix[i][j]) {r.x (xjshape-x)*30;r.y (yishape-y)*30;//显示全draw_rect(r,(shape-color));}}} }void shape_draw() {shape_draw_matrix(0,0,cur_shape);shape_draw_matrix(10,2,next_shape);//界面预览if(control_getstate() STATE_RUNNING) {if(delay_cnt30-board_getlevel()*3) {delay_cnt 0;shape_move(MOVE_DOWN);}} } 4.6、board.h #ifndef __BOARD_H_ #define __BOARD_H_#include SDL.h #include stdbool.h #include shape.h#define BOARD_H 16 #define BOARD_W 10 #define BLOCKSIZE 30//level,所需要消的行数 #define INCREASE_LEVEL_LINES 2typedef struct {SDL_Color color;bool active; }Block;typedef struct {Block matrix[BOARD_H][BOARD_W];int score;int level;int clearlines; int maxscore;int maxlevel; }Gameboard;void board_init(); void board_draw();//绘制底部的图形 bool board_check_collision(int newx,int newy,Shape* shape);//检查碰撞 void board_place_shape(Shape* cur_shape);//记录底部的图形 void board_clear_fulllines(); int board_getlevel(); void updatemaxscore(); void updatemaxlevel();#endif 4.7、board.c #include board.h #include draw.hstatic Gameboard gb;int board_getlevel() {return gb.level; }void getmaxscore() {FILE* fp fopen(俄罗斯方块最高分.txt,r);if(fp NULL) {fp fopen(俄罗斯方块最高分.txt,w);if(fp NULL) {perror(getmaxscore()::fopen(w));return;}gb.maxscore gb.score;fprintf(fp,%d,gb.maxscore);//初始化max为0fclose(fp);return;}fscanf(fp,%d,(gb.maxscore));fclose(fp); }void updatemaxscore() {FILE* fp fopen(俄罗斯方块最高分.txt,w);if(fp NULL) {perror(updatemaxscore()::fopen(w));return;}if(gb.scoregb.maxscore)gb.maxscore gb.score;fprintf(fp,%d,gb.maxscore);fclose(fp); }void getmaxlevel() {FILE* fp fopen(俄罗斯方块最高难度.txt,r);if(fp NULL) {fp fopen(俄罗斯方块最高难度.txt,w);if(fp NULL) {perror(getmaxlevel()::fopen(w));return;}gb.maxlevel gb.level;fprintf(fp,%d,gb.maxlevel);//初始化level为1fclose(fp);return;}fscanf(fp,%d,(gb.maxlevel));fclose(fp); }void updatemaxlevel() {FILE* fp fopen(俄罗斯方块最高难度.txt,w);if(fp NULL) {perror(updatemaxlevel()::fopen(w));return;}if(gb.levelgb.maxlevel)gb.maxlevel gb.level;fprintf(fp,%d,gb.maxlevel);fclose(fp); }void board_init() {//板初始化gb.level 1;gb.clearlines 0;gb.score 0;getmaxscore();getmaxlevel();for(int i 0; iBOARD_H; i) {for(int j 0; jBOARD_W; j) {gb.matrix[i][j] (Block) {{160,160,160,255},false};}} }void board_draw() {SDL_Rect rect {0,0,BLOCKSIZE,BLOCKSIZE};for(int i 0; iBOARD_H; i) {for(int j 0; jBOARD_W; j) {if(gb.matrix[i][j].active) {draw_rect(rect,(gb.matrix[i][j].color));}rect.x rect.w;}rect.x 0;rect.y rect.h;}char tempstring[32];SDL_Color color {200,0,0,255};snprintf(tempstring,sizeof(tempstring),Score: %d,gb.score);draw_string((BOARD_W4)*BLOCKSIZE,7*BLOCKSIZE,tempstring,color);color (SDL_Color) {0,200,0,255};snprintf(tempstring,sizeof(tempstring),Level: %d,gb.level);draw_string((BOARD_W4)*BLOCKSIZE,8*BLOCKSIZE,tempstring,color);color (SDL_Color) {100,100,200,255};snprintf(tempstring,sizeof(tempstring),Pause game press p);draw_string((BOARD_W2)*BLOCKSIZE,10*BLOCKSIZE,tempstring,color);color (SDL_Color) {100,100,200,255};snprintf(tempstring,sizeof(tempstring),Restart game press r);draw_string((BOARD_W2)*BLOCKSIZE,11*BLOCKSIZE,tempstring,color);color (SDL_Color) {200,200,200,255};snprintf(tempstring,sizeof(tempstring),maxscore:%d,gb.maxscore);draw_string(0,16*BLOCKSIZE,tempstring,color);color (SDL_Color) {200,200,200,255};snprintf(tempstring,sizeof(tempstring),maxlevel:%d,gb.maxlevel);draw_string((BOARD_W)*BLOCKSIZE,16*BLOCKSIZE,tempstring,color); }bool board_check_collision(int newx,int newy,Shape* shape) { for(int i 0; ishape-size; i) {for(int j 0; jshape-size; j) {if(shape-matrix[i][j]) {int x newx j;int y newy i;if(x0||xBOARD_W||yBOARD_H)//碰边return true;if(y0gb.matrix[y][x].active) //碰到已有图形return true;}}}return false; }void board_place_shape(Shape* cur_shape) {for(int i 0; i cur_shape-size; i) {for(int j 0; j cur_shape-size; j) {if(cur_shape-matrix[i][j]) {gb.matrix[cur_shape-yi][cur_shape-xj].active true;gb.matrix[cur_shape-yi][cur_shape-xj].color cur_shape-color;}}} }void board_clear_fulllines() {int lines 0;for(int y 0; y BOARD_H; y) {bool isfull true;for(int i 0; i BOARD_W; i) {if(!gb.matrix[y][i].active) {isfull false;break;}}if(isfull) { //满行lines;for(int i y; i 0; i--) {//满行以上的所有的图形向下移动一行 for(int j 0; j BOARD_W; j) {gb.matrix[i][j] gb.matrix[i-1][j];}}for(int j 0; j BOARD_W; j) {//清空最顶行 gb.matrix[0][j].active false;}}}switch(lines) {case 1:gb.score 1;break;case 2:gb.score 4;break;case 3:gb.score 9;break;case 4:gb.score 16;break;}gb.clearlines lines;while(gb.clearlinesINCREASE_LEVEL_LINES) {gb.clearlines - INCREASE_LEVEL_LINES;gb.level;}printf(Score: %d\nLevel: %d\nClear: %d\n,gb.score,gb.level,gb.clearlinesINCREASE_LEVEL_LINES*(gb.level-1)); } 4.8、control.h #pragma once #ifndef __CONTROL_H_ #define __CONTROL_H_typedef enum {STATE_UNKOWN,STATE_RUNNING,STATE_PAUSE,STATE_STOP,STATE_GAME_OVER,STATE_MANUAL }GameState;void control_gameloop(); GameState control_getstate(); void control_setstate(GameState st);#endif 4.9、control.c #include control.h #include shape.h #include draw.h #include board.hstatic GameState state;GameState control_getstate() {return state; }void control_setstate(GameState st) {state st; }void control_gameloop() {// 主循环标志bool running true;SDL_Event event;state STATE_RUNNING;while (running) { // 处理事件while (SDL_PollEvent(event)) {if (event.type SDL_QUIT) {running false;}if(event.type SDL_KEYDOWN) {switch(event.key.keysym.sym) {case SDLK_ESCAPE:case SDLK_q:running false;break;case SDLK_p://暂停if(state STATE_RUNNING) {state STATE_PAUSE;break;}if(state STATE_PAUSE) {state STATE_RUNNING;break;}case SDLK_m://自动与手动if(state STATE_RUNNING) {state STATE_MANUAL;break;}if(state STATE_MANUAL) {state STATE_RUNNING;break;}case SDLK_r:control_setstate(STATE_RUNNING);board_init();//板初始化 shape_init();//图形初始化图形回到初始位置 break;case SDLK_UP:if(state STATE_RUNNING||state STATE_MANUAL)shape_move(MOVE_UP);break;case SDLK_DOWN:if(state STATE_RUNNING||state STATE_MANUAL)shape_move(MOVE_DOWN);break;case SDLK_LEFT:if(state STATE_RUNNING||state STATE_MANUAL)shape_move(MOVE_LEFT);break;case SDLK_RIGHT:if(state STATE_RUNNING||state STATE_MANUAL)shape_move(MOVE_RIGHT);break;}}}draw_update();//颜色更新覆盖更新图形颜色SDL_Delay(16);//60Hz} }
http://www.w-s-a.com/news/28139/

相关文章:

  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作
  • 做网站要准备的需求asp 网站后台
  • 滨州网站开发公司中立建设集团有限公司网站
  • 泰安建设厅网站做网站为什么要建站点
  • 有什么好的手机推荐网站创建网站需要哪些工作
  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书
  • 大连哪里有手机自适应网站建设公司网站介绍模板 html
  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角
  • seo优化推广业务员招聘seo顾问服务福建
  • 成都私人网站建设seo网站推广方案策划书
  • 广州网站建设工作室wordpress log
  • 网站后台添加wordpress h1标签优化