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

_kbhit() and getch() 在小游戏中用不了。因为控制台函数,仅在控制台程序中可用

太长不看版:

_kbhit() and getch() 包含在conio.h中。

conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

_kbhit() and getch() 为控制台函数,仅在控制台程序中可用,在窗口程序中不能用。

前因后果:

参考b站视频,练习用C++ EasyX 写小游戏时,发现:

控制台程序无法获取键盘消息。因为很多视频都是早几年做的,从 Windows 诞生之日起,其默认终端一直是 Windows 控制台主机 conhost.exe。但是目前Windows 11 的所有命令行应用程序都将在 Windows Terminal 中自动打开。

这就使得编写控制台程序时,会出现两个窗口,一个是控制台,一个是EasyX绘制的窗口。当使用_kbhit()和getch()获取键盘消息的时候,必须是控制台获得焦点的时候,才能获得键盘消息,在EasyX绘制的窗口中无法直接获得消息。

参考了Introduction to C++ Game Development | TONY'S STUDIO(EasyX新手宝藏)

把程序改为窗口程序,也因此所有控制台函数不再有效。

相关文章:

_kbhit() and getch() 在小游戏中用不了。因为控制台函数,仅在控制台程序中可用

太长不看版: _kbhit() and getch() 包含在conio.h中。 conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作&#xff0c…...

dayjs格式转换成日期

目录 方法一: ​编辑方法二: 这个项目在筛选订单时间的时候是由前端进行筛选的,用的是adt-design-pro进行二开的,其中在用日期组件的时候遇到了一个问题,组件返回的是: 但是我需要的是年-月-日&#xff…...

mfc140u.dll丢失如何修复?解析mfc140u.dll是什么文件跟修复方法分享

大家好!今天,我将和大家分享一下关于计算机中mfc140u.dll丢失的6种解决方法。希望我的分享能对大家在计算机使用过程中遇到问题时提供一些帮助。 首先,我想请大家了解一下什么是mfc140u.dll文件。mfc140u.dll是一个动态链接库文件&#xff0…...

STM32--SPI通信与W25Q64(2)

STM32–SPI通信与W25Q64(1) 文章目录 SPI外设特征 SPI框图传输模式主模式全双工连续传输 非连续传输硬件SPI读写W25Q64 SPI外设 STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担。 特…...

微信小程序 校园周边美食商城分享系统

管理员、会员、商家可通过Android系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、会员管理、商家管理、美食类型管理、美食信息管理、美食交流、我的收藏管理、系统管理、订单管理,会员前端;首页、美食信息、美食交…...

K8S - 架构、常用K8S命令、yaml资源清单部署、Ingress、故障排查、存储卷

K8S K8S官网文档:https://kubernetes.io/zh/docs/home/学习东西还是要从官方文档入手;用于管理、扩展、自动部署容器; 其实就是 对多个跨机器的Docker集群; K8S特性 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 …...

micro benchmark 使用经验

文章目录 User Guide User Guide User Guide: https://github.com/google/benchmark/blob/main/docs/user_guide.md #include <benchmark/benchmark.h> #include <chrono> #include <thread>void BM_DemoSleep(benchmark::State& state) {for (auto _ …...

nodejs发布静态https服务器

1、先用 npm init 创建一个package.json&#xff0c;然后添加依赖 node-static &#xff0c;package.json 如下&#xff1a; {"name": "freeswitch","version": "1.0.0","description": "test freeswitch for webrtc&…...

国产系统下开发QT程序总结

国产系统下开发QT程序总结 1. 国产系统简介 开发国产系统客户端的过程中&#xff0c;会出现兼容性问题。以下介绍Kylin和UOS环境下开发QT程序&#xff0c; 首先麒麟和统信这两个系统基于Ubuntu开发的。所以在Ubuntu开发理论上在国产系统上也能运行。芯片架构又分为amd,arm,mi…...

【Redis】redis入门+java操作redis

目录 一、Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 下载 1.2.2 linux安装 1.2.3 windows安装 1.3 Redis服务启动与停止 1.3.1 linux启动、停止Redis服务 1.3.2 windows启动、停止Redis服务 1.4 修改Redis启动密码 1.4.1 Linux修改设置 1.4.2 windows设…...

无涯教程-Android - Spinner函数

Spinner允许您从下拉菜单中选择一个项目 例如。使用Gmail应用程序时,将显示如下所示的下拉菜单,您需要从下拉菜单中选择一个项目。 Spinner Example 示例 本示例演示计算机的类别,您需要从类别中选择一个类别。 以下是修改后的主要Activity文件src/com.example.spinner/Andr…...

国标GB28181视频平台EasyGBS国标平台智能边缘计算网关关于小区电动车进电梯的应用方案设计

一、行业背景 随着人工智能技术的不断成熟与落地&#xff0c;各行各业也逐渐融入AI智能检测技术&#xff0c;尤其是在视频监控领域&#xff0c;通过AI视频智能检测与分析&#xff0c;可以大大提高视频的自动化、智能化监控能力。比如在小区的管理中&#xff0c;由电动车上楼入…...

supervisorctl(-jar)启动配置设置NACOS不同命名空间

背景 由于需要在上海服务器上面配置B测试环境&#xff0c;原本上面已有A测试环境&#xff0c;固需要将两套权限系统分开 可以使用不同的命名空间来隔离启动服务 注&#xff1a;本文章均不涉及公司机密 1、新建命名空间 命名空间默认会有一个public&#xff0c;并且不能删除&a…...

如何解决 Out Of Memory 的问题

背景 在用 Excel Importer 导入数据&#xff0c;当数据量超过 1w 行&#xff0c;经常会出现 OutOfMemory 的错误。&#xff08;用 Excel Exporter 导出数据时&#xff0c;也会有类似问题&#xff09;。 通常的表现症状如下&#xff0c;即在导入成功若干行之后&#xff0c;爆出…...

