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

网站建设目的和功能定位做影视网站该怎么发展

网站建设目的和功能定位,做影视网站该怎么发展,wordpress get请求,wordpress 腾讯云1.效果展示 屏幕录制 2024-04-28 205129 2.基本功能 • 贪吃蛇地图绘制 • 蛇吃食物的功能 #xff08;上、下、左、右方键控制蛇的动作#xff09; • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 3.技术要点 C语言函数、枚举、结构…1.效果展示 屏幕录制 2024-04-28 205129 2.基本功能 • 贪吃蛇地图绘制 • 蛇吃食物的功能 上、下、左、右方键控制蛇的动作 • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 3.技术要点 C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。 4.WIN32 API WIN32 API是windows操作系统最基本的API之一它定义了windows操作系统的各种操作的函数和数据结构WIN32 API也就是Windows 32位平台的应用程序编程接口。 4.1控制台程序 我们平时运行代码的时候那个黑色框程序其实就是控制台程序 然后可以使用cmd命令来控制黑色框的长度和宽度设置控制台窗口的大小200行50列 mode con cols200 lines50 参考mode | Microsoft Learn 然后通过命令来修改控制台名字 title 贪吃蛇 效果 参考mode | Microsoft Learn 通过c语言的system函数来实现 #include stdio.h int main() {//设置控制台窗⼝的⻓宽设置控制台窗⼝的⼤⼩50⾏200列system(mode con cols200 lines50);//设置cmd窗⼝名称system(title 贪吃蛇); return 0; } 4.2控制屏幕上的坐标COORD 参考COORD 结构 - Windows Console | Microsoft Learn COORD是windowsAPI中定义的一个结构体它可以表示字符在屏幕上的坐标最左上角的位置坐标是00。 COORD类型的声明 typedef struct _COORD {SHORT X;SHORT Y; } COORD, *PCOORD; 给坐标赋值 COORD pos { 10, 15 }; 4.3.GetStdHandle简单了解会用即可 相关了解GetStdHandle 函数 - Windows Console | Microsoft Learn GetStdHandle是⼀个Windows API函数。它用于从⼀个特定的标准设备标准输入、标准输出或标准错误中取得⼀个句柄用来标识不同设备的数值使用这个句柄可以操作设备。 HANDLE GetStdHandle(DWORD nStdHandle); 例 HANDLE hOutput NULL; //获取标准输出的句柄(⽤来标识不同设备的数值) hOutput GetStdHandle(STD_OUTPUT_HANDLE); HANDLE是一种类型 4.4.GetConsoleCursorInfo会用即可 相关了解 GetConsoleCursorInfo 函数 - Windows Console | Microsoft Learn 例 HANDLE hOutput NULL; //获取标准输出的句柄(⽤来标识不同设备的数值) hOutput GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(hOutput, CursorInfo);//获取控制台光标信息 4.5.CONSOLE_CURSOR_INFO简单了解会用即可 这是一个结构体包含了控制台的光标的相关信息 typedef struct _CONSOLE_CURSOR_INFO {DWORD dwSize;BOOL bVisible; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; 其中 • dwSize由光标填充的字符单元格的百分比。 此值介于1到100之间。 光标外观会变化范围从完全填充单元格到单元底部的水平线条。 • bVisible游标的可见性。 如果光标可见则此成员为 TRUE。 例 CursorInfo.bVisible false; //隐藏控制台光标 4.6.SetConsoleCursorInfo简单了解会用即可 相关了解SetConsoleCursorInfo 函数 - Windows Console | Microsoft Learn SetConsoleCursorInfo可以 设置指定控制台屏幕缓冲区的光标的大和可见性 例 HANDLE hOutput GetStdHandle(STD_OUTPUT_HANDLE); //影藏光标操作 CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(hOutput, CursorInfo);//获取控制台光标信息 CursorInfo.bVisible false; //隐藏控制台光标 SetConsoleCursorInfo(hOutput, CursorInfo);//设置控制台光标状态 4.7.SetConsoleCursorPosition简单了解会用即可 相关了解SetConsoleCursorPosition 函数 - Windows Console | Microsoft Learn 设置指定控制台屏幕缓冲区中的光标位置我们将想要设置的坐标信息放在COORD类型的pos中调用SetConsoleCursorPosition函数将光标位置设置到指定的位置。 例 COORD pos { 10, 5};HANDLE hOutput NULL;//获取标准输出的句柄(⽤来标识不同设备的数值)hOutput GetStdHandle(STD_OUTPUT_HANDLE);//设置标准输出上光标的位置为posSetConsoleCursorPosition(hOutput, pos) 写贪吃蛇时为了方便可以将上面的初始化信息封装成一个函数 例 //设置光标的坐标 void SetPos(short x, short y) {//取句柄HANDLE hOutput NULL;hOutput GetStdHandle(STD_OUTPUT_HANDLE);//移动光标位置COORD pos { x, y };SetConsoleCursorPosition(hOutput, pos); } 4.8.GetAsyncKeyState简单了解会用即可 相关了解getAsyncKeyState 函数 (winuser.h) - Win32 apps | Microsoft Learn 键盘中每个按键都有与之对应的虚拟值。 获取按键情况GetAsyncKeyState的函数原型如下 SHORT GetAsyncKeyState(int vKey ); GetAsyncKeyState 的返回值是short类型在上⼀次调用 GetAsyncKeyState 函数后如果返回的16位的short数据中最高位是1说明按键的状态是按下如果最高是0说明按键的状是抬起如果最低位被置为1则说明该按键被按过否则为0。如果要判断⼀个键是否被按过可以检测GetAsyncKeyState返回值的最低值是否为1. 我们可以定义宏 #define KEY_PRESS(VK) ( (GetAsyncKeyState(VK) 0x1) ? 1 : 0 ) 虚拟键虚拟键码 (Winuser.h) - Win32 apps | Microsoft Learn 5.地图 游戏地图效果 其中有一些宽字符想要打印还要再作一些处理 5.1locale.h本地化简单了解会用即可 locale.h提供的函数用于控制C标准库中对于不同的地区会产生不⼀样行为的部分。 在标准中依赖地区的部分有以下几项 • 数字量的格式 • 货币量的格式 • 字符集 • 日期和时间的表示形式 这里我们主要是获得字符的修改。 5.2.类项 通过修改地区程序可以改变它的行为来适应世界的不同区域。但地区的改变可能会影响库的许多部分其中⼀部分可能是我们不希望修改的。所以C语言支持针对不同的类项进行修改下面的⼀个宏指定⼀个类项 • LC_COLLATE影响字符串比较函数 strcoll() 和 strxfrm() 。 • LC_CTYPE影响字符处理函数的行为。 • LC_MONETARY影响货币格式。 • LC_NUMERIC影响 printf() 的数字格式。 • LC_TIME影响时间格式 strftime() 和 wcsftime() 。 • LC_ALL - 针对所有类项修改将以上所有类别设置为给定的语言环境。 相关了解 setlocale_wsetlocale | Microsoft Learn 5.3setlocale函数 char* setlocale (int category, const char* locale); setlocale 函数用于修改当前地区可以针对⼀个类项修改也可以针对所有类项。 setlocale 的第⼀个参数可以是前面说明的类项中的⼀个那么每次只会影响⼀个类项如果第⼀个参数是LC_ALL就会影响所有的类项。 C标准给第二个参数仅定义了2种可能取值 C 正常模式和 本地模式。 在任意程序执行开始都会隐藏式执行调用: setlocale(LC_ALL, C); 当地区设置为C时库函数按正常方式执行小数点是⼀个点。 当程序运行起来后想改变地区就只能显示调用setlocale函数。用 作为第2个参数调用setlocale 函数就可以切换到本地模式这种模式下程序会适应本地环境。 比如切换到我们的本地模式后就支宽字符汉字的输出等。 setlocale(LC_ALL, );//切换到本地环境 5.4.宽字符的打印 宽字符的字面量必须加上前缀“L”否则 C 语言会把字面量当作窄字符类型处理。前缀“L”在单引 号前面表示宽字符对应 wprintf() 的占位符为 %lc 在双引号前表示宽字符串对应 wprintf() 的占位符为 %ls 。 例 #includelocale.h int main() {setlocale(LC_ALL, );wchar_t ch1 L●;wchar_t ch2 L晚;wchar_t ch3 L成;wchar_t ch4 L★;printf(%c%c\n, a, b);wprintf(L%lc\n, ch1);wprintf(L%lc\n, ch2);wprintf(L%lc\n, ch3);wprintf(L%lc\n, ch4);return 0; } 输出结果 这里看到一个汉字或者一个宽字符需要占两个字符的位置所以我们打印地图和对蛇食物的坐标进行处理时一定要注意。 5.5.地图坐标 我们要设置一个40行54列的地图 5.6蛇身和食物 初始化状态假设蛇是连续5个节点。 注意蛇的每个节点的x坐标必须是2个倍数否则可能会出现蛇的⼀个节点有⼀半出现在墙体中 另外一半在墙外的现象坐标不好对齐。 关于食物就是在墙体内随机生成⼀个坐标x坐标必须是2的倍数坐标不能和蛇的身体重合然后打印★。 效果如上图 5.7数据结构设计 蛇每吃一个食物蛇身就会变长一节因此我们可以用链表来存蛇的信息每一个结点只要记录好蛇的坐标就行食物同样也是用这个链表来存。 typedef struct SnakeNode{int x;int y;struct SnakeNode* next; }SnakeNode, * pSnakeNode; 然后维护蛇还要一个结构体 typedef struct Snake {pSnakeNode _pSnake;//维护整条蛇的指针pSnakeNode _pFood;//维护⻝物的指针enum DIRECTION _Dir;//蛇头的⽅向,默认是向右enum GAME_STATUS _Status;//游戏状态int _Socre;//游戏当前获得分数int _foodWeight;//默认每个⻝物10分int _SleepTime;//每⾛⼀步休眠时间 }Snake, * pSnake; 蛇的方向可以用枚举 //⽅向 enum DIRECTION {UP 1,DOWN,LEFT,RIGHT }; 游戏的状态 //游戏状态 enum GAME_STATUS {OK,//正常运⾏KILL_BY_WALL,//撞墙KILL_BY_SELF,//咬到⾃⼰END_NOMAL//正常结束 }; 6.游戏流程 7.游戏参考代码 c语言: 储存c代码 - Gitee.com
http://www.yayakq.cn/news/4363/

