999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Scratch制作游戲

2022-05-09 18:34:17
電腦報 2022年17期
關鍵詞:游戲

一、漢諾塔簡介

漢諾塔(又稱河內塔)游戲是來源于印度的一個古老傳說:大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。

不論白天黑夜,總有一個僧侶在按照下面的規則移動這些圓盤:一次只移動一片,不管在哪根柱子上,小圓盤必須在大圓盤上面。僧侶們預言,當所有的圓盤都從梵天放好的那根柱子上移到另外一根柱子上時,世界就將在一聲霹靂中消滅,而梵塔、廟宇和眾生也都將同歸于盡(圖1)。

神話故事本身我們不需要深究,不過根據故事中的規則計算,若每秒移動一次圓盤,完全移動需要連續不斷地移動5845.54億年以上,不管故事真假地球都早已毀滅了。那么如果是一個圓盤少一些的漢諾塔游戲,我們又需要移動多久呢?這里我們嘗試按照傳說中的漢諾塔規則,編寫一個Scratch版本的漢諾塔游戲(圖2)。

二、 游戲規則與實現方法分析

1.漢諾塔規則

首先我們需要總結漢諾塔的核心規則:有三根柱子可以放入圓盤,每個圓盤大小不同;最開始所有圓盤按照從小到大的順序放在第一根柱子上面,每根柱子上面的圓盤都只能小的在上面,大的在下面;每次只能移動一個圓盤。

2.規則的轉化

三根柱子可以用三個列表來記錄放入的圓盤;每個圓盤有獨立的編號,編號需要和大小呈現正相關,方便比較大小;每次移動圓盤時,可以將圓盤數據放入一個變量中,一次只能放入一個圓盤的數據;放入圓盤時,將提起的圓盤數據變量與放下的柱子列表最小項進行比較,要小于列表最小項才可以放入列表。

3.程序框架搭建

游戲包含2個角色:向下箭頭、圓盤(用畫筆實時繪制);背景中繪制三根柱子。設定好各項變量:箭頭位置、提起、項數。設定好列表:一、二、三、高度位置。游戲開始后用畫筆工具按照變量列表值畫出需要的圓盤,之后可以控制箭頭選擇圓盤提起和放下,每次對圓盤產生操作,都要重新繪制所有圓盤。背景可以參考圖3自行繪制。

三、數據設定與導入

按照規則要求,我們需要三個柱子列表,這里取名“一、二、三”,另外需要確定圓盤的高度,游戲中我們只用五個圓盤,所以高度最多包含五項,將對應的圓盤y坐標寫入“高度位置”列表中(寫一個文本,然后手動導入到列表),第一個圓盤緊貼地面,之后每個圓盤之間的間隔距離為單個圓盤的高度,這里設為20。列表參考數值如圖,第一個圓盤的y坐標以背景中基線為準自行測量(圖4)。

將三個柱子列表清空后,將五個圓盤的寬度信息(項數×10)輸入第一個列表中,需要注意從大到小輸入,背景代碼參考如圖5。

四、畫筆繪制刷新功能

圓盤使用畫筆實時繪制,畫筆角色不需要顯示出來,可以繪制一個小圓點造型(如圖6),將虛像調到最高讓它隱形。當接收到廣播“畫出圓盤”時,先清空之前的筆跡(圖7)。

然后開始繪制五個圓盤,圓盤位置由三個柱子列表提供x坐標(三根柱子分別為-155,0,155),“高度位置”列表提供y坐標。每個柱子需要繪制的圓盤個數由柱子列表的項數決定,需要注意的是:不同大小的圓盤,x坐標的偏差值不一樣,列表能提供的x坐標是中心點坐標,需要向左右偏移圓盤寬度的一半。同時,為了讓圓盤與圓盤之間更容易區分,我們為每個圓盤設定不同的顏色,我們知道畫筆顏色的數值范圍是1-100,每個圓盤的大小差值為20,所以顏色可以設定為項數×6,在第一個柱子上繪制圓盤的程序如圖8。

27FDCB6F-FAC7-4B71-9829-B0BBAB7D1013

接下來按照同樣的方法繪制出第二根和第三根柱子上的圓盤,x起始坐標改為0和155(圖9)。

五、選擇箭頭的動作

1.選擇箭頭的移動

箭頭角色在造型中直接導入Scratch自帶素材(Arrow1-c)(圖10)。

通過左右鍵控制變量“箭頭位置”在1到3之間切換。按下右箭頭鍵,“箭頭位置”加1,按下左箭頭鍵則相反。當“箭頭位置”等于1的時候,表示移到了第一根柱子上方,當“箭頭位置”等于2的時候,移到第二根柱子上方,當“箭頭位置”等于3的時候,移到第三根柱子上方。為了讓箭頭在3個位置間循環,如果箭頭位置大于3時,將箭頭位置設為1,或者小于1時將箭頭位置設為3(圖11)。

設置箭頭位置對應的x坐標(圖12)。

2.提起圓盤

