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