張忠和

案例教學是提高基礎知識運用能力的一個非常好的手段,也是激發學生創作積極性的有效方法。特別是以學生感興趣的案例為切入點能起到事半功倍的效果。本文利用網絡上流行的游戲“開心農場”、“陽光牧場”作為切入點,開發一個程序實現定時提醒收割或定時提醒偷竊,成功地解決了網友在等待中白白地浪費時間或錯過收割時機。
一、知識點準備
1.控件數組
見表1
表1說明如下:
(1)選用控件數組是為了方便編寫源程序代碼,充分利用該案例界面中每行任務的同質性。
(2)“選擇網站”和“選擇場地”控件數組選用組合框控件而不選擇列表框控件。這是由于很多個網站有開心農場游戲,在制作界面時無法窮盡,當用戶使用該程序時既可在給定的下拉列表中選擇給定文本也可直接填入未給定文本。
(3)“間隔分鐘”、“剩余時間“、“序號姓名”三個控件數組皆選用文本框,利用文本框控件的“Chang”事件編寫“間隔分鐘”控件數組的過程代碼,從而實現用戶在“間隔分鐘”所在列的文本框中輸入作物收割所需的分鐘數,之后在程序代碼的控制下,用“剩余時間”“提醒位置”和“蜂鳴器”三種方法提醒用戶收割時間已到。“剩余時間”和“序號姓名”兩列控件數組無事件代碼,只起到提示時間和記錄的作用。
(4)“提醒位置”控件數組選用圖片框控件,便于用顯著的圖片來起到提醒的作用,本控件數組也無需編寫事件代碼,在制作界面時將圖片加載,并在窗體的Load事件過程中令該控件數組的Visible = False使其程序運行時隱藏,再利用定時器控件(Timer)控制其何時顯示。
(5)“循環利用”控件數組選用Command控件數組,其事件過程目的是在提醒任務完成后用該控件清空本行繼續實現另一個提醒目的。
2.定時器控件
設計兩個核心定時器控件,一個控制調用“提醒位置”顯示圖片的子過程,另一個負責聲控提醒。再安排16個定時器控件分別控制各自行的“剩余時間”。
3.基礎知識
(1)數組:本案例源程序聲明了四個數組,實現源程序中時間運算、時間控制以及累加器等任務。
(2)循環結構:選用For循環,實現控件數組的賦值和數組的賦值。
(3)選擇結構:主要使用Select Case語句。
二、主要過程代碼
1.“間隔分鐘數”一列文本框控件數組的代碼
Private Sub Text1_Change(Index As Integer)
Select Case Index
Case 0
b(0)=0‘累加器變量
If Text1(0).Text=""Then Exit Sub‘不輸入時間則不啟動計時程序段
m(0)=Val(Text1(0).Text)‘間隔分鐘數變量
t(0)=CDate(Format(m(0)60,0)&":"&Format(m(0)Mod60, 0)&":"&"00")+Time‘轉換為未來時刻
Timer3.Enabled=True‘啟動定時器控件3
2.“清空”一列的代碼
Private Sub Command1_Click(Index As Integer)‘恢復到初始狀態
Select Case Index
Case 0
Combo1(0).Text ="":Combo2(0).Text="":Text1(0).Text ="":Text2(0).Text="":Picture1(0).Visible=False:Timer3.Enabled=False
t(0)=#11:59:59PM#
y(0)=16
Text3(0)=""
…… ……
通過本程序的學習,使學生探索性地學習了開發一個實用程序,學生的編程水平上了一個新臺階。鞏固并充實了《Vasaul Basic程序設計》課程中的許多知識點。為學生編程水平的進一步提高打下了堅實的基礎。
(作者單位:山東省泰安市高級技工學校)