箭頭在提起和放入圓盤功能之間循環,當完成“提起圓盤”后,才可開始“放入圓盤”;完成“放入圓盤”后,才可以“提起圓盤”。每完成一段操作,則廣播畫出圓盤。每次廣播都需要等上一個廣播內容完成,最開始還需要等待數據注入完成(圖13)。

接收到廣播“提起圓盤”后,為避免一次按鍵多次檢測,我們加上一個等待0.5秒,提示用戶按空格鍵提起圓盤。按下空格鍵后,還需保證當前箭頭指向的柱子上存在圓盤,也就是對應列表的項數大于0,才可以將最上面的圓盤保存到變量“提起”中,然后停止這個腳本(圖14)。

3.放入圓盤

放入圓盤的方法與提起圓盤類似,不同之處在于按下空格鍵后,如果當前箭頭指向的柱子沒有圓盤,也就是對應列表項數為0,則直接將提起的圓盤數據放入對應列表,并將變量“提起”設定為空,否則需要保證對應列表最后一項比提起的圓盤更大,否則不能放入指定列表。放入成功后停止這個腳本(圖15)。

六、 調試和小結

至此程序完成,測試完成無誤后,調整好變量列表的顯示與隱藏即可。我們通過對漢諾塔游戲規則的分拆解析,結合Scratch各模塊功能,創建以畫筆刷新屏幕改變顯示效果的機制,完成了Scratch版本的漢諾塔游戲。通過這個游戲我們可以掌握畫筆積木制作動畫效果的方法、列表數據的提取和插入、變量儲存位置的方法、調取列表最后項的方法等知識點。

測試完成后,在背景代碼中添加調整變量和列表的顯示與隱藏(圖16)。

最后我們再思考一下,如果需要加入更多的圓盤該修改哪些地方呢?除了舞臺背景中重復5次繪制的代碼肯定要改成6,“高度位置”列表中要添加一個新的高度值外,還有其他地方需要修改嗎(圖17)?

完成游戲后如何判斷游戲勝利并表示出來呢?可以添加一個表示勝利的背景(圖18)。那么你修改的程序和我的一樣嗎(圖19)?

想要記錄操作步數,那么這個變量該怎么設置呢?27FDCB6F-FAC7-4B71-9829-B0BBAB7D1013

猜你喜歡
游戲
做游戲
夜間游戲
游戲
送信游戲
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
第八章 直接逃出游戲
小學科學(2015年6期)2015-07-01 14:30:14
游戲五計算
主站蜘蛛池模板: 四虎成人精品在永久免费| 国产a v无码专区亚洲av| 精品国产免费第一区二区三区日韩| 欧美国产在线看| 亚洲国产高清精品线久久| 亚洲无线视频| 日韩精品专区免费无码aⅴ| 亚洲一级色| 国产在线观看91精品| 亚洲男人的天堂久久精品| 最新国产午夜精品视频成人| 四虎影视8848永久精品| 欧美三级日韩三级| 久久不卡国产精品无码| 毛片一区二区在线看| 国外欧美一区另类中文字幕| 欧美激情二区三区| 国产高清色视频免费看的网址| 国产欧美日韩在线在线不卡视频| 日韩精品毛片| 亚州AV秘 一区二区三区| 国产成人精品亚洲77美色| 久青草网站| 国产一区二区丝袜高跟鞋| 成人在线亚洲| 亚洲精品在线影院| 成人精品午夜福利在线播放| 国产欧美日韩精品综合在线| 91久久偷偷做嫩草影院精品| 精品国产成人a在线观看| 中文一区二区视频| 国产麻豆精品手机在线观看| 五月婷婷激情四射| 精品久久国产综合精麻豆| 国产在线98福利播放视频免费| 99精品国产高清一区二区| 97国产精品视频人人做人人爱| 四虎国产在线观看| 亚洲日韩在线满18点击进入| 亚洲av无码人妻| 精品国产免费观看一区| 在线中文字幕日韩| 青青操视频在线| 在线综合亚洲欧美网站| 亚洲成AV人手机在线观看网站| 在线观看国产网址你懂的| 日本午夜网站| 91网站国产| 亚洲日产2021三区在线| 日韩毛片在线视频| 视频二区国产精品职场同事| 亚洲最大综合网| 99视频国产精品| 国产极品美女在线观看| 激情网址在线观看| 亚洲最大看欧美片网站地址| 日韩精品欧美国产在线| 不卡午夜视频| 国产午夜看片| 亚洲国产天堂久久综合| 亚洲精品自拍区在线观看| 日本欧美中文字幕精品亚洲| 全部毛片免费看| 国产三级成人| 人妻丝袜无码视频| 国产97色在线| 日韩精品免费在线视频| 51国产偷自视频区视频手机观看| 精品国产成人a在线观看| 国产91色| 国模极品一区二区三区| 一区二区理伦视频| 538国产视频| 亚洲美女一级毛片| 日韩黄色在线| 亚洲一区色| 欧美成人精品一级在线观看| 国产AV毛片| 香蕉网久久| 婷婷亚洲天堂| 99久久精品久久久久久婷婷| 国产欧美综合在线观看第七页|