竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現(xiàn)在的位置是:首頁 » scratch編程資訊

資訊內(nèi)容

Scratch第三十九講:俄羅斯方塊

極客小將2020-11-26-
想了解編程技巧,就請點擊上面藍字:跟我學(xué)Scratch編程,關(guān)注CC哥 ? 這個俄羅斯方塊本來CC哥想自己做,后來看到網(wǎng)上有一個朋友找了個例子但是看不懂,那CC哥也先不費功夫了,就把這個例子拿出來給大家講解一遍。說真心話,看別人的例子比自己寫還累。

想了解編程技巧,就請點擊上面藍字:跟我學(xué)Scratch編程,關(guān)注CC哥


?

這個俄羅斯方塊本來CC哥想自己做,后來看到網(wǎng)上有一個朋友找了個例子但是看不懂,那CC哥也先不費功夫了,就把這個例子拿出來給大家講解一遍。說真心話,看別人的例子比自己寫還累。

俄羅斯方塊


這個例子還是挺復(fù)雜的,初學(xué)者確實很難看懂,CC哥也花了些時間來。這個程序的網(wǎng)址如下,大家有興趣可以自己上去下載。https://scratch.mit.edu/projects/2725010/editor
閱讀別人的程序也有很多好處:1:學(xué)習(xí)別人的編程技巧,即使是scratch,但也是一門編程語言,一樣有很多技巧,所以多看別人的程序,會學(xué)到很多技巧。而且可以學(xué)到一些很多教程上沒有的方法。2:學(xué)習(xí)別人的編程思路,一個人做程序久了,就會形成自己的固定思路,碰到一個問題就會用自己最熟悉的思路去編程。多看看別人的程序,就會看到很多新的思路,開闊自己的思維。就跟你做奧數(shù)題一樣啦,不光自己做,還要看看別人的解題方法。
我們觀察一下這個程序的特點,也就是比較獨特的部分:1:首選我們看這個程序里有哪些角色,前面7個就是7個方塊了,不好理解的是detecter這個角色。剩下的角色都好理解。我們一會再去單獨談detecter這個角色。

upload/article/images/2020-11-26/099194912dd7fe0288b06d30c07312af.jpg


2:就是這個方格背景了,所有的方塊都要嚴格的在這個方格背景里移動,這個看著簡單,大家學(xué)scratch這么久了,應(yīng)該知道還是有點難度的,如何做到,我們一會討論。

upload/article/images/2020-11-26/1fa37930bd5e1824415788fbdd0d0cec.jpg

3:第三個就是每個方塊的移動,如何保證每個方塊落到另一個方塊上就會停下來。scratch里面一般是檢測碰到角色,和碰到顏色,那么這個程序用的哪個呢?

upload/article/images/2020-11-26/e29fb1dedabe696de34ec6f6f72cd85c.jpg

4:當(dāng)一個方塊落到下面停下來后,怎么實現(xiàn)這方塊就停留在下面,而新的同樣的角色還在上面?這個是用什么方法實現(xiàn)呢?

upload/article/images/2020-11-26/efc36472d24db598115ba1973c925ddb.jpg


5:就是當(dāng)方塊把某一層全部鋪滿的的時候,程序怎么能檢測到呢?通過什么來檢測呢?這是一個難點,說句實話,CC哥想了多方案,發(fā)現(xiàn)最后都沒有設(shè)計者的構(gòu)思的簡單方便。

upload/article/images/2020-11-26/6c33d4eefe85aeac9c42a8be9cad180e.jpg

6:當(dāng)檢測到某一層鋪滿之后,程序怎么實現(xiàn)的消除呢?這也是個難點,因為消除怎么實現(xiàn)呢?而且你還要保證上面的方塊全部移下來。消除完之后會有很多方塊就不是原來的角色形狀了。

upload/article/images/2020-11-26/f235621bb4b5a32141ff906b99576c60.jpg


這是CC哥在分析這個程序時所發(fā)現(xiàn)的一些技術(shù)點,如果我們能自己想出解決的辦法,或者能看懂編程者的方法,那么我們自己也就可以寫這個程序了。另外一些技術(shù)點就比較容易理解,CC哥就不花篇幅講了,比如玩這個俄羅斯方塊,大家都知道角色可以選擇,可以有四個方向,是不是大家第一的反應(yīng)就是用角色旋轉(zhuǎn)來做?而編程者就不是用旋轉(zhuǎn)來做的,而是用造型來處理的。是不是很巧妙?所以當(dāng)按旋轉(zhuǎn)按鈕的時候,程序只要選造型就好了。

upload/article/images/2020-11-26/4895f87b182c65a08a067ef8764ce613.jpg

程序解析


我們先從簡單的問題出發(fā),第二個問題,編程者怎么控制這些角色沿著方格來運動的。而且在移動過程中如何檢測碰到其他方塊?

upload/article/images/2020-11-26/33051d03fcf13c4691ec86c373d604b1.jpg

通過這個就能看出,其實每一步移動距離都是20,也就是方格的大小也是20。如何檢測碰到其他角色呢?我們發(fā)現(xiàn)只有一個檢測命令,就是檢測黑色。如果移動后發(fā)現(xiàn)碰到黑色,就退回上一步。

