麥咭編程
放學(xué)完成作業(yè)后,麥咭想起今天在學(xué)校的時(shí)候,賓果出了一個(gè)腦筋急轉(zhuǎn)彎題目將自己考住了,于是拿出一本腦筋急轉(zhuǎn)彎的書看,爭取明天去學(xué)校的時(shí)候可以問一個(gè)賓果沒有看過的腦筋急轉(zhuǎn)彎題,將賓果難住。在看書的過程中,麥咭想到了可以編寫一個(gè)腦筋急轉(zhuǎn)彎的程序,能自動出題,然后讓大家一起玩。
1. 理解鏈表的概念。
2. 掌握新建鏈表的方法。
3. 掌握將記錄添加到鏈表、刪除鏈表中指定記錄的方法。
1. 程序設(shè)計(jì)
2. 鏈表的基本知識
如圖1所示,把變量比作一個(gè)置物的格子,它可以放置任何物品,但同時(shí)只能放置一個(gè),下一個(gè)放進(jìn)去時(shí),自動替換掉前一個(gè)。相比變量而言,鏈表就是多個(gè)置物的格子,每個(gè)格子都可以放置物品。取用物品時(shí),報(bào)物品的序號即可,也可以添加、刪除指定位置的物品。
3. 新建鏈表
打開網(wǎng)頁http://scratch.maiji100.cn/Scratch.html,執(zhí)行“文件”“新建項(xiàng)目”命令,新建項(xiàng)目文件。
如圖2所示,為了存放腦筋急轉(zhuǎn)彎的題目與答案,我們需要新建鏈表。單擊積木區(qū)/腳本/數(shù)據(jù)/■指令,彈出“新建鏈表”對話框。
然后使用相同的方法再新建一個(gè)鏈表,輸入鏈表名稱為“答案”,用來存放腦筋急轉(zhuǎn)彎題目的答案。
如圖3所示,輸入鏈表名稱并單擊“確定”按鈕,我們可以觀察到舞臺區(qū)和積木區(qū)發(fā)生了變化。
如圖4所示,這時(shí),我們就可以將腦筋急轉(zhuǎn)彎的題目和答案分別添加到兩個(gè)鏈表中。
圖4 將題目添加到鏈表“題目1”中
如圖5所示,以此類推,我們通過同樣的方法為麥咭繼續(xù)添加第二個(gè)、第三個(gè)腦筋急轉(zhuǎn)彎題目,如:“為什么暑假比寒假長?”“一個(gè)盒子最少有幾個(gè)邊?”
圖5 向鏈表添加題目內(nèi)容后的窗口
我們再使用相同的方法,將腦筋急轉(zhuǎn)彎的答案加入鏈表“答案”中。
4. 程序搭建
如圖6所示,將題目與答案添加到鏈表中,每添加一次,鏈表長度增加一些。程序停止,鏈表并不會清空。程序每運(yùn)行一次,鏈表就會增加一些記錄。所以,點(diǎn)擊“綠旗”運(yùn)行程序,第一步是刪除鏈表里面所有的記錄,再逐條添加記錄到鏈表中。
通過程序我們知道,每輸入一個(gè)題目給鏈表題目1,對應(yīng)會輸入一個(gè)答案給鏈表答案。依據(jù)鏈表的基本知識我們知道,它們是放入不同的置物的格子,但序號是一樣的。為了保證出題的隨機(jī)性,我們需要新建變量“題目序號”,把題目序號設(shè)定為“1-鏈表‘題目1的項(xiàng)目數(shù)”的隨機(jī)數(shù)。如圖7所示。
如圖8所示,程序從題目庫里面隨機(jī)選取題目后,就需要讓玩家輸入答案,使用詢問并等待指令。
如圖9所示,當(dāng)玩家輸入答案后,程序就需要把玩家的答案與答案庫里面的答案進(jìn)行比對,比對正確則輸出:“‘回答,回答正確,你太厲害了!”比對錯誤則輸出:“‘回答,呃,回答錯誤,再接再厲!”
5. 程序清單
角色的完整程序清單如圖10所示。
圖10 腦筋急轉(zhuǎn)彎程序
通過本節(jié)課的學(xué)習(xí),我們已經(jīng)了解了鏈表的概念,掌握了新建鏈表以及把記錄添加到鏈表中的方法。為了鞏固今天學(xué)到的這些編程知識,同學(xué)們不妨換一個(gè)腦筋急轉(zhuǎn)彎題來試試哦!
(編輯 巧克力)