最新消息:

还在为彩票选号发愁?会Scratch编程的孩子分分钟搞定!

Scratch 少儿编程 2769浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

许多家长以为孩子学编程就是学习做游戏,殊不知学习编程可以解决许多实际问题。

 

看到新闻上说2018年全年有25亿的彩票逾期未兑奖,数额之大,让人感到吃惊。作为家长的你,是否也购买过彩票?购买彩票的时候是否为选择一个彩票号码发过愁?如果你家孩子学习过编程,那他就可以分分钟,轻松解决你的彩票选号问题!

 

这里以双色球号码生成为例,向你展示学习了少儿编程之后,孩子如何通过编程实现一个双色球彩票选号器。

 

先来一睹我们的彩票选号器之双色球。

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

了解规则才能中大奖

 

我们知道双色的号码是由蓝球和红球组成,蓝球共6个号码,号码的数字范围是1到33,红球1个号码,号码的选择范围是1到16。所以我们需要在舞台上展示6个蓝色号码和一个红色号码,号码上的数字范围是蓝球1到33,红球1到16。另外我们需要两个按钮,一个用来随机生成蓝球号码,一个用来生成红球号码。把这些舞台角色拖动到舞台合适的位置上。添加一个如图中的背景,上面的文字可以直接在背景上添加。

 

标题、数字、按钮和背景到这里就准备完毕了。

 

生成号码逻辑要捋清

 

接下来让我们分析一下选号器的交互逻辑,也就是操作步骤。

  • 当点击【蓝球随机】按钮的时候,需要生成6个随机的蓝球号码,这里我们仅仅让点击按钮的时候广播一个【产生蓝球号码】的消息。
  • 当点击【红球随机】按钮的时候,需要生成红球号码,我们广播一个【产生红球号码】的消息。
  • 当点击绿色旗子的时候,需要同时产生蓝球号码和红球号码,我们广播两个消息,一个【产生蓝球号码】消息,一个【产生红球号码】消息。
  • 接收到【产生蓝球号码】消息之后开始逐个生成蓝球号码,红球只有一个,所以【产生红球号码】的消息直接放在红色数字角色中处理。当蓝球号码生成完毕,广播【蓝球号码生成完毕】消息。
  • 当各号码,也就是舞台上的数字角色接收到相应的消息之后,开始滚动,直到当前展示的数字与生成的数字一致才停止滚动。
  • 在数字滚动完毕之后,我们实现了一个属性动画,代表这个号码生成完毕。(动画实现教程参考系列文章里面的《Scratch少儿编程零基础入门课程(五)》)。

 

号码产生流程图:

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

开始动手编写逻辑脚本吧。

 

蓝球需要6个号码,我们使用一个列表进行记录,选中背景,创建一个列表,名字就叫做蓝球号码。红球就一个,我们直接显示出来就可以了。

 

当收到【产生蓝球号码】消息的时候开始生成随机的蓝球号码,指令逻辑如下图

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

需要着重说明的是:蓝球号码不能为零,且不可重复,所以在生成随机号码的时候,我们需要判断该随机号码是否已存在,如果存在,则重新生成一个随机号码,直到生成的随机号码不存在为止,然后存储进蓝球号码列表。蓝球号码生成流程如下。

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

在双色球中,蓝球的顺序是由小到大的,所以需要进行排序,这里用到了我前面文章中讲解的冒泡排序,可以在今日头条中关注 @学而为之 查看文章。这里不再重复讲解。

 

当所有号码都生成完毕以后,会广播出对应的消息。数字角色收到消息以后,从列表中取出自己的号码数字加以展示。指令逻辑如图

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

其他数字添加上同样的逻辑就可以了。

 

红球号码生成逻辑与蓝球类似,大家可以自行处理。

 

一键生成号码更轻松

 

通过点击两个按钮来分别生成蓝球号码和红球号码的功能已经实现了,如果能只需轻轻点一下就生成所有号码不是更方便?来添加点击绿色旗子的处理逻辑。

 

还在为彩票选号发愁?会编程的孩子分分钟搞定!

 

至此,双色球选号器的作品就完成了,赶快试一下吧。

 

编程从来不仅仅是为了创作游戏,更是为了解决生活中实实在在的问题。孩子学习编程也不仅仅是为了锻炼逻辑思维,更是为了锻炼孩子分析、解决问题的能力!

转自公众号:
为之少儿编程

您必须 登录 才能发表评论!