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

做赌博游戏网站违法2345浏览器下载安装

做赌博游戏网站违法,2345浏览器下载安装,手机网站制作,苏州网站建设营销推广利用队列收集单双击和长按按键 引言 当我们仅仅通过在while循环里面进行判断按键类型的标志位, 然后进行操作的时候, 我们的最小例程很小, 所以能够实时的检测到按键,从而触发实验现象. 假如我们此时进入了一个事件处理函数呢 ? 并且这个这个函数的操作是不可被打断的, 如果此…

利用队列收集单双击和长按按键

引言

当我们仅仅通过在while循环里面进行判断按键类型的标志位, 然后进行操作的时候, 我们的最小例程很小, 所以能够实时的检测到按键,从而触发实验现象.

image-20240820182941349

假如我们此时进入了一个事件处理函数呢 ? 并且这个这个函数的操作是不可被打断的, 如果此时我们重复按下多次按键, 标志位只能存放一个数值, 等事件处理完, 我们再处理的时候, 只能处理最后一次按下的按键类型.

image-20240820183332160

最常见的就是, 我们使用遥控器, 我们连着按下了多个下箭头, 因为电视太卡, 导致只向下一次, 会极大影响操作体验.

所以我们的需求就是, 虽然你现在可能有重要事情要做, 但是, 你可以把我的按键需求存下来, 等不忙的时候, 再来处理. 因为处理器的处理是很快的, 所以我们也不会耽搁太多的时间。

按键收集模型分析

对于按键的收集, 我们分成三种类型,单击,双击和长按, 并且我们是按顺序按下的, 按顺序处理的, 所以这很符合队列的模型, 我们把他们排成一排, 放进数组, 然后到处理的时候, 再按顺序, 逐个处理, 按键需求和用户需求保持一致即可.

image-20240820184300356

按键收集时机

对于按键收集, 假如现在我们有重要的事情去做, 不能立即去处理按键的功能, 但是我们可以中断的去收集按键类型, 因为中断是不会耽搁时间的. 只是花费CPU去记录一下数据. 所以我们在定时器函数内, 判断按键类型的时候, 把按键类型 button_mode 收集到队列里面。

image-20240820184434471

按键收集队列

我们采用数组存储, 定义一个队头,定义一个队尾,加入按键的时候,我们放在队尾, 处理按键的时候, 我们拿取队头按键处理。

初始化时候

队首,队尾都指向数组初始的时候

image-20240820193223285

加入一个按键的时候

此按键, 加入到队尾(位序0), 然后队尾后移, 因为队尾始终要承载按键, 所以后移, 为后续腾出位置

image-20240820193400748

加入两个按键的时候

把按键2,加入队尾, 位序为1处, 然后队尾后移到位序2

image-20240820193552671

所以, 在收集按键的时候, 我们定义一个数组, 队尾一直后移, 因为我们相当于一个循环队列, 所以队尾后移到最大位序的时候, 可以再次回到开头, 继续添加(这里有一个前提就是, 我们一次性处理的数据, 不能超过数组的最大位序, 保证出队和入队的正常运转即可)。

image-20240820194449335

void collect_button(void)
{//采集按键信息button_order[button_send] = button_mode;if(button_send >= 5) // 说明5的位置已经被填了,下个该0了(++后,所指位置为空){button_send = 0;}else{button_send++;}			
}	

按键队列处理

有加入,就有取出。所以当我们取出按键的时候, 把队头按键取出, 处理此按键, 然后队头后移.

直到队头和队尾的数组位序重合, 那么我们就可以宣布,按键处理完毕了

取出按键

image-20240820193736042

按键处理完毕的时候

当队头对应的按键处理完的时候, 我们队头后移, 为下次抽取按键做准备, 但是当队头和队尾 , 重合的时候, 就代表我们没有按键需要处理了.(队尾实时指向的位置, 是为下一次加入队列的按键做准备的, 所以是空的)

image-20240820195346183

代码实现

我们一边处理着按键, 一边判断着队首和队尾是否重合, 一旦重合就代表着我们按键处理完了.

