设置定位坐标+请按任意键继续

设置定位坐标

目的

在编程和游戏开发中,设置定位坐标的目的是为了确定对象在屏幕或游戏世界中的具体位置。坐标通常由一对数值表示,例如 (x, y),其中 x 表示水平位置,y 表示垂直位置。设置定位坐标的目的包括:


1. **精确控制对象位置**:

通过坐标,开发者可以精确地控制游戏对象(如角色、道具、障碍物等)在屏幕上的位置,从而创建精确的游戏场景和布局。


2. **运动和动画**:

在游戏或动画中,对象的移动是通过不断更新其坐标来实现的。通过改变坐标,可以模拟对象在屏幕上的移动、跳跃、飞翔等动作。


3. **用户交互**:

在用户界面设计中,坐标用于确定按钮、文本框、图标等元素的位置,以便用户能够与之交互。正确的坐标设置可以提升用户体验。


4. **碰撞检测**:

在游戏中,坐标用于检测和响应对象之间的碰撞。通过比较对象的坐标和大小,可以确定是否发生了碰撞,并据此触发相应的游戏逻辑。


5. **图形渲染**:

在图形编程中,坐标用于确定图形元素(如点、线、形状、图像等)的绘制位置。正确的坐标设置可以确保图形按照预期显示。


6. **空间关系和布局**:

坐标用于建立对象之间的空间关系和布局,这对于游戏设计和用户界面设计至关重要。


7. **寻路和导航**:

在需要寻路或导航的游戏中,坐标用于确定角色或物体的移动路径,以及它们如何在不同地点之间移动。


8. **模拟和仿真**:

在模拟和仿真程序中,坐标用于表示现实世界对象的位置,这对于模拟真实世界中的物理现象或过程非常重要。


总之,设置定位坐标是编程和游戏开发中的一个基本概念,它允许开发者创建动态、交互式和有组织的视觉体验。
 

坐标的概念

这里我们可以看见,控制台也是按照坐标系进行计算然后设置围墙和定位的

这里我想表达的是,我们可以看见,一个字符占据的是1x,1y

但是,y比x长

也就是2x=y

所以在之后打印里面,一个宽字符占据的是两个字符的大小

也就是占据2x,1y的大小

COORD 结构

这个结构就是一个很简单的定位位置的结构体,

	//定位光标的位置COORD pos1 = { x,y };

这里注意括号{ },不要写成【】,因为这里是结构体

SetConsoleCursorPosition (定位光标位置)

我们可以看到定位光标的位置还是比较简单的,只需要句柄参数和COOR参数,什么意思呢也就是,我们主需要获得句柄,定义一个结构体位置信息,就可以定位光标的位置

	//设置光标的位置,目的是可以让最后的提示按照想出现的位置进行出现//BOOL WINAPI SetConsoleCursorPosition(//	In HANDLE hConsoleOutput,//句柄//	In COORD  dwCursorPosition//位置//);//获得句柄HANDLE houtpu = NULL;houtpu = GetStdHandle(STD_OUTPUT_HANDLE);//定位光标的位置COORD pos1 = { x,y };SetConsoleCursorPosition(houtpu, pos1);

封装一个设置定位坐标

//定义光标的位置/定义位置
void set_pos(short x, short y)
{//设置光标的位置,目的是可以让最后的提示按照想出现的位置进行出现//BOOL WINAPI SetConsoleCursorPosition(//	In HANDLE hConsoleOutput,//句柄//	In COORD  dwCursorPosition//位置//);//获得句柄HANDLE houtpu = NULL;houtpu = GetStdHandle(STD_OUTPUT_HANDLE);//定位光标的位置COORD pos1 = { x,y };SetConsoleCursorPosition(houtpu, pos1);
}

这里我们可以看到我们可以把欢迎来到贪吃蛇小游戏的界面文字定义到控制台中间

 请按任意键继续

这里就是 一个很简单的cmd命令

	system("pause");

只要在欢迎来到贪吃蛇小游戏,下面定位一个位置,并且使用这个cmd命令进行调用就可以

	//1.打印环境界面set_pos(40, 14);wprintf(L"欢迎来到贪吃蛇小游戏\n");//按任意键继续set_pos(40, 15);system("pause");

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速掌握DDT数据驱动测试?

前言 网盗概念相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用户名和密码来验证登录模块对系统的影响&#x…

软考之零碎片段记录(二十九)+复习巩固(十七、十八)

学习 1. 后缀式(逆波兰式) 2. c/c语言编译 类型检查是语义分析 词法分析。分析单词。如单词的字符拼写等语法分析。分析句子。如标点符号、括号位置等语言上的错误语义分析。分析运算符、运算对象类型是否合法 3. java语言特质 即时编译堆空间分配j…

引领智算变革,九章云极DataCanvas公司激活油气行业新质生产力

近日,“2024中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛”在京成功举办,九章云极DataCanvas公司携“油气行业AI智算服务全栈解决方案”震撼亮相,为油气行业数智化转型和新质生产力发展提供领先的技术视角和前瞻实战经验分…