upload/article/images/2020-11-26/5e5509722a6013f0859b31880e070de5.jpg

從這里我們可以發(fā)現(xiàn),這個編程其實最復(fù)雜的地方(設(shè)計程序經(jīng)常會碰到雖然不難,但是很復(fù)雜的情況)就是如何精準(zhǔn)的控制位置,和檢測多個角色之間的相互碰撞。在檢測方面編程者用了一招最簡單的方式,通過給每一個方塊加上一圈黑色的邊,把整個方格區(qū)域的四周加上了一圈黑邊,這樣只需要檢測黑色,就可以實現(xiàn)所有復(fù)雜的角色之間相互碰撞的問題了。但是這樣簡單的方式也帶來了問題,就是要精準(zhǔn)的控制角色的尺寸和位置。下面這個圖看出問題來沒有?
本來這個木棍方塊應(yīng)該在往下走一格的,但是肯定是碰到了下面黃色方塊或橙色的T字方塊的邊上,導(dǎo)致沒有落下來。這就是編程者沒有精準(zhǔn)的處理好角色的尺寸。這樣的問題在消除的時候也會出現(xiàn)。

upload/article/images/2020-11-26/3c0f6ed850c842ced360bac6b8b82069.jpg

通過分析,回答了剛才2和3的問題。
然后我們看一下這幾個方塊角色的程序,基本上都一樣,CC哥只簡單講這個T方塊就好了:

upload/article/images/2020-11-26/5f52c2fe2899da4cc69e4f2ac4fee0a3.jpg


1:當(dāng)接收到T的消息,也就是說出來一個T方塊,那么就往下落好了,程序不復(fù)雜,在沒有碰到黑色以前(不論是其他角色和邊框)一直下落,每次一格。2:如果碰到了,就回退一步,這樣可以停留在被碰物體的上方。3:重點來了,當(dāng)停穩(wěn)后,圖章! 圖章命令大家學(xué)過了,就是在原地畫一個該角色。這就回答了剛才第四個問題,編程者是通過圖章命令來讓角色停留在原地的。并不是通過克隆。

upload/article/images/2020-11-26/7d929b97bbab4fd96a0ad515c0ffd3d6.jpg


這個是用上箭頭來進行方塊的旋轉(zhuǎn),就是每按一次切換一個造型,其中在切換時一定要檢測一下是否碰到其他角色或邊框,如果碰到,就不做旋轉(zhuǎn)。

upload/article/images/2020-11-26/3a3066fc271a72bd2c87d17b424ccab8.jpg

這段程序是在程序開始界面里顯示一下方塊。

upload/article/images/2020-11-26/2b1b4887264b6d3eac8973c14835c1dc.jpg

upload/article/images/2020-11-26/d8b92602c2467909dd598d1750459267.jpg

這段程序是在方格的右上角提醒下一個要出現(xiàn)的方塊的樣子。

upload/article/images/2020-11-26/755da9a21ed13a70a494ba05fea9e3f2.jpg

upload/article/images/2020-11-26/fbbe07a87fe28508229a00f3ac5f989e.jpg


關(guān)于檢測和消除這部分是程序里難度最大的部分,CC哥下一課再跟大家講。

總結(jié)


在scratch的官網(wǎng)上有很多非常復(fù)雜的程序,來自世界各地Scratch的愛好者,有些連CC哥看起來也非常吃力。但是每次認真分析完一個程序,雖然你還做不出同樣的程序,但是你的編程思路都會得到拓寬。CC哥再一次強調(diào),Scratch是一個非常好的鍛煉思維的工具,通過它可以提升小朋友的思維的科學(xué)性,嚴謹性,邏輯性,創(chuàng)造性。至于是不是一定要編寫出復(fù)雜的程序,并不重要。

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

預(yù)約試聽課

已有385人預(yù)約都是免費的,你也試試吧...

主站蜘蛛池模板: 国产乱码精品一区二区三 | 中文字幕视频一区 | 黄色网址免费看 | 欧美特级| 精品国产青草久久久久96 | 国产网红女主播免费视频 | 99re6热只有精品免费观看 | 国产一级黄色电影 | 国产性猛交xxxx免费看久久 | 久久久国产精品 | 午夜精品一区二区三区在线播放 | 激情婷婷丁香 | 在线观看av网 | 91网站免费观看 | 亚洲国内精品 | 久久国产精品二国产精品 | 成人高清网站 | 99久久99久久精品国产片果冻 | 久色91| 91精品中文字幕一区二区三区 | 久久精品亚洲一区二区三区浴池 | 看国产一级毛片 | 天天操夜夜爽 | а√最新版天堂中文在线 | 欧美一区二区三区在线看 | 国产乱码精品1区2区3区 | 高清视频一区 | 亚洲一区二区三区高清 | 免费中文字幕日韩欧美 | av资源在线 | 亚洲成人精品一区二区三区 | 欧美亚洲一区二区三区 | 成人免费av | 日韩欧美在线一区二区三区 | 黄视频在线免费 | 欧美日韩国产在线一区 | 九九九久久久精品 | 中文字幕在线免费看 | 欧美.com| 中文字幕在线三区 | 国产中文一区 |