鄭丁元 傅馨竹
(德陽市岷山路小學,四川 德陽 618000)
2017年7月,國務院發布了《新一代人工智能發展規劃》,其中提到“在中小學階段設置人工智能相關課程,逐步推廣編程教育”。VB語言是國家計算機等級考試二級語言中的一種。筆者在培訓小學生學習VB程序語言過程中,以實際項目推動,帶領小學生完成了“兒童益智游戲”的設計與測試。
“兒童益智游戲”包括三個游戲,圖1是其界面。“警察捉小偷”游戲主要訓練小朋友使用鼠標、“吉祥數”游戲訓練小朋友們的反應能力、“售貨機”游戲培養孩子們的理財意識。
點擊游戲將打開對應的exe文件,對應的代碼是,gouwu = Shell(App.Path + “快樂購物.exe”,1)
設置初始界面為橢圓的方法是使用VBAPI。
一共有2個圖像,分別是“警察”、“小偷”。游戲中,計算機控制小偷移動,用戶操作鍵盤的上下左右箭頭去抓捕小偷。有一個滾動條,可以控制警察速度。標簽則可以顯示警察一個移動了多少步。窗體每10秒改變一種顏色。
改變“警察”圖標背景顏色的代碼是,
jc.BackColor = RGB(Int(Rnd()* 256),Int(Rnd()* 164),Int(Rnd()* 256))
小偷下一步運動方向的方法是,在小偷當前位置,如果朝上下左右的四個位置走一步,判斷哪個方向是增大距離,然后小偷向距離大的方向移動,實現逃離。
設置顯示吉祥數的三個標簽為控件組。可以用一句代碼就實現在三個標簽中產生吉祥數。
Randomize
For Index = 0 To 2
Label1(Index).Caption = Int(Rnd()* 10)
Next
制訂了吉祥數得分規則,如“三個吉祥數,999分”、“三個數相同但不是吉祥數,666分”,不重復計分。
輸入自己的“吉祥數”,點擊“開始”后即可在標簽上快速閃現0-9的數字,“開始”按鈕變成“停止”。此時,不可以修改吉祥數。
判斷得分的方法是,停止計時器Timer工作后,讀取標簽上三個數字,從第一條規則開始判斷,符合某一條規則則給出相應的分數并跳出判斷循環,否則繼續判斷是否符合下一條規則。
圖2是某次運行時,顯示3個數字符合規則2,得分888分。此時已經運行了10次,總分數是3088分。
數字的顯示速度可以調整。如果將速度調成“特別慢”,可以有效地訓練孩子們的反應能力。設置速度是通過改變計時器Timer1的Inteval值來實現的。“特別慢”的代碼是,Timer1.Interval = 200
進入游戲時,因為還未投錢,左側的所有圖標均是灰色,不可操作。在右側投入金額,如1元、5元、10元,則左側對應可購買的貨物將變為可操作狀態,不再是灰色。
購買了相應的物品,則在中間的列表框中購買的全部物品。隨著金額的減少,若金額低于某類物品價格,則該類物品將會變成灰色,又不可購買了。
金額少于5元時,使對應金額物品標簽變成灰色的代碼是,
If qian<5 then
Label5.enable=false
EndIf
這個程序可以訓練小朋友們的理財能力,讓他們懂得錢的流失,同時,也可以讓他們懂得錢的來之不易。
游戲實現了預定的功能,經調試后發布,得到了小朋友們的喜愛,增強了學生的成就感,提升了學習編程語言的興趣。
美中不足的是,游戲界面的美化還有很多工作可以做。