資訊內(nèi)容
少兒創(chuàng)意編程scratch初級游戲--翻翻樂
話不多說,點(diǎn)擊藍(lán)字關(guān)注吧~

可愛的小朋友們,今天我們來編一個(gè)“翻翻樂”小游戲吧。
游戲介紹:翻翻樂是一款考驗(yàn)記憶力的小游戲哦!游戲中玩家只要找出兩張相同圖片就能將其消除,消除所有圖片就算勝利哦。

翻翻樂
效果圖
點(diǎn)擊邊框調(diào)出視頻工具條玩家通過操控錘子擊打洞里冒出來的地鼠來得分。
變量
在這個(gè)游戲中,我定義了4個(gè)變量:
(1)已翻卡牌編號:這個(gè)變量表示第一次翻起來的卡牌編號,它是隱藏變量。
(2)第幾次翻牌:這個(gè)變量表示第1次還是第2次翻卡牌,它是隱藏變量。
(3)猜對次數(shù):這個(gè)變量表示猜對了幾次。如果猜對4次,表示這一局游戲結(jié)束,它是隱藏變量。
(4)行數(shù):這個(gè)變量用于創(chuàng)建列表,它是隱藏變量。
還定義了兩個(gè)列表:
臨時(shí)列表:這個(gè)列表用于生成“卡牌1”到“卡牌8”的順序列表。
卡牌列表:這個(gè)列表用于將卡牌順序隨機(jī)打亂,這樣在每一局游戲中,卡牌的排列順序都是不一樣的。
背景

圖1背景圖
選擇黑色幕布作為舞臺(tái)背景
“背景”腳本

圖2背景腳本
背景只有一段腳本,當(dāng)接收到“開始游戲”時(shí),刪除臨時(shí)列表的全部項(xiàng)目。然后將行數(shù)設(shè)置為1。因?yàn)橛?張卡牌,所有重復(fù)執(zhí)行8次,將“卡牌”和“行數(shù)”連在一起,形成一個(gè)字符串,加入臨時(shí)列表中,然后把“行數(shù)”增加1。通過循環(huán),我們將字符串“卡牌1”到“卡牌8”順序插入到“臨時(shí)列表”中。
接下來刪除“卡牌列表”中全部項(xiàng)目,然后進(jìn)入循環(huán),直到“臨時(shí)列表”的項(xiàng)目數(shù)為0才會(huì)跳出循環(huán)。在循環(huán)體中,首先從1到“臨時(shí)列表“的項(xiàng)目數(shù)之間取一個(gè)隨機(jī)數(shù),并將其賦值給變量“行數(shù)”。然后將“臨時(shí)列表”的第“行數(shù)”項(xiàng)的值加入到“卡牌列表”中,并且將“臨時(shí)列表”的“行數(shù)”項(xiàng)刪除。通過這3條語句,可以從“臨時(shí)列表”中隨機(jī)選擇一條記錄,將其插入到“卡牌列表”中,然后從“臨時(shí)列表”中刪除這條記錄。經(jīng)過8次循環(huán),“臨時(shí)列表”中的數(shù)據(jù)都遷移到了“卡牌列表”中,只是順序被打亂了。
之后,廣播“排列卡牌”消息,然后初始化,將變量“已翻卡牌編號”設(shè)置為空,將變量“第幾次翻牌”設(shè)置為1,將變量“猜對次數(shù)”設(shè)置為0
角色


圖3角色圖
這個(gè)游戲一共9個(gè)角色,分別是8張卡牌和開始按鈕
第1個(gè)角色:開始

圖4開始圖
這是開始按鈕,也是用來提示沒有選中的提示框。造型如圖4,前2個(gè)是按鈕,最后一個(gè)是提示信息。
為這2個(gè)角色增加了2個(gè)聲音,分別表示沒選中所對應(yīng)的聲音“沒選中”和全部選中后的聲音“成功”。聲音是從本地上傳的
“開始”腳本展示


圖5開始腳本
第一步:當(dāng)綠旗被點(diǎn)擊時(shí),將造型切換為“開始”造型,顯示角色。
第二步:當(dāng)點(diǎn)擊角色時(shí),如果造型是“開始”或“再來一局”按鈕,廣播“開始游戲”,隱藏角色。
第三步:當(dāng)接收到“開始游戲”時(shí),在條件“猜對次數(shù)=4”成立前一直等待。(因?yàn)橛?張卡牌,兩兩匹配,最多會(huì)匹配成功4次)
當(dāng)條件成立時(shí),播放“成功”聲音,之后將猜對次數(shù)重設(shè)為0,造型切換為“再來一局”按鈕,然后顯示角色。
第四步:當(dāng)接收到“錯(cuò)誤”消息時(shí),播放“沒選中”的聲音,并且將造型切換為“沒選中”,顯示角色1s后,隱藏信息。
如何確定卡牌的放置位置
卡牌1和卡牌2是1對,卡牌3和卡牌4是1對,卡牌5和卡牌6是1對,卡牌7和卡牌8是1對。如果是順序排放,卡牌1到卡牌4在第1行的1至4列,卡牌5到卡牌8在第2行的1至4列。
為了讓游戲好玩,我們會(huì)讓卡牌隨機(jī)排列。例如,讓卡牌1到了第2行的第4列,而卡牌2到了第1行的第4列;卡牌3到了第2行的第2列,而卡牌4到了第1行的第3列;卡牌5到了第1行的第2列,卡牌6到了第2行的第1列;卡牌7到了第1行的第1列,卡牌8到了第2行的第3列。
第1行卡牌的y坐標(biāo)是70,第2行卡牌的y坐標(biāo)是-70.
第1列卡牌的x坐標(biāo)是-160(-260+100),第2列卡牌的x坐標(biāo)是-60(-260+200),第3列卡牌的x坐標(biāo)是40(-260+300),第4列卡牌的x坐標(biāo)是140(-260+400)
第2個(gè)角色:卡牌1

