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

网站建设需要几个部门北京海淀区最新消息

网站建设需要几个部门,北京海淀区最新消息,网站后台管理js,phpstudy网站建设教程简单使用AI代码生成器做了一个贪吃蛇游戏 设计的基本逻辑都是正确的#xff0c;能流畅运行 免费准确率高#xff0c;非常不错#xff01;支持Visual Studio系列 Fitten#xff1a;https://codewebchat.fittenlab.cn/ SDL 入门指南#xff1a;安装配置https://blog.csdn.n…简单使用AI代码生成器做了一个贪吃蛇游戏 设计的基本逻辑都是正确的能流畅运行 免费准确率高非常不错支持Visual Studio系列 Fittenhttps://codewebchat.fittenlab.cn/ SDL 入门指南安装配置https://blog.csdn.net/qq_72157449/article/details/130490332 SDL库https://github.com/libsdl-org/SDL/releases/tag/release-2.30.5 SDL-ttf库未用到https://github.com/libsdl-org/SDL_ttf/releases 只需要i包含nclude文件以及库目录lib文件进行编译 运行程序需要dll文件可将该文件放到执行程序同一个目录下 或将dll文件夹添加到系统变量中 窗口乱码以及添加链接库目录 //设置字体编码为 UTF - 8避免乱码 //设置编译器在执行时使用的字符集为UTF-8 #pragma execution_character_set(utf-8)//告诉编译器在链接阶段需要链接 SDL2 库 #pragma comment(lib, SDL2.lib) #pragma comment(lib, SDL2main.lib)#include SDL.h游戏界面 源代码 //设置字体编码为 UTF - 8避免乱码 //设置编译器在执行时使用的字符集为UTF-8 #pragma execution_character_set(utf-8)//告诉编译器在链接阶段需要链接 SDL2 库 #pragma comment(lib, SDL2.lib) #pragma comment(lib, SDL2main.lib)#include SDL.h #include iostream #include vector//设置屏幕分辨率和网格大小。 //屏幕分辨率为 800x600网格大小为 20x20。 //屏幕的网格大小决定了游戏的难度越大则游戏越难。 const int SCREEN_WIDTH 800; const int SCREEN_HEIGHT 600; const int GRID_SIZE 10; const int GRID_WIDTH SCREEN_WIDTH / GRID_SIZE; const int GRID_HEIGHT SCREEN_HEIGHT / GRID_SIZE; //帧率为 10即每秒 10 帧用于控制蛇的速度 const int frame_rate 10; const int frame_delay 1000 / frame_rate;//定义一个 Point 结构体用于表示一个点的坐标。 struct Point {int x, y;bool operator(const Point other) const {return x other.x y other.y;} };//游戏主函数。 //初始化 SDL创建窗口和渲染器创建蛇和食物并开始游戏循环。 //游戏循环中不断检查是否有事件发生并根据事件更新蛇的移动方向。 //渲染蛇和食物并刷新渲染器并计算帧时间如果超过了帧率则延迟。 //游戏结束时退出游戏循环。 //退出程序。 int main(int argc, char *argv[]) {//初始化 SDL。if (SDL_Init(SDL_INIT_VIDEO) 0) {std::cerr SDL could not initialize! SDL_Error: SDL_GetError() std::endl;return 1;}//创建窗口。SDL_Window *window SDL_CreateWindow(贪吃蛇游戏, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);if (window nullptr) {std::cerr Window could not be created! SDL_Error: SDL_GetError() std::endl;SDL_Quit();return 1;}//创建渲染器。SDL_Renderer *renderer SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);if (renderer nullptr) {std::cerr Renderer could not be created! SDL_Error: SDL_GetError() std::endl;SDL_DestroyWindow(window);SDL_Quit();return 1;}//创建蛇和食物。std::vectorPoint snake { {GRID_WIDTH / 2, GRID_HEIGHT / 2} };Point direction { 0, 1 };Point food { std::rand() % GRID_WIDTH, std::rand() % GRID_HEIGHT };bool game_over false;SDL_Event e;bool running true;Uint32 frame_start;int frame_time;while (running) {//获取当前时间以毫秒为单位用于计算帧时间。frame_start SDL_GetTicks();//不断检查是否有事件发生。SDL_PollEvent 函数会从事件队列中获取一个事件并将其存储在 e 变量中。如果有事件循环会继续处理如果没有事件循环会退出。while (SDL_PollEvent(e)) {//SDL_QUIT通常是用户关闭窗口则将 running 设置为 false这将导致外层循环退出。//SDL_KEYDOWN键盘按下事件则根据按下的键来更新蛇的移动方向。if (e.type SDL_QUIT) {running false;} else if (e.type SDL_KEYDOWN) {//按下上、下、左、右方向键时更新蛇的移动方向。//如果按下其他键则忽略。switch (e.key.keysym.sym) {//如果当前方向不是向下direction.y ! 1则将方向设置为向上{ 0, -1 }。case SDLK_UP: if (direction.y ! 1) direction { 0, -1 }; break;//如果当前方向不是向上direction.y ! -1则将方向设置为向下{ 0, 1 }。case SDLK_DOWN: if (direction.y ! -1) direction { 0, 1 }; break;//如果当前方向不是向左direction.x ! 1则将方向设置为向右{ 1, 0 }。case SDLK_LEFT: if (direction.x ! 1) direction { -1, 0 }; break;//如果当前方向不是向右direction.x ! -1则将方向设置为向左{ -1, 0 }。case SDLK_RIGHT: if (direction.x ! -1) direction { 1, 0 }; break;}}}//如果游戏结束则退出循环。if (!game_over) {//移动蛇头。Point head snake.front();Point new_head { head.x direction.x, head.y direction.y };//如果蛇头移动到边界或与身体重合则游戏结束。if (new_head.x 0 || new_head.x GRID_WIDTH || new_head.y 0 || new_head.y GRID_HEIGHT) {game_over true;} else if (std::find(snake.begin(), snake.end(), new_head) ! snake.end()) {game_over true;} else {//如果蛇头没有与身体重合则将蛇头插入到蛇的头部并更新蛇的长度。snake.insert(snake.begin(), new_head);//如果蛇吃到了食物则生成新的食物否则删除最后一个蛇身体。if (new_head food) {food { std::rand() % GRID_WIDTH, std::rand() % GRID_HEIGHT };//如果食物跟蛇重叠则重新生成食物。while (std::find(snake.begin(), snake.end(), food) ! snake.end()) {food { std::rand() % GRID_WIDTH, std::rand() % GRID_HEIGHT };}} else {snake.pop_back();}}}//设置渲染器的颜色为黑色。SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);//清除屏幕并将背景设置为黑色。SDL_RenderClear(renderer);//设置蛇的颜色为绿色。SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);//绘制蛇身体。for (const auto segment : snake) {SDL_Rect rect { segment.x * GRID_SIZE, segment.y * GRID_SIZE, GRID_SIZE, GRID_SIZE };//绘制矩形参数为指向 SDL_Rect 结构体的指针。SDL_RenderFillRect(renderer, rect);}//设置食物的颜色为红色并绘制食物。SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);SDL_Rect food_rect { food.x * GRID_SIZE, food.y * GRID_SIZE, GRID_SIZE, GRID_SIZE };SDL_RenderFillRect(renderer, food_rect);//将渲染器缓冲区中的内容刷新到屏幕上从而使之前通过 SDL_RenderClear、SDL_RenderDrawRect、SDL_RenderFillRect 等函数绘制的图形和颜色显示出来。SDL_RenderPresent(renderer);//计算帧时间如果超过了帧率则延迟。frame_time SDL_GetTicks() - frame_start;if (frame_delay frame_time) {SDL_Delay(frame_delay - frame_time);}}//自动弹出游戏结束窗口SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, 游戏结束, 游戏结束, window);//退出游戏循环。SDL_DestroyRenderer(renderer);SDL_DestroyWindow(window);SDL_Quit();return 0; }
http://www.w-s-a.com/news/927250/