代码随想录训练营二刷第九天 | 字符串结束

总结 总体来说字符串的题目除了KMP之外难度不大&#xff0c;但是细节不少&#xff0c;有翻转的有双指针操作的。 此外一般使用双指针都是为了降低时间复杂度&#xff0c;从On2到On&#xff0c;链表除外。...

javaee spring jdbcTemplate的使用

依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 htt…...

qt day

#include "widget.h" #include "ui_widget.h" void Widget::my_slot() {} Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setWindowIcon(QIcon(":/wodepeizhenshi.png"));//設置窗口的…...

Configurable Weather Parameters

1. Weather Parameters 2. Classification ClearNoon, CloudyNoon, WetNoon, WetCloudyNoon, SoftRainNoon, MidRainyNoon, HardRainNoon, ClearSunset, CloudySunset, WetSunset, WetCloudySunset, SoftRainSunset, MidRainSunset, HardRainSunset to do list: 可以关注一下…...

MySQL 8 数据清洗总结

MySQL 8 数据清洗三要素&#xff1a; 库表拷贝和数据备份数据清洗SQL数据清洗必杀技-存储过程 前提&#xff1a;数据库关联库表初始化和基础数据初始化&#xff1a; -- usc.t_project definitionCREATE TABLE t_project (id varchar(64) NOT NULL COMMENT 主键,tid varchar(…...

设计模式第九讲:常见重构技巧 - 去除不必要的!=

设计模式第九讲&#xff1a;常见重构技巧 - 去除不必要的! 项目中会存在大量判空代码&#xff0c;多么丑陋繁冗&#xff01;如何避免这种情况&#xff1f;我们是否滥用了判空呢&#xff1f;本文是设计模式第九讲&#xff0c;讲解常见重构技巧&#xff1a;去除不必要的! 文章目录…...

OBS智能镜头:5分钟实现直播自动对焦,让镜头始终跟随你

OBS智能镜头&#xff1a;5分钟实现直播自动对焦&#xff0c;让镜头始终跟随你 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 你是否在直播时经常需要手动调整摄像头角度&#…...

BooruDatasetTagManager AiApiServer深度配置:解决常见模型兼容性问题

BooruDatasetTagManager AiApiServer深度配置&#xff1a;解决常见模型兼容性问题 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager BooruDatasetTagManager是一款功能强大的AI图片标签管理工具&#xff…...

极域电子教室防控制软件JiYuTrainer:重获学习自主权的智能解决方案

极域电子教室防控制软件JiYuTrainer&#xff1a;重获学习自主权的智能解决方案 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在计算机课堂上被极域电子教室的全屏广播限…...

告别繁琐配置!用EB和S32DS快速搭建AutoSar MCAL基础工程(附完整文件结构解析)

从零构建AutoSar MCAL工程&#xff1a;EB与S32DS高效协作实战指南 当第一次打开AutoSar MCAL的官方示例工程时&#xff0c;多数工程师都会被密密麻麻的文件夹和配置文件淹没。Base、Platform、ECUC、MemIf等模块交织在一起&#xff0c;而EB生成的generate文件夹里又充斥着大量看…...

在数据预处理流水线中集成 Taotoken 进行文本摘要与分类

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在数据预处理流水线中集成 Taotoken 进行文本摘要与分类 对于数据工程师和算法工程师而言&#xff0c;构建一个稳定、高效且成本可…...

WinForm窗体最小化与还原(右下角)

最小化按钮private void btnMinimize_Click( object sender, EventArgs e ) {this.WindowState FormWindowState.Minimized;notifyIcon1 new NotifyIcon( );notifyIcon1.Icon this.Icon;notifyIcon1.MouseDoubleClick NotifyIcon1_MouseDoubleClick; }窗体最小化与还原触发…...

【普中 51-Ai8051 开发攻略】-- 第 30 章 OLED 液晶显示实验-硬件 IIC

(1)实验平台&#xff1a; 普中 51-Ai8051 开发板​​https://item.taobao.com/item.htm?abbucket17&id1026052331067(2)资料下载 &#xff1a;普中科技-各型号产品资料下载链接 前面已经使用 IO 口软件模拟 IIC 时序与 OLED 通信实现字符汉字的显示。 本章学习使用 AI805…...

3.1 FiRa UCI规范解析——命令、响应与通知的交互逻辑

1. FiRa UCI规范的核心交互机制 第一次接触FiRa UCI规范时&#xff0c;我被它严谨的消息交互设计所震撼。这个看似简单的命令-响应机制&#xff0c;实际上蕴含着UWB通信的精妙控制逻辑。就像交通信号灯指挥车辆通行一样&#xff0c;UCI规范通过明确的指令流向和状态反馈&#…...

Python之vyvert包语法、参数和实际应用案例

一、vyvert 包概述&#xff08;Python&#xff09; vyvert&#xff08;0.1.0&#xff09;是一个轻量级依赖注入&#xff08;DI&#xff09;库&#xff0c;灵感来自 pytest 与 FastAPI&#xff0c;主打简洁注解式注入、自动依赖解析、异步兼容。 定位&#xff1a;非侵入式 DI&am…...

一线观察:赣州新房装修公司的可靠细节

上个月&#xff0c;有个老朋友找我帮他参谋新房装修的事。赣州章江新区某刚交付的高端盘&#xff0c;精装改毛坯&#xff0c;180平的大户型。他跟我说&#xff0c;前后跑了五六家装修公司&#xff0c;聊完最大的感觉是——云里雾里。报价单看不懂方案&#xff0c;总觉得藏着坑&…...