還在爲彩票選號發愁?會Scratch編程的孩子分分鐘搞定!

許多家長以爲孩子學編程就是學習做遊戲,殊不知學習編程可以解決許多實際問題。

 

看到新聞上說2018年全年有25億的彩票逾期未兌獎,數額之大,讓人感到吃驚。作爲家長的你,是否也購買過彩票?購買彩票的時候是否爲選擇一個彩票號碼發過愁?如果你家孩子學習過編程,那他就可以分分鐘,輕鬆解決你的彩票選號問題!

 

這裏以雙色球號碼生成爲例,向你展示學習了少兒編程之後,孩子如何通過編程實現一個雙色球彩票選號器。

 

先來一睹我們的彩票選號器之雙色球。

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

瞭解規則才能中大獎

 

我們知道雙色的號碼是由藍球和紅球組成,藍球共6個號碼,號碼的數字範圍是1到33,紅球1個號碼,號碼的選擇範圍是1到16。所以我們需要在舞臺上展示6個藍色號碼和一個紅色號碼,號碼上的數字範圍是藍球1到33,紅球1到16。另外我們需要兩個按鈕,一個用來隨機生成藍球號碼,一個用來生成紅球號碼。把這些舞臺角色拖動到舞臺合適的位置上。添加一個如圖中的背景,上面的文字可以直接在背景上添加。

 

標題、數字、按鈕和背景到這裏就準備完畢了。

 

生成號碼邏輯要捋清

 

接下來讓我們分析一下選號器的交互邏輯,也就是操作步驟。

  • 當點擊【藍球隨機】按鈕的時候,需要生成6個隨機的藍球號碼,這裏我們僅僅讓點擊按鈕的時候廣播一個【產生藍球號碼】的消息。
  • 當點擊【紅球隨機】按鈕的時候,需要生成紅球號碼,我們廣播一個【產生紅球號碼】的消息。
  • 當點擊綠色旗子的時候,需要同時產生藍球號碼和紅球號碼,我們廣播兩個消息,一個【產生藍球號碼】消息,一個【產生紅球號碼】消息。
  • 接收到【產生藍球號碼】消息之後開始逐個生成藍球號碼,紅球只有一個,所以【產生紅球號碼】的消息直接放在紅色數字角色中處理。當藍球號碼生成完畢,廣播【藍球號碼生成完畢】消息。
  • 當各號碼,也就是舞臺上的數字角色接收到相應的消息之後,開始滾動,直到當前展示的數字與生成的數字一致才停止滾動。
  • 在數字滾動完畢之後,我們實現了一個屬性動畫,代表這個號碼生成完畢。(動畫實現教程參考系列文章裏面的《Scratch少兒編程零基礎入門課程(五)》)。

 

號碼產生流程圖:

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

開始動手編寫邏輯腳本吧。

 

藍球需要6個號碼,我們使用一個列表進行記錄,選中背景,創建一個列表,名字就叫做藍球號碼。紅球就一個,我們直接顯示出來就可以了。

 

當收到【產生藍球號碼】消息的時候開始生成隨機的藍球號碼,指令邏輯如下圖

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

需要着重說明的是:藍球號碼不能爲零,且不可重複,所以在生成隨機號碼的時候,我們需要判斷該隨機號碼是否已存在,如果存在,則重新生成一個隨機號碼,直到生成的隨機號碼不存在爲止,然後存儲進藍球號碼列表。藍球號碼生成流程如下。

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

在雙色球中,藍球的順序是由小到大的,所以需要進行排序,這裏用到了我前面文章中講解的冒泡排序,可以在今日頭條中關注 @學而爲之 查看文章。這裏不再重複講解。

 

當所有號碼都生成完畢以後,會廣播出對應的消息。數字角色收到消息以後,從列表中取出自己的號碼數字加以展示。指令邏輯如圖

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

其他數字添加上同樣的邏輯就可以了。

 

紅球號碼生成邏輯與藍球類似,大家可以自行處理。

 

一鍵生成號碼更輕鬆

 

通過點擊兩個按鈕來分別生成藍球號碼和紅球號碼的功能已經實現了,如果能只需輕輕點一下就生成所有號碼不是更方便?來添加點擊綠色旗子的處理邏輯。

 

還在爲彩票選號發愁?會編程的孩子分分鐘搞定!

 

至此,雙色球選號器的作品就完成了,趕快試一下吧。

 

編程從來不僅僅是爲了創作遊戲,更是爲了解決生活中實實在在的問題。孩子學習編程也不僅僅是爲了鍛鍊邏輯思維,更是爲了鍛鍊孩子分析、解決問題的能力!

轉自公衆號:
爲之少兒編程

發佈了352 篇原創文章 · 獲贊 275 · 訪問量 62萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章