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

中小企业网站制作多少钱quiz在哪个网站做

中小企业网站制作多少钱,quiz在哪个网站做,北京网站建设小鱼在线,包装设计需要哪些信息❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主#xff0c;代码兴国#xff01;❤❤❤ 生命不停#xff0c;学习不止。铁汁们#xff0c;我是大伟#xff0c;欢迎来到大伟的游戏时间#xff0c… ❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主代码兴国❤❤❤ 生命不停学习不止。铁汁们我是大伟欢迎来到大伟的游戏时间今天带大家来玩一款几乎是所有人童年的记忆中的一款经典的不能再经典的游戏贪吃蛇 当然了在玩游戏前我们还是要先把游戏写出来啦○( 皿)っHiahiahia… 废话不多说在开始游戏前有些知识是希望大家了解的因为博主也不是很懂所以只能理解了QWQ 。 由于我们的贪吃蛇游戏是在我们windows电脑的控制台上实现的所以我想带大家了解一下Win32 API 我们的小度娘给Win32 API的介绍是 Windows这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外它同时也是⼀个很⼤ 的服务中⼼调⽤这个服务中⼼的各种服务每⼀种服务就是⼀个函数可以帮应⽤程序达到开启 视窗、描绘图形、使⽤周边设备等⽬的由于这些函数服务的对象是应⽤程序(Application)所以便 称之为Application Programming Interface简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应⽤程序编程接⼝。 听起来很高级是吧~嗯雀食蛮高级的但是作为我们使用的人来说并不需要了解这么多会用就好了对吧 首先不知道有没有铁汁的VS操作台是和大伟一样是这样的- 上面这个窗口其实是VS的操作台而我们需要的是我们电脑的Windows操作台该怎么切换呢其实很简单      这样子就切换成功了大家来看一看效果 是不是瞬间就有玩游戏的感觉了哈哈 (^▽^ ) 那这个时候就有铁汁好奇了说“大伟啊你这个运行框的名字是‘贪吃蛇’而且屏幕上有一串文字窗口大小也和我的不一样怎么回事啊” 诶别急嘛接下来就会教你滴~ 一. 设置控制台 我们可以使⽤cmd命令来设置控制台窗⼝的⻓宽设置控制台窗⼝的⼤⼩30⾏100列如下 mode con cols100 lines30 也可以通过命令设置控制台窗⼝的名字如下   title 贪吃蛇 这些能在控制台窗⼝执⾏的命令也可以调⽤C语⾔函数system来执⾏。例如 #include stdio.h int main() {//设置控制台窗⼝的⻓宽设置控制台窗⼝的⼤⼩30⾏100列 system(mode con cols100 lines30);//设置cmd窗⼝名称 system(title 贪吃蛇); return 0; } 此外我们还可以调控制台屏幕上的坐标COORD而COORD是Windows API中定义的⼀个结构体表⽰⼀个字符在控制台屏幕上的坐标如下 typedef struct _COORD {SHORT X;SHORT Y; } COORD, *PCOORD;//给坐标赋值 COORD pos { 10, 15 };这个时候我们的光标就会在坐标为10,15的地方闪烁但是我们会发现在游戏进行的时候我们看不到光标的闪烁这又该怎么做呢 这个时候就要用到GetStdHandle了那这是啥呢 GetStdHandle是⼀个Windows API函数。它⽤于从⼀个特定的标准设备标准输⼊、标准输出或标 准错误中取得⼀个句柄⽤来标识不同设备的数值使⽤这个句柄可以操作设备。 原代码声明如下GetStdHandle 函数 - Windows Console | Microsoft Learn HANDLE GetStdHandle(DWORD nStdHandle); 我们可以写出如下代码 HANDLE handle NULL; //获取标准输出的句柄(⽤来标识不同设备的数值) handle GetStdHandle(STD_OUTPUT_HANDLE);这时候获得了句柄我们可以用函数 GetConsoleCursorInfo 获得光标的信息源代码声明如下GetConsoleCursorInfo 函数 - Windows Console | Microsoft Learn BOOL WINAPI GetConsoleCursorInfo( HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo );我们可以这样运用 HANDLE hOutput NULL; //获取标准输出的句柄(⽤来标识不同设备的数值) hOutput GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(hOutput, CursorInfo);//获取控制台光标信息 但是上面代码中的 CONSOLE_CURSOR_INFO 是什么东西呢 这东西是个结构体而这个结构体包含有关控制台光标的信息源代码的声明如下 typedef struct _CONSOLE_CURSOR_INFO {DWORD dwSize;BOOL bVisible; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;其中 1.  dwSize由光标填充的字符单元格的百分⽐。此值介于1到100之间。光标外观会变化范围从完全填充单元格到单元底部的⽔平线条。  2.  bVisible游标的可⻅性。如果光标可⻅则此成员为TRUE。 之后我们可以用SetConsoleCursorInfo设置指定控制台屏幕缓冲区的光标的⼤⼩和可⻅性。SetConsoleCursorInfo的源代码声明如下SetConsoleCursorInfo 函数 - Windows Console | Microsoft Learn BOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo );综上我们可以这么写 HANDLE hOutput GetStdHandle(STD_OUTPUT_HANDLE); //影藏光标操作 CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(hOutput, CursorInfo);//获取控制台光标信息 CursorInfo.bVisible false; //隐藏控制台光标 SetConsoleCursorInfo(hOutput, CursorInfo);//设置控制台光标状态 而为了设置指定控制台屏幕缓冲区中的光标位置我们将想要设置的坐标信息放在COORD类型的pos中调⽤SetConsoleCursorPosition函数将光标位置设置到指定的位置。源代码声明如下 BOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD pos );实例 COORD pos { 10, 5};HANDLE hOutput NULL;//获取标准输出的句柄(⽤来标识不同设备的数值) hOutput GetStdHandle(STD_OUTPUT_HANDLE);//设置标准输出上光标的位置为pos SetConsoleCursorPosition(hOutput, pos);由于我们有可能会在控制台的不同地方打印信息所以可以封装一个SetPos函数来设置光标的位置 //设置光标的坐标 void SetPos(short x, short y) {COORD pos { x, y };HANDLE hOutput NULL;//获取标准输出的句柄(⽤来标识不同设备的数值) hOutput GetStdHandle(STD_OUTPUT_HANDLE); //设置标准输出上光标的位置为pos SetConsoleCursorPosition(hOutput, pos); }此外我们需要操作↑ ↓ ← → 键来操作蛇的移动所以我们需要一个函数来检测键盘按键是否被按下而函数GetAsyncKeyState就可以做到源代码声明如下GetAsyncKeyState function (winuser.h) - Win32 apps | Microsoft Learn SHORT GetAsyncKeyState(int vKey );我们需要将键盘上每个键的虚拟键值传递给函数函数通过返回值来分辨按键的状态。 GetAsyncKeyState 的返回值是short类型在上⼀次调⽤ GetAsyncKeyState 函数后如果 返回的16位的short数据中最⾼位是1说明按键的状态是按下如果最⾼是0说明按键的状态是抬起如果最低位被置为1则说明该按键被按过否则为0。  如果我们要判断⼀个键是否被按过可以检测GetAsyncKeyState返回值的最低值是否为1因此我们可以定义一个宏 #define KEY_PRESS(VK) ( (GetAsyncKeyState(VK) 1) ? 1 : 0 ) 这样就可以检测我们的键盘是否被按下了。 二.贪吃蛇游戏的设计分析 首先我们玩贪吃蛇都会有个地图吧限制蛇的运动范围那我们该如何布置我们的地图呢这个时候就不得不谈到控制台窗口的一些知识如果想在控制台的窗⼝中指定位置输出信息我们得知道该位置的坐标所以⾸先介绍⼀下控制台窗⼝的坐标知识 控制台窗⼝的坐标如下所⽰横向的是X轴从左向右依次增⻓纵向是Y轴从上到下依次增⻓ 在游戏地图上我们打印墙体使⽤宽字符□打印蛇使⽤宽字符●打印⻝物使⽤宽字符★         普通的字符是占⼀个字节的这类宽字符是占⽤2个字节。而为了打印这些字节我们需要在这些宽字符前加上大写的L我们还需要将 printf 改为 wprintf wprintf是专门来打印宽字符的如下 wprintf(L%c, □);通过输出的结果我们可以发现⼀个普通字符占⼀个字符的位置但是打印⼀个汉字字符占⽤2个字符的位置那么我们如果 要在贪吃蛇中使⽤宽字符就得处理好地图上坐标的计算。  此外我们的VS2022是默认的正常模式而我们的汉字是不包含在这里面的所以我们需要将当地地区改为适应本地模式于是我们需要使用 setlocale 函数来使我们的编译器符合我们的本地模式。 而为了使用 setlocale 我们需要包含头函数 #includelocale.h setlocale 的源代码声明如下setlocale_wsetlocale | Microsoft Learn char* setlocale (int category, const char* locale); C标准给第⼆个参数仅定义了2种可能取值“C” 和 “ ”。于是我们可以有以下两种写法 setlocale(LC_ALL, C); //此时当地设置为“C”库函数按正常方式执行小数点是一个点 setlocale(LC_ALL, ); //切换到本地环境这种模式下程序会适应本地环境这时候我们写代码的必要条件已经做好了接下来博主会在下一篇博客里给大家手撕一个贪吃蛇敬请期待哦~ 真正的幸运在等待着有资格享受的 ---------- 忒俄克里托斯 本篇博客也就到此为止了送大家一碗鸡汤勉励自己以及这世界上所有追逐梦想的赤子趁年华尚好努力提升自己莫欺少年穷
http://www.tj-hxxt.cn/news/229850.html