相关文章:

  • 上海建设工程质量监督站网站浙江建设银行网站
  • 网站分类主要有哪些华仁建设网站
  • 丽江市网站建设制作淄川响应式网站建设
  • 做网站 php asp.net jsp怎样可以开网站
  • 家具网站建设策划书怎么查看网站的友情链接
  • 网站的登录界面是怎么做的seo怎么提升关键词的排名
  • 成都哪家公司做网站比较好锦州网站建设最低价
  • 外国人做旅游攻略网站做销售的什么网站好
  • 站长工具名称查网站wordpress 显示作者
  • 商城网站开发与设计品牌vi设计理念
  • 郑州炫彩网站建设中国专业摄影网
  • 换个网站对seo有什么影响广州网站建设开发
  • 石家庄网站模板建站苏州网站seo
  • 网站开发源文件导入asp.net做网站实例
  • 小白怎么学做网站王战营
  • 搭建网站的空间哪里买网站多语言切换
  • 免费网站建太原网站建设工作室
  • 南宁网站建站公司如何做考试网站
  • 网站速度慢的原因开发一个游戏的过程
  • 京东优惠券网站建设wap网站为什么没有了
  • 网站后台上传图片 不可用湖北做网站多少钱
  • 网站没有排名四川建设安全监督管理局网站
  • 微信网站这么做可以看违禁网页的浏览器
  • 深圳网站建设公司首选中国建设银行福清分行网站
  • 城市文化建设的网站网页制作与发布的流程
  • 黄页网站推广方案哪个网站做美食自媒体更好
  • 哪些网站能够免费做公考题网站开发的出路
  • 短视频运营公司网站建设打开网站iis7
  • 嘉兴房地产网站建设优化教程网
  • 中山网站快照优化公司wordpress 功能开发