2048
操作方式:使用键盘的上、下、左、右键来控制方块的移动: W键:向上移动方块 S键:向下移动方块 A键:向左移动方块 D键:向右移动方块 游戏规则: 游戏开始时,屏幕上会出现两个数字方块(2或4)。 使用键盘上、下、左、右键移动所有方块,所有的方块会同时移动,并在每次移动时生成一个新的数字方块。 当两个相同数字的方块碰撞在一起时,它们会合并成一个数字方块,数字值为它们的和。 每次移动,如果有方块合并,则得分增加。 游戏结束条件: 没有可以移动的空格,并且没有可以合并的相邻方块时,游戏结束。 达到2048的方块时,游戏胜利。 2048 Game body { font-family: Arial, sans-serif; margin: 0; padding: 0; } .container { width: 480px; position: relative;...
C语言学习笔记
一、C语言基础C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。 1、程序:Hello World. 运行结果如下: 注:在最新的C标准中,main函数前的类型为int而不是void 2、C语言的具体结构简单来说,一个C程序就是由若干头文件和函数组成。 #include <stdio.h> 就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。 函数就是实现代码逻辑的一个小的单元。 3、必不可少之主函数一个C程序有且只有一个主函数,即main函数。 C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。而main前面的int就是主函数的类型。printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息。return是函数的返回值,根据函数类型的不同,返回的值也是不同的。\n是转义字符中的换行符。(注...
基于ESP32移动环境与位置云端记录仪
移动环境与位置云端记录仪 项目笔记一、项目简介本项目基于 ESP32 微控制器,整合温湿度、光照、GPS定位等多种传感器,实现本地环境与位置信息的采集,并通过 MQTT 协议定时上传至华为云 IoTDA 平台。后端服务器可通过华为云北向API定时拉取设备属性数据,并通过 WebSocket 推送给网页前端,最终实现实时可视化展示。适合环境监测、物联网课程实践、小型物联云端数据展示等应用场景。 二、主要软硬件组件 主控板:ESP32开发板 温湿度传感器:DHT11(或DS18B20温度模块) 光敏电阻传感器:模拟光照传感器,AO口接ESP32 ADC引脚 GPS模块:NEO-6M,串口TTL通讯 云平台:华为云IoTDA,支持MQTT直连、属性上报、设备影子 Web服务器/前端:uni-app H5网页(或Android、微信小程序) 后端:Node.js (Express + WebSocket),定时通过北向API拉取设备属性并推送 三、硬件连接说明 DHT11数据引脚 → ESP32 GPIO4 光敏AO引脚 → ESP32 GPIO34 (或2/...
基于ESP8266将健康数据上传华为云平台进行实时监控
一、基于ESP8266的健康数据上传项目(1)项目目标与背景本项目旨在搭建一个实时健康数据监测系统,通过传感器采集数据,利用ESP8266主控板传输数据至华为云平台,并开发前端界面实现数据可视化。随着人们对健康管理的重视,此类实时、便捷的健康监测系统需求日益增长。 (2)项目整体架构项目由硬件采集端、数据传输链路、后端服务和前端展示四部分构成。硬件采集端负责收集数据,数据传输链路依托ESP8266的Wi-Fi功能,后端服务采用nodejs搭建,前端使用uniapp开发。 二、硬件搭建(1)ESP8266主控板① 选型原因ESP8266以其低成本、低功耗及强大的网络功能,成为本项目主控板的理想选择。它能够轻松实现数据的处理与网络传输,满足项目需求。 ② 连接与配置通过USB转TTL模块连接电脑,用于程序烧录与调试。在开发环境中,需配置好对应的端口和通信参数。 (2)MAX30102传感器① 功能作用MAX30102用于精确采集心率和血氧饱和度数据,为健康监测提供关键指标。 ② 硬件连接采用I2C接口与ESP8266连接,VCC接3.3V供电,GND接地,SCL和SDA分别对应连接至...
Markdown学习笔记
1.Markdown语法自带格式1.1 代码块 示例源码 1234567891011# VSCode终端hexo clean; hexo shexo clean; hexo g; hexo dgit add .; git commit -m "npm publish"; npm version patch; git push# Cmder终端hexo clean && hexo shexo clean && hexo g && hexo dgit add . && git commit -m "npm publish" && npm version patchgit push 1.2 多级标题 示例源码 123456# H1## H2### H3#### H4##### H5###### H6 1.3 文字样式 示例源码 123456789101112131415<u>下划线演示</u>文字**加粗**演示文字*斜体*演...
PWM学习笔记
深入理解PWM(脉宽调制)1. 什么是PWM?PWM,即脉宽调制(Pulse Width Modulation),是一种电子技术,通过调节电信号的高电平持续时间和低电平持续时间来控制输出信号的强度或表现形式。它是一种周期性的波形,周期内包含了高电平和低电平两种状态。 2. PWM的重要参数是什么?在PWM中,有两个非常重要的参数: 周期(T):表示PWM波形一个完整周期所持续的时间长度。 占空比(Duty Cycle):指高电平在一个周期内所占的比例,通常用百分比表示。 3. PWM的应用场景有哪些?PWM技术被广泛应用于各种领域,包括: 通信领域的脉宽调制技术。 LED照明领域中,可以通过PWM波形来调节LED灯的亮度,实现调光效果。 控制蜂鸣器、电机等设备,控制其工作状态和频率。 4. PWM波形是如何产生的?4.1 基本原理PWM波形的生成基于定时器和GPIO引脚。通过配置定时器产生高低电平信号,并通过GPIO引脚输出,从而形成PWM波形。 4.2 早期实现方式在早期的简单单片机中,由于没有专用的PWM定时器,需要手动结合GPIO和定时器模块来生成PWM波形。 4....
github上传文件过大时遇到的问题解决方法
在 Windows‑Git Bash 环境下解决 git push 报错 SSL_ERROR_SYSCALL (errno 10054) 并成功推送到 GitHub 适用场景:仓库大小 < 100 MB,HTTPS 推送频繁中断,需要切换到 SSH流程经过实测可行,如有差异请自行调整 master/main 分支名。 1. 现象与错误信息1234Enumerating objects: 1858, done.Compressing objects: 100% (1720/1720), done.error: RPC failed; curl 7 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054fatal: the remote end hung up unexpectedly WinSock 10054 ⇒ 连接被远端或中间网络设备强制重置 最常见原因:网络/代理不稳、HTTPS 长连接被中断 解决思路:改用 SSH 推送,彻底绕过 HTTPS/SSL 2. 生成 SSH 密钥...
github上传文件操作
要把项目工程上传到 GitHub,你可以按以下步骤操作: 注册并登录 GitHub如果你还没有 GitHub 账号,需要先在 GitHub 官网 注册。注册完成后,登录到你的账号。 创建新的仓库登录 GitHub 后,点击右上角的 “+” 号,选择 “New repository”。在 “Repository name” 中为你的项目取一个合适的名称。可以添加一个描述,选择仓库的可见性(公开或私有)。其他选项可以根据需要选择,最后点击 “Create repository” 完成创建。 安装 Git你需要在本地安装 Git 工具,可从 Git 官网 下载适合你操作系统的版本并完成安装。 配置 Git安装完成后,打开终端(Windows 用户可以使用 Git Bash),设置你的用户名和邮箱,这将关联到你在 GitHub 上的操作: 12git config --global user.name "your_username"git config --global user.email "your_email@example.com" ...