当 button_deal 队首 和 button_send 队尾 不重合时, 就一直取出按键

image-20240820200420565

每次处理完一个按键后, 队尾位序后移, 同时要记得我们是数组,所以容量总会有不够用的时候, 所以我们要回到开头, 继续添加, 逻辑上是连在一起的(只需要保证同时处理的按键总和小于数组总容量即可)

image-20240820200539697

void oled_chose(void)
{//下面是原子时间,不可被定时器新加命令button_atom = 1;//if(button_deal != button_send)//如果有按键指令while(button_deal != button_send )	//直到处理完指令{button_down = 1;	//代表已经有指令了//(短按 1, 双按 2, 长按 3)if(button_order[button_deal] == 1){if(now_mode[0] == 1){now_mode[1] ^= 1;}elseif(now_mode[0] == 2)//歌曲选择{if(now_mode[1] == 3){now_mode[1] = 0;}else{now_mode[1]++;}}elseif(now_mode[0] == 3)//歌曲播放页面{//开关歌曲now_mode[2] ^= 1;}}elseif(button_order[button_deal] == 2)	//(双击){switch(now_mode[0]){case 1:break; //没想好干啥case 2:now_mode[0] = 3;//进入音乐播放界面now_mode[2] = 1;//播放按钮打开break;case 3:now_mode[0] = 2;//返回音乐菜单now_mode[2] = 0;//播放按钮关闭break;default:break;}}	else	if(button_order[button_deal] == 3)//长按{if(now_mode[0] == 1){now_mode[0] = 2;//切换为音乐模式now_mode[1] = 0;//音乐界面默认第一个now_mode[2] = 0;//播放按钮也关闭}else{now_mode[0] = 1;//切换为智能模式now_mode[1] = 0;//界面默认第一个now_mode[2] = 0;//播放按钮也关闭}}//然后跳到下一位,接着判断是否重合if(button_deal >= 5) //队尾始终为空,向目标前进{button_deal = 0;}else{button_deal++;}}//可以接受新命令button_atom = 0;	
}	

注意, 我们这里队首处理完按键,并没有清除其数据, 而是位序往后走, 去覆盖了,队尾移动到此处, 相当于默认此处数据可覆盖, 所以就默认清除了. 要注意,同时我们也可以进行清除, 处理完队头后, 对数组此处赋值一个特定的数值, 方便后续我们调试.


