C++ easyX小程序:用四个方向键控制实心圆在屏幕移动

news/2024/7/20 1:30:39 标签: c++, 小程序


       本小程序通过调用设置背景、线颜色、线宽、填充色及画圆函数等在屏幕上画了一个实心圆,又通过调用kbhit函数及识别按键状态的GetAsyncKeyState函数,实现对实心圆移动的控制。本小程序在VS2022上运行通过(注意:需提前安装easyX)。
具体代码及注释如下:
#include<iostream>
#include<conio.h> //为使用getch()函数
#include<graphics.h>
using namespace std;
int main()
{
  
  initgraph(800,600);//仅设置一个easyX窗口
  int x=400;int y=300; //实心圆初始位置
  while(TRUE)
  {   
     BeginBatchDraw(); //开始批量绘图(防止屏幕闪烁)
     setbkcolor(YELLOW); //设置背景颜色黄色
     setlinecolor(BLUE); //设置线颜色蓝色
     setlinestyle(0,3); //实线,线宽3像素
     setfillcolor(RED); //填充色红
     cleardevice();//清屏
     settextcolor(RED); //文字颜色
     settextstyle(30, 0, "楷体");//字体,字号
     outtextxy(230,50,"使用方向键移动实现圆");//显示提示文字
     fillcircle(x,y,40);//画实心圆
     EndBatchDraw(); //结束批量绘图(因为本小程序画图不多,效果不明显)
     if(kbhit())
      {
        if(GetAsyncKeyState(VK_UP)   ){y-=1;};//如↑键按下,y坐标上移
        if(GetAsyncKeyState(VK_DOWN) ){y+=1;};//如↓键按下,y坐标下移
        if(GetAsyncKeyState(VK_LEFT) ){x-=1;};//如←键按下,x坐标左移
        if(GetAsyncKeyState(VK_RIGHT)){x+=1;};//如→键按下,x坐标友谊
       }
     Sleep(10); //控制实心圆移动速度
   }
  return 0;
}


http://www.niftyadmin.cn/n/5352257.html

相关文章

【数模百科】如何提高数模论文的美观性(附美赛word和LaTeX模板)

有人说&#xff0c; 美赛 美术大赛 某种程度上是这样的。 「论文包装」是美赛的重中之重&#xff0c;如果大家有阅读过往年O奖论文&#xff0c;就会发现所有论文的「美观性」都很强。 比如这篇2019年的神作&#xff0c;花了条恐龙。 好的下面我来教大家如何画恐龙。&#…

【JavaScript基础入门】04 JavaScript基础语法(二)

JavaScript基础语法&#xff08;二&#xff09; 目录 JavaScript基础语法&#xff08;二&#xff09;变量变量是什么声明变量变量类型动态类型注释 数字与运算符数字类型算术运算符操作运算符比较运算符逻辑运算符运算符的优先级 变量 变量是什么 在计算机中&#xff0c;数据…

Qlik Sense : IntervalMatch(离散匹配)

什么是IntervalMatch IntervalMatch 前缀用于创建表格以便将离散数值与一个或多个数值间隔进行匹配&#xff0c;并且任选匹配一个或多个额外关键值。 语法&#xff1a; IntervalMatch (matchfield)(loadstatement | selectstatement ) IntervalMatch (matchfield,keyfield…

.ui文件相关

目录 ui类生成过程&#xff1a; 提问&#xff1a; 等以后自己熟练了用代码写这些样式内容&#xff0c;尽量用代码写&#xff0c;原因很简单&#xff1a; 用代码写的可以直接修改代码&#xff0c;但是在设计界面修改的东西&#xff0c;电脑没有QC这玩意&#xff0c;还真不好改…

系统架构设计师教程(十九)大数据架构设计理论与实践

大数据架构设计理论与实践 19.1 传统数据处理系统存在的问题19.2 大数据处理系统架构分析19.2.1 大数据处理系统面临挑战19.2.2 大数据处理系统架构特征19.3 Lambda架构19.3.1 Lambda架构对大数据处理系统的理解19.3.2 Lambda架构应用场景19.3.3 Lambda架构介绍19.3.4 Lambda架…

java日志框架总结(三 、Log4j日志框架)

一、简介 Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目&#xff0c; 为Java提供了日志记录功能。能够让程序员非常方便的记录日志&#xff0c; 并且提供了多种适配方式&#xff0c;能满足各种需求。 使用Log4j 只需要导入一个…

linux 主机无法联网问题

主机不能联网 一 查看当前ip ping路由 ifconfig wlan0 wlan0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.2.78 netmask 255.255.255.0 broadcast 192.168.2.255ping 192.168.2.1查看是否能ping通 二 查看路由表 route -n Destination G…

【C语言】socket编程接收问题

一、recv()函数接收到的返回值为0表示对端已经关闭 在TCP套接字编程中&#xff0c;通过recv()函数接收到的返回值为0通常表示对端已经关闭了套接字的发送部分。这是因为TCP是一个基于连接的协议&#xff0c;其中有定义明确的连接建立和终止流程&#xff1b;当对端调用close()或…