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

51单片机俄罗斯方块计分函数

/**************************************************************************************************************
* 名称:scoring
* 功能:计分
* 参数:NULL
* 返回:NULL
* 备注:采用非阻塞延时
**************************************************************************************************************/
void scoring(void)

    if(state && (node != 2))
        {                    
          switch(Tbase % 20)
            {
                case 18: if(flag_c == 0 )
                           {
                               u8 i;                                                                                    
                               if(led[15])
                               {
                                   node = 2;
                                                       
                                   row = mark;    
                                   flag_c = 0;
                                   return;                                                 
                               }    
                
                               for(i = 0; i < 16; i++)
                               {
                                   if(led[i] == 0xff)
                                   {
                                       score++;    
                                       cnt = i;
                                       node = 1;
                                       flag1 = 1;    
                                                               flag_c++;
                                       return;                                                         
                                   }                              
                               }                                                                                                                          
                           }
                           break;    
                             
                case  19: if((flag_c == 2) && flag2)
                           {                                                                                                         
                               u8 i;
                               for(i = cnt; i < 16; i++)
                               {
                                   led[i] = led[i + 1];
                               }
                        
                               led[16] = 0x00;
                               led[17] = 0x00;
                               cnt     = 0;    
                               flag2   = 0;                                                                                                    
                               flag_c  = 0;         
                           }
                           break;
                             
                default: break;                              
            }
        }
}


http://www.mrgr.cn/news/90025.html

相关文章:

  • c++编译后的库太大了, 放不到单片机上如何编译才可以优化大小?
  • Windows 系统下使用 Ollama 离线部署 DeepSeek - R1 模型指南
  • 【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA
  • ASP.NET Core SignalR的协议协商
  • c#中Thread.Join()方法的经典示例
  • redis高级数据结构Stream
  • 位图的深入解析:从数据结构到图像处理与C++实现
  • 蚂蚁爬行最短问题
  • 【蓝桥杯嵌入式】UART(收发)
  • 计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
  • Centos Stream 10 根目录下的文件夹结构
  • 【HeadFirst系列之HeadFirstJava】第2天之类与对象-拜访对象村
  • OpenGL学习笔记(十二):初级光照:投光物/多光源(平行光、点光源、聚光)
  • Shapefile格式文件解析和显示
  • Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!
  • 《Wiki.js知识库部署实践 + CNB Git数据同步方案解析》
  • 【算法】动态规划专题⑨ —— 二维费用背包问题 python
  • springboot简单应用
  • 【SQL教程|05】Mysql中Limit用法详解
  • 大疆前端开发面试题及参考答案(4万字长文)
  • 【R语言】卡方检验
  • HTML应用指南:利用GET请求获取全国盒马门店位置信息
  • 《Cherry Studio+DeepSeek+Whoosh:三剑合璧,打造高效AI知识库与全文搜索系统》
  • 【Spring】什么是Spring?
  • (六)C++的函数模板与类模板
  • camera系统之cameraprovider