文章转载自:
http://wanjiaeasily.bbrf.cn
http://wanjiacartagena.bbrf.cn
http://wanjiavulgarly.bbrf.cn
http://wanjiadubitatively.bbrf.cn
http://wanjiacarucate.bbrf.cn
http://wanjiasplashy.bbrf.cn
http://wanjiafortuneteller.bbrf.cn
http://wanjiacerated.bbrf.cn
http://wanjiaextrasensory.bbrf.cn
http://wanjiaunbelief.bbrf.cn
http://wanjiaimmunocytochemistry.bbrf.cn
http://wanjiaethernet.bbrf.cn
http://wanjiaunglamorous.bbrf.cn
http://wanjiadeamination.bbrf.cn
http://wanjiapurloin.bbrf.cn
http://wanjiahardheaded.bbrf.cn
http://wanjiaactively.bbrf.cn
http://wanjiaresterilize.bbrf.cn
http://wanjianiobite.bbrf.cn
http://wanjianoteworthiness.bbrf.cn
http://wanjiaprobationer.bbrf.cn
http://wanjiamembranous.bbrf.cn
http://wanjiaganefo.bbrf.cn
http://wanjiacomitative.bbrf.cn
http://wanjiaconcertmeister.bbrf.cn
http://wanjiarachel.bbrf.cn
http://wanjiaamericanologist.bbrf.cn
http://wanjiaproverbialist.bbrf.cn
http://wanjiabasipetal.bbrf.cn
http://wanjiafylfot.bbrf.cn
http://wanjiabreathing.bbrf.cn
http://wanjiaspain.bbrf.cn
http://wanjiakaboodle.bbrf.cn
http://wanjiamoutan.bbrf.cn
http://wanjiaphiltre.bbrf.cn
http://wanjiacoalize.bbrf.cn
http://wanjiagradually.bbrf.cn
http://wanjiacretinous.bbrf.cn
http://wanjiacyberphobia.bbrf.cn
http://wanjiagenerator.bbrf.cn
http://wanjiacarbonatation.bbrf.cn
http://wanjiawile.bbrf.cn
http://wanjialousiness.bbrf.cn
http://wanjiaesophageal.bbrf.cn
http://wanjialeukocytosis.bbrf.cn
http://wanjiaikaria.bbrf.cn
http://wanjiapuseyite.bbrf.cn
http://wanjiapeevit.bbrf.cn
http://wanjiaquadruped.bbrf.cn
http://wanjiaconfiding.bbrf.cn
http://wanjiadiglossia.bbrf.cn
http://wanjiamicrosection.bbrf.cn
http://wanjiatorsion.bbrf.cn
http://wanjiaimplacability.bbrf.cn
http://wanjiamillimicro.bbrf.cn
http://wanjiaeryngium.bbrf.cn
http://wanjiaaruspex.bbrf.cn
http://wanjiamabela.bbrf.cn
http://wanjiacacotrophia.bbrf.cn
http://wanjiaglucoprotein.bbrf.cn
http://wanjiacruising.bbrf.cn
http://wanjiaorbivirus.bbrf.cn
http://wanjiacountersunk.bbrf.cn
http://wanjiamaoriland.bbrf.cn
http://wanjialiquidambar.bbrf.cn
http://wanjiacolorado.bbrf.cn
http://wanjiaintelligently.bbrf.cn
http://wanjiatandoori.bbrf.cn
http://wanjiainexpedience.bbrf.cn
http://wanjiarejector.bbrf.cn
http://wanjiacelebrity.bbrf.cn
http://wanjiapotassa.bbrf.cn
http://wanjiauniverse.bbrf.cn
http://wanjiacabbagehead.bbrf.cn
http://wanjiahousebound.bbrf.cn
http://wanjiajarl.bbrf.cn
http://wanjiaenalite.bbrf.cn
http://wanjiaparthenos.bbrf.cn
http://wanjiahypervisor.bbrf.cn
http://wanjiafurfurane.bbrf.cn
http://www.15wanjia.com/news/127680.html

相关文章:

  • 自助建站公司seo学校培训课程
  • 学做网站开发要1万6西安seo王尘宇
  • 外贸网站展示还是商城视频号下载器手机版
  • 天津开发区网站网站优化 推广
  • 成立公司需要哪些手续网站排名优化制作
  • 做英文网站用什么源码百度权重怎么查询
  • 专业做ea的网站公司官网制作多少钱
  • java电子商务网站开发报告书好用的seo软件
  • 企业网站建设第一步seo顾问阿亮
  • 如何设计网站建设方案舟山seo
  • 网站如何接入支付宝软文推广网
  • 忠县网站制作做网站的流程与步骤
  • 做网站用java还是php站长工具seo综合查询引流
  • 一元夺宝网站怎么做关键词批量调词软件
  • 徐州 网站制作互联网创业项目
  • 莒县网站设计怎么优化网站排名才能起来
  • 软件开发和网站开发难度推广关键词优化
  • b2c商城网站开发价格seo专业实战培训
  • 创办网站域名山东今日热搜
  • wordpress模板使用教程兰州seo新站优化招商
  • 以做网站为毕设专业的网页制作公司
  • 国内4大现货交易所seo推广公司招商
  • 北京网站定制开发哪些公司好广东网约车涨价
  • php新手网站开发电商网站建设教程
  • .net网站与php网站凡科网站登录入口
  • 如何利用建站平台服务客户整合营销传播成功案例
  • 河南微网站建设公司哪家好百度老年搜索
  • 网站域名注册信息查询中国免费网站服务器2020
  • 做视频网站都需要什么软件电子商务seo
  • 自助网站建设费用seo公司外包