C++手写协程项目(协程实现线程结构体、线程调度器定义,线程挂起函数、线程切换函数、线程恢复函数、线程结束函数、线程结束判断函数,模块测试)

协程结构体定义 之前我们使用linux下协程函数实现了线程切换,使用的是ucontext_t结构体,和基于这个结构体的四个函数。现在我们要用这些工具来实现我们自己的一个线程结构体,并实现线程调度和线程切换、挂起。 首先我们来实现以下线程结构体…

python安装问题及解决办法(pip不是内部或外部命令也不是可运行)

pip是python的包管理工具,使python可在cmd(命令行窗口,WinR后输入cmd)中执行 针对 “pip不是内部或外部命令也不是可运行” 问题,需要在安装的时候将python添加到环境变量中 上图第三个选项必须勾选才能在cmd中使用pi…

LLVM的ThinLTO编译优化技术在Postgresql中的应用

部分内容引用:https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html LTO是什么? 链接时优化(Link-time optimization,简称LTO)是编译器在链接时对程序进行的一种优化。它适用于以文件为单位编译…

触摸OpenNJet,感悟云原生

小程一言 云原生使得应用充分利用云计算、容器化和微服务架构等现代技术来构建和运行应用程序。 云原生技术的用处在于提高应用程序的可靠性、可伸缩性和灵活性,加快开发和部署速度,降低成本,提升整体的效率和竞争力。通过采用云原生技术&a…

mysql使用索引。并未命中

今天在给项目看板查询语句增加索引的时候,发现了一个很有趣的问题。如下: 我这样创建索引,就可以使用,但是我另外一个查询语句,需要使用到factory_id和plan_start_date。于是我就移动了索引顺序,这样遵守左…

若依前后端分离部署nginx

1、v.sj 2、生产环境修改 3、退出登录修改 4、路由改为hash模式 5、nginx配置 location /gldhtml/ {alias D:/java/tool/nginx-1.19.6/project/jxal/html/; } location /jxal/ {proxy_pass http://localhost:8081/; }

蓝牙连接手机播放音乐的同时传输少量数据,那些蓝牙芯片可以实现呢

简介 蓝牙连接手机播放音乐的同时连接另一蓝牙芯片传输少量数据,那些蓝牙芯片可以实现呢? 这个需求,其实就是双模的需求 简单描述就是:播放音乐的同时,还可以连接ble,进行数据的传输。二者同时进行,互不…

标准IO学习

思维导图: 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组,容量为5,初始…

uniapp 应用闪退、崩溃异常日志捕获插件(可对接网络上报)插件 Ba-Crash

应用闪退、崩溃异常日志捕获插件(可对接网络上报) Ba-Crash 简介(下载地址) Ba-Crash 是一款uniapp应用闪退、崩溃异常日志捕获插件,支持对接网络上报、设置提示等等,方便对一些远程问题、原生问题进行分…

Linux-信号概念

1. 什么是信号 信号本质是一种通知机制,用户or操作系统通过发送信号通知进程,进程进行后续处理 在日常生活中就有很多例子,比如打游戏方面王者荣耀的“进攻”,“撤退”,“请求集合”,“干得漂亮&#xff01…

【数据结构】有关环形链表题目的总结

文章目录 引入 - 快慢指针思考 - 快慢指针行走步数进阶 - 寻找环形链表的头 引入 - 快慢指针 141-环形链表 - Leetcode 关于这道题,大家可以利用快慢指针,一个每次走两步,一个每次走一步,只要他们有一次相撞了就代表说这是一个链…

ue引擎游戏开发笔记(33)——武器与角色的匹配,将新武器装备到角色身上

1.需求分析: 武器能出现在世界中,完成了第一步,下一步需要角色和武器适配,即不论角色跑动,射击等,武器和角色都相匹配,将武器装备到角色身上。 2.操作实现: 1.首先先把角色原有的武…

如何保证Redis双写一致性?

目录 数据不一致问题 数据库和缓存不一致解决方案 1. 先更新缓存,再更新数据 该方案数据不一致的原因 2. 先更新数据库,再更新缓存 3. 先删除缓存,再更新数据库 延时双删 4. 先更新数据库,再删除缓存 该方案数据不一致的…

LeetCode 226.翻转二叉树(全网最多的解法)

LeetCode 226.翻转二叉树 1、题目 题目链接:226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2&#…

Sentinel流量防卫兵

1、分布式服务遇到的问题 服务可用性问题 服务可用性场景 服务雪崩效应 因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应导致服务不可用的原因: 在服务提供者不可用的时候,会出现大量重试的情况&…

Flink时间语义 | 大数据技术

⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…

爬虫学习(2)破解百度翻译

代码 import requests import jsonif __name__ "__main__":url https://fanyi.baidu.com/sug#post请求参数处理(同get请求一致)headers {"User-Agent": Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, …