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
游戲五計算
主站蜘蛛池模板: 精品国产自在在线在线观看| 亚洲天堂网在线观看视频| 日本免费一级视频| 99在线视频免费| 日本欧美一二三区色视频| 国产麻豆aⅴ精品无码| 91精品小视频| 91探花在线观看国产最新| 欧美一级在线看| 精品综合久久久久久97超人该| 999福利激情视频 | 热久久综合这里只有精品电影| 欧洲免费精品视频在线| 成人免费午夜视频| lhav亚洲精品| 国产精品第5页| 91精品日韩人妻无码久久| 91成人在线免费观看| 黄色网址手机国内免费在线观看| 国产成人精品视频一区二区电影| 人妻中文字幕无码久久一区| 综合色区亚洲熟妇在线| 国产女同自拍视频| 国产精品99久久久久久董美香| 女人18一级毛片免费观看| 中文字幕亚洲综久久2021| 欧美在线黄| 四虎成人精品| 亚洲第一区在线| 蜜桃视频一区二区| 鲁鲁鲁爽爽爽在线视频观看| 久久性妇女精品免费| 91无码人妻精品一区二区蜜桃| 久久频这里精品99香蕉久网址| 999国产精品永久免费视频精品久久 | 人禽伦免费交视频网页播放| 午夜国产理论| 国产一二三区视频| 爱色欧美亚洲综合图区| 久久精品亚洲热综合一区二区| 呦女精品网站| 欧美日本激情| 一区二区欧美日韩高清免费| 思思热在线视频精品| 亚洲久悠悠色悠在线播放| 亚洲色图在线观看| 免费无码AV片在线观看中文| 精品国产三级在线观看| 无码 在线 在线| 亚洲国产综合精品中文第一| 亚洲青涩在线| 五月婷婷丁香色| 一级毛片免费的| 被公侵犯人妻少妇一区二区三区| 久热这里只有精品6| 无码区日韩专区免费系列| 一本无码在线观看| 无码乱人伦一区二区亚洲一| 久久精品娱乐亚洲领先| 91精品国产自产在线老师啪l| 欧美日韩va| 亚洲人成在线免费观看| 男女性色大片免费网站| 色婷婷亚洲综合五月| 日韩欧美网址| 国产自产视频一区二区三区| 最新国语自产精品视频在| 国产区网址| 亚洲中文制服丝袜欧美精品| 992Tv视频国产精品| 日本亚洲国产一区二区三区| 久久综合结合久久狠狠狠97色| 四虎影院国产| 国产偷国产偷在线高清| 亚洲男人天堂2020| 欧美日韩亚洲综合在线观看| 亚洲天堂区| 亚洲精品欧美重口| 毛片网站观看| 性色在线视频精品| 欧美亚洲香蕉| 欧美成人午夜在线全部免费|