相关文章:

  • 广州百度网站建设公司天津建设电工证查询网站
  • 网站建设与管理行业发展情况制作网页动态效果
  • wordpress 特色缩略图临沂seo全网营销
  • 隆昌市住房和城乡建设厅网站做网站用什么字体比较好
  • 惠州网站建设设计18款未成年禁用软件ap入口
  • 班级网站 建设目标如何做好网站建设内容的策划书
  • 网站建设与网页设计期末考试清博舆情系统
  • plone网站开发商城网站建设怎么收费
  • 旺旺号查询网站怎么做公司门户网站项目模版
  • 网站免费一站二站四站上海网站怎么备案表
  • 漫画交流网站怎么做开发微信小程序公司
  • 网站建设马鞍山怎么建立局域网网站
  • 开源 网站开发框架哪些网站可以做图片链接
  • 大良制作网站网站设计的能力要求
  • 前端设计除了做网站还能做什么江苏高校品牌专业建设工程网站
  • 做二手房产网站多少钱用户权限配置wordpress
  • 做亚马逊网站需要租办公室吗小型企业网站模板
  • 网站全屏视频怎么做个人公司注册网上申请
  • 如何k掉别人的网站搜索引擎优化与关键词的关系
  • 百度推广 网站吸引力做网站开发的薪酬怎么样
  • js网站开发工具软件营销方案
  • 做网站的天空网云南省建设厅网站怎么进不去
  • 天津网站排名提升网络营销推广策略包括哪些
  • 网站建设与管理 ppt网站打开是别人的
  • 图片网站怎么做排名怎么分析一个网站seo
  • 伪原创对网站的影响深圳装修公司排名100强
  • 网站建设公司效果个人可以做医疗信息网站吗
  • 网站使用arial字体下载微网站 建设
  • 文化馆网站建设意义营销型国外网站
  • 公司网站定位建议wordpress怎么用模板