当前位置: 首页 > 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.lryc.cn/news/534446.html

相关文章:

  • new 以及 call、apply、bind 关键字解析
  • 【用Deepseek搭建免费的个人知识库--综合教程(完整版)】第二篇:Ollama服务器
  • 【图片合并转换PDF】如何将每个文件夹下的图片转化成PDF并合并成一个文件?下面基于C++的方式教你实现
  • 从基础到人脸识别与目标检测
  • Elasticsearch:在 Elastic 中玩转 DeepSeek R1 来实现 RAG 应用
  • 寒假2.6--SQL注入之布尔盲注
  • CTF中特别小的EXE是怎么生成的
  • git rebase 和 git merge的区别
  • Gitlab中如何进行仓库迁移
  • LabVIEW 开发航天项目软件
  • 深度整理总结MySQL——MySQL加锁工作原理
  • kafka专栏解读
  • 1-portal认证功能
  • MySQL面试题合集
  • spring学习(druid、c3p0的数据源对象管理)(案例学习)
  • WordPress博客在fnOS环境下的极简搭建与公网地址配置指南
  • 【PG】DROP TABLE ... CASCADE
  • 绕组电感 - Ansys Maxwell 磁通链与电流
  • 物联网软件开发与应用方向应该怎样学习,学习哪些内容,就业方向是怎样?(文末领取整套学习视频,课件)物联网硬件开发与嵌入式系统
  • 《LeetCode Hot100》 Day01
  • vue动态table 动态表头数据+动态列表数据
  • 1.3 GPT vs BERT 终极选择指南:从架构差异到企业级落地策略
  • python-leetcode 23.回文链表
  • 食品饮料生产瓶颈?富唯智能协作机器人来 “破壁”
  • Golang GORM系列:GORM CRUM操作实战
  • C++ labmbd表达式
  • 《大规模动画优化(一):GPU 顶点动画的生成》
  • 【前端】几种常见的跨域解决方案
  • 如何在WinForms应用程序中读取和写入App.config文件
  • 【分布式理论7】分布式调用之:服务间的(RPC)远程调用