資訊內(nèi)容
Scratch第八講:海底世界(三)
編程任務(wù)
《今天的任務(wù)是增加一個(gè)小海星,我們要操作小魚去吃小海星,一旦吃到,小海星就會(huì)隨機(jī)出現(xiàn)在新的位置,同時(shí)你就得了1分》
程序腳本
1:添加一個(gè)小海星,這個(gè)我們學(xué)過了,從角色庫里選就好了。
2:檢測小魚是否碰撞到海星,一旦碰撞到,海星出現(xiàn)在屏幕的隨機(jī)位置。碰撞測試我們上一講學(xué)過了,用條件語句:如果...那么...。小海星出現(xiàn)在新的位置就需要用到一條新語句了(隨機(jī)數(shù))
隨機(jī)數(shù)指令塊在《運(yùn)算》這個(gè)目錄里,我們可以指定任意一個(gè)范圍來選取隨機(jī)數(shù)。在這個(gè)程序里,我們是希望用隨機(jī)數(shù)來選取海星在屏幕上的坐標(biāo)。那這個(gè)數(shù)字范圍該如何填呢?
坐標(biāo)的用法
為了在舞臺(tái)上精準(zhǔn)定位,Scratch使用一些叫做‘坐標(biāo)’的數(shù)字。他們的使用方法和圖中的坐標(biāo)一樣,水平方向用x表示,垂直方向用Y來表示,要確定舞臺(tái)上的一個(gè)點(diǎn)的坐標(biāo),只需要從舞臺(tái)中心橫向和縱向計(jì)算步數(shù)就好,在舞臺(tái)右上區(qū)域,坐標(biāo)為正,在舞臺(tái)右下區(qū)域?yàn)樨?fù),舞臺(tái)上每一個(gè)點(diǎn)都有唯一坐標(biāo),借助坐標(biāo)就可以把角色移動(dòng)到某個(gè)位置。
提問
大家注意到?jīng)]有,屏幕的坐標(biāo)的最大值是X軸為正負(fù)240,Y軸為正負(fù)180,那為什么我們用的海星的坐標(biāo)為正負(fù)200和正負(fù)150呢?這個(gè)留給小朋友們自己去思考。
3:記錄分?jǐn)?shù)(設(shè)置變量)
分?jǐn)?shù)是一個(gè)在游戲里面最常用的值了,比如獲得多少積分,多少金幣,多少生命值,體力值,等等等等。這些數(shù)字在程序里有一個(gè)重要的名稱:變量。
變量
可以把它理解成一個(gè)小盒子,我們可以把信息放在里面,還可以隨時(shí)修改。在數(shù)學(xué)課上我們也會(huì)學(xué)到變量,比如解方程的時(shí)候x,y就是變量,用字母代替。在程序的里面我們就需要給變量起名字,比如“得分”,我們不僅可以用它來存放數(shù)字,也可以存放其他的信息。變量取名字的時(shí)候一定要清楚的說明其用途的名字。因?yàn)橐粋€(gè)大的程序里面的變量成百上千個(gè),如果名字不能清楚的表達(dá)用途,不要說別人會(huì)看不懂你的程序,恐怕連自己都會(huì)搞糊涂的。
先創(chuàng)建一個(gè)變量:得分
(選擇適用于所有角色)
創(chuàng)建好后,我們在數(shù)據(jù)這個(gè)分類里就看到好多新的圍繞著這個(gè)變量的指令。
第一個(gè)是給變量一個(gè)初始值,比如得分就從0開始。在編程中,當(dāng)我們需要去用變量的時(shí)候,很關(guān)鍵的一步就是要給變量一個(gè)初始值,否則在后面操作的時(shí)候,電腦就不知道變量的初始值是什么,那么圍繞著變量的運(yùn)算也就會(huì)發(fā)生錯(cuò)誤。
第二個(gè)指令是給變量增加一個(gè)數(shù)值。
第三第四條指令是決定是否在屏幕上顯示這個(gè)變量。
創(chuàng)建好變量后,在舞臺(tái)屏幕上有一個(gè)顯示得分的變量,變量的位置可以用鼠標(biāo)拖動(dòng)。可以顯示也可以不顯示。
設(shè)置好了變量,那我們可以開始繼續(xù)遍程啦。程序很簡單,就是在碰撞檢測的判斷語句里加一條給變量加1的指令。
好了,現(xiàn)在點(diǎn)擊一下綠旗,看看執(zhí)行的效果如何?
CC哥操作的不好,才得了4分就掛掉了,然后再執(zhí)行的時(shí)候發(fā)現(xiàn)一個(gè)問題,重新開局時(shí),變量沒有歸零,而是繼續(xù)增加。這明顯不對(duì),說明我們少了一條語句,應(yīng)該在每次程序開始之前就把變量歸零(這就是我們剛才說的錯(cuò)誤,我們忘記了在程序開始的時(shí)候給變量賦值)。讓我們把它加上。
這個(gè)程序基本就設(shè)計(jì)完了,今天主要講了變量的應(yīng)用,以后我們在編程中還會(huì)大量用到變量,大家可以好好掌握一下。
下一講我們會(huì)進(jìn)行對(duì)整個(gè)程序進(jìn)行優(yōu)化,程序的好壞很大程度都在細(xì)節(jié)上,下一講我們會(huì)專門來講,用什么思路去進(jìn)行程序的修正和微調(diào),找出程序中不令人滿意的地方來進(jìn)行調(diào)整。細(xì)細(xì)打磨,做程序也是需要工匠精神的,不追求完美的程序員不是好程序員。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
Scratch第十講:海底世界(四)
今天是我們海底世界的最后一講,主要是對(duì)游戲進(jìn)行優(yōu)化和微調(diào),一方面讓游戲變得更合理和更精美,另一方面也可能是讓游戲變得更難一些或者更簡單一些。讓我們一起來試試看哪里可以來完善的。 增加游戲難度:
- 下一篇
當(dāng)數(shù)學(xué)遇上Scratch | 教你用編程學(xué)數(shù)學(xué)
數(shù)學(xué)和Scratch有什么聯(lián)系? ? ? 數(shù)學(xué)是計(jì)算機(jī)的基礎(chǔ),準(zhǔn)確的說,計(jì)算機(jī)只不過是數(shù)學(xué)在特定領(lǐng)域的一種應(yīng)用。同樣,在Scratch創(chuàng)作中,每一個(gè)作品也都與數(shù)學(xué)有著千絲萬縷的聯(lián)系。 ? ? Scratch作為一個(gè)圖形化的編程工具,各種