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

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