相关文章:

  • 北京住房和城乡建设局门户网站江西省南昌市建筑工程网
  • wordpress怎么关注站点网站建设 月嫂 模板
  • 怎么仿网站免费域名网站黄
  • 临沂培训学校网站建设网站网站制作需要多少钱
  • 营销网站建设合同快速排名优化怎么样
  • 凡科网站建设公司成品直播源码
  • 网站 只收录首页新房装修
  • 保健品网站怎么做的网站建设创意
  • 给别人网站做跳转企业质量文化建设
  • 门户类网站的主页设计关于加强政务网站建设的通知
  • 金蝶云搜索引擎优化包括哪些方面
  • 工程建设信息都在哪个网站发布巨野菏泽网站建设
  • 网站维护html模板怎么做网站优化推广
  • 上海市建设工程招标造价网站网站建设需要具备
  • 手机网站建设做竞价推广的技巧wordpress 修改固定链接
  • 网站还没有建好可以备案吗网站免费空间哪个好
  • 站内推广方式买模板做网站
  • 博客网站建设设计论文总结企业在网站建设上的不足
  • site 危险网站山东省威海市文登区建设局网站
  • 城固网站建设wordpress 迁移 新目录
  • 云南省建设考试中心网站如何开一家网站建设公司?
  • 成都网站建设哪家好文章威县做网站哪里便宜
  • wordpress整站导入哈密建设集团有限责任公司网站
  • 大背景类型的网站设计品牌的网站建设一般多少钱
  • 济南建设工程信息网站腾讯企点app下载安装
  • 广州网站优化推广方案中国施工企业管理协会官网
  • 投资建设集团网站首页成都青白江网站建设
  • 北京网站改版有哪些好处做soho 怎么建立网站
  • 网站建设怎么申请空间网站建设合同 免责声明
  • 个人电脑可以做网站服务器吗广东网站开发收费