圖6卡牌1
卡牌1腳本展示

第一步:當(dāng)接收到“排列卡牌”消息,首先顯示角色,將造型切換為“反面”,將變量“計(jì)數(shù)器”設(shè)置為1。然后循環(huán)8次,如果變量“計(jì)數(shù)器”最初為1,那么條件“卡牌1=卡牌列表的第計(jì)數(shù)器項(xiàng)”就是比較“卡牌列表”的第1項(xiàng)內(nèi)容是否等于字符串“卡牌1”。如果不滿足條件,也就是“卡牌列表”的第1項(xiàng)內(nèi)容不等于字符串“卡牌1”,就會(huì)將“計(jì)數(shù)器”加1。然后進(jìn)入下一輪循環(huán),直到找到“卡牌列表”中內(nèi)容等于字符串“卡牌1”的那一項(xiàng)。這一項(xiàng)的序位數(shù),就是變量“計(jì)數(shù)器”的值。然后設(shè)置該角色的位置。通過判斷變量“計(jì)數(shù)器”的值,來獲取信息。如果“計(jì)數(shù)器”的值<5,表示在第一行,否則在第二行。設(shè)置好該角色位置后,會(huì)停止當(dāng)前腳本。

第二步:當(dāng)角色被點(diǎn)擊時(shí),比較卡牌。如果變量“第幾次翻牌”等于2并且變量“已翻卡牌編號”等于字符串“卡牌1”,表示是第2次翻牌且翻的是同一張牌,那么就沒有必要進(jìn)行比較,所以停止腳本。
否則,將卡牌造型切換為“正面”,等待05s,再將造型切換為“反面”造型。目的是讓玩家能夠看到卡牌的內(nèi)容。
如果滿足條件“第幾次翻牌=1”,將“已翻卡牌編號”設(shè)置為字符串“卡牌1”,將變量“第幾次翻牌”設(shè)置為2。
否則,要判斷“已翻卡牌編號=卡牌2”,如果成立,表示匹配成功,廣播“第1對正確”消息,并將“猜對次數(shù)”加1;如果不成立,表示沒有匹配成功,廣播“錯(cuò)誤”,并將變量”第幾次翻牌“重新設(shè)置為1。

第三步:當(dāng)接收到”第1對正確“消息后,播放聲音"ya",并將角色切換為翻卡狀態(tài)0.5s,表示匹配成功,然后隱藏角色。
圖7卡牌1腳本
第3個(gè)角色:卡牌2

圖8卡牌2
卡牌2腳本展示
卡牌2和卡牌1的腳本基本一致,這里把差異地方介紹一下。

設(shè)置卡牌2的擺放位置,這里比較的是字符串“卡牌2”。

點(diǎn)擊角色,比較卡牌。注意,第1次翻牌,要將變量“已翻卡牌編號”設(shè)置為字符串“卡牌2”。做卡牌對比時(shí),這里要將變量“已翻卡牌編號”和字符串“卡牌1”比較。

圖9卡牌2腳本
第4個(gè)角色:卡牌3
卡牌3到卡牌8也基本和卡牌1與卡牌2的腳本一致,只是在擺放的位置、比對卡牌內(nèi)容方面有所不同,這里不再贅述,只是把腳本列出來。

圖10卡牌3
卡牌3腳本展示



圖11卡牌3腳本展示
第5個(gè)角色:卡牌4

圖12卡牌4
卡牌4腳本展示



圖13卡牌4腳本
第6個(gè)角色:卡牌5

圖14卡牌5
卡牌5腳本展示



圖15卡牌5腳本
第7個(gè)角色:卡牌6

圖16卡牌6
卡牌6腳本展示



圖17卡牌6腳本展示
第8個(gè)角色:卡牌7

圖18卡牌7
卡牌7腳本展示



圖19卡牌7腳本展示
第9個(gè)角色:卡牌8

圖20卡牌8
卡牌8腳本展示



圖21卡牌8腳本展示

好了,翻翻樂的游戲做好啦!自己試著玩一玩,看看游戲效果吧!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
