c++【键盘读入操作】,两种方法做小游戏的控制摇杆

简介: c++【键盘读入操作】,两种方法做小游戏的控制摇杆

今天出一个,小游戏怎么实现遥感功能的方法教程。

image.png

原生的c++做window小游戏,都是需要用到键盘进行操作的,wsad,或者上下左右,是最常用到的。\
那么我们该如何去写代码呢?

方法一\
例如这个是贪吃蛇,

if(GetKeyState('W')<0)
{
//响应键盘,蛇向上走
}
if(GetKeyState('S')<0)
{
//响应键盘,蛇向下走
}
if(GetKeyState('A')<0)
{
//响应键盘,蛇向左走
}
if(GetKeyState('D')<0)
{
//响应键盘,蛇向右走
}

方法二

if(_kbhit())                //键盘输入值时 
{
    int key;
    key = _getch();
    if(key == 32)                    // 按下空格暂停
    {
        printf("按下空格\n");
    }
}

这里做了一个空格键按下响应。key = \_getch();当按下不同的键盘key值也会不同。我们可以测试一下按下不同的键,知道key的键值是什么,再进行判断。

我们平时用来写打飞机,贪吃蛇,俄罗斯方块。这个遥感操作都是用得上的。我们一般都会把他们包裹在while(1)死循环里面。这样子的话就实时操控遥感了。

更多干货内容,请移步到公众号:诗一样的代码

相关文章
|
16天前
|
算法 Linux C++
C++框架设计中实现可扩展性的方法
在软件开发中,可扩展性至关重要,尤其对于C++这样的静态类型语言。本文探讨了在C++框架设计中实现可扩展性的方法:1) 模块化设计降低耦合;2) 使用继承和接口实现功能扩展;3) 通过插件机制动态添加功能;4) 利用模板和泛型提升代码复用;5) 遵循设计原则和最佳实践;6) 应用配置和策略模式以改变运行时行为;7) 使用工厂和抽象工厂模式创建可扩展的对象;8) 实现依赖注入增强灵活性。这些策略有助于构建适应变化、易于维护的C++框架。
30 2
|
2天前
|
C++
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
2 0
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
|
4天前
|
C++ iOS开发 开发者
C++一分钟之-文件输入输出(I/O)操作
【6月更文挑战第24天】C++的文件I/O涉及`ifstream`, `ofstream`和`fstream`类,用于读写操作。常见问题包括未检查文件打开状态、忘记关闭文件、写入模式覆盖文件及字符编码不匹配。避免这些问题的方法有:检查`is_open()`、显式关闭文件或使用RAII、选择适当打开模式(如追加`ios::app`)以及处理字符编码。示例代码展示了读文件和追加写入文件的实践。理解这些要点能帮助编写更健壮的代码。
14 2
|
11天前
|
算法 前端开发 Linux
【常用技巧】C++ STL容器操作:6种常用场景算法
STL在Linux C++中使用的非常普遍,掌握并合适的使用各种容器至关重要!
38 10
|
2天前
|
算法 C++ 容器
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
8 0
|
26天前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
3天前
|
存储 编译器 程序员
C++语言速成方法
C++语言速成方法
|
3天前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
4 0
|
28天前
|
C++
在C和C++中,指针的算术操作
在C和C++中,指针的算术操作
|
20天前
|
算法 Java API
在VC++中使用CxImage库读写图像实现像素操作
在VC++中使用CxImage库读写图像实现像素操作
18 0