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

最权威的公文写作网站网站建设会销

最权威的公文写作网站,网站建设会销,网站开发所需经费,网站建设播放vr视频教程Xiao ESP32C3使用oled 0.96实现下雪的功能 雪花下落的时候, 随机生成半径和位置 sandR和sandX,sandY 保存雪花下落位置的时候, 将其周边一圈设置为-1, 标记为有雪花 其他雪花下落的时候, 其他雪花的一圈如果遇到-1, 则停止下落, 并重复2 #include oled.h void …Xiao ESP32C3使用oled 0.96实现下雪的功能 雪花下落的时候, 随机生成半径和位置 sandR和sandX,sandY 保存雪花下落位置的时候, 将其周边一圈设置为-1, 标记为有雪花 其他雪花下落的时候, 其他雪花的一圈如果遇到-1, 则停止下落, 并重复2 #include oled.h void setup() {// 串口初始化Serial.begin(115200);oled_init();randomSeed(micros());print_vulnerability_init(); } void run900msTasks() {oled.clearDisplay();playSnowing();oled.display(); // 这放到最后 }// oled.h #ifndef __OLED_H_ #define __OLED_H_ #include Adafruit_SSD1306.h#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64static Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, Wire); void oled_init() {// oled初始化if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32Serial.println(F(SSD1306 allocation failed));for (;;); // Dont proceed, loop forever}Serial.println(F(SSD1306 allocation success!!!));oled.display();delay(500); oled.setTextSize(1);oled.setTextColor(WHITE);oled.setRotation(0);oled.clearDisplay();delay(1000); }void oled_println(int16_t x, int16_t y, const char *msg) {oled.setCursor(x, y);oled.println(msg); }struct snow {// 定义落点个数int numPoints 10;int snows[SCREEN_WIDTH][SCREEN_HEIGHT];int sandX 0;int sandY 0; int sandR 1; // 半径void init() {for (int i0; iSCREEN_WIDTH; i) {for(int j0; jSCREEN_HEIGHT; j) {snows[i][j] 0;}}random_snow_pos(); }/*** 设置当前的雪花位置*/void setSnow(int x, int y, int r) {sandX x;sandY y;sandR r;}/*** 初始化随机点*/void random_snow_pos() {setSnow(0, random(0, SCREEN_HEIGHT), random(2, 5));}/*** 将下落的雪花放到数组中*/ void snowToSnows() {snows[sandX][sandY] sandR;}/*** 向右移动*/void move(int distance) {sandXdistance;}/*** 计算雪花点的周围一圈是否有雪花*/bool collideBorder() {if(sandX SCREEN_WIDTH || sandY SCREEN_HEIGHT) return true;for (int i 0; i numPoints; i) {float theta (float)i / numPoints * 2 * PI;int x sandX sandR * cos(theta);int y sandY sandR * sin(theta);// 不管是-1还是其他, 都算是触底了if(x0 y0 snows[x][y] ! 0) return true;}return false;}/*** 设置雪花周边都为-1*/void setSnowEdge() {for (int i 0; i numPoints; i) {float theta (float)i / numPoints * 2 * PI;int x sandX sandR * cos(theta);int y sandY sandR * sin(theta);snows[x][y] -1;}}} snow;void print_vulnerability_init() {for(int i0; iSCREEN_HEIGHT; i) {snow.snows[SCREEN_WIDTH-1][i] 1;}snow.snows[60][10] 1;snow.random_snow_pos(); }/*** 根据128*64的数组里面为1的点绘制○ */ void print_snow() {for (int i0; iSCREEN_WIDTH; i) {for(int j0; jSCREEN_HEIGHT; j) {if(snow.snows[i][j] 0) {continue;} else {oled.fillCircle(i, j, snow.snows[i][j], WHITE);} }} }/*** 模拟漏斗 */ void playSnowing() {int while_i 0;Serial.print(,);Serial.print(snow.sandX);Serial.print(,);Serial.println(snow.sandY);while(snow.collideBorder()) {snow.snowToSnows();snow.setSnowEdge();snow.random_snow_pos();while_i ;if(while_i 100) {snow.init();break;}}// 绘制沙子的点oled.fillCircle(snow.sandX, snow.sandY, snow.sandR, WHITE);// 沙子移动snow.move(1);print_snow(); }/*** 1. 雪花下落的时候, 随机生成半径和位置 sandR和sandX,sandY* 2. 保存雪花下落位置的时候, 将其周边一圈设置为-1, 标记为有雪花* 3. 其他雪花下落的时候, 其他雪花的一圈如果遇到-1, 则停止下落, 并重复2*/ #endif
http://www.w-s-a.com/news/564242/

相关文章:

  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台
  • 新网站建设代理商wordpress模板商店
  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站
  • 四川省建设厅官网信息查询平台北京seo关键词优化外包
  • 网站建设响应式是什么意思wordpress弹窗打开网页
  • 做美工需要参考的网站漳州做网站的公司
  • 用源码建设网站关于网站开发的自我评价
  • 网站设计师图片自助建站编辑器
  • 网站建设的常用技术有哪些深圳建筑工地招工
  • 做软装找图片的网站wordpress 替代
  • 制作网站的后台公众号做视频网站会封吗
  • 广西企业建站邯郸景区网站制作
  • 开发商城网站多少钱城厢区建设局网站
  • 网站外链多的危害天水市建设局网站
  • 网站接入商学交互设计网站
  • 目前最新的网站后台架构技术综述什么网站可以做名片
  • 成都建站长沙做网站美工的公司
  • 湖南省住房与城乡建设厅网站平顶山网站关键词优化
  • 购物网站前台功能模块汕头网站设计电话
  • 网站你懂我意思正能量免费wordpress菜单底部导航代码
  • 一个主机可以建设多少个网站山东高端网站建设
  • 长沙网站建设搭建网络营销做得好的公司
  • 如何做网站的后台管理石家庄seo关键词排名