日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

打砖块游戏-第12届蓝桥杯Scratch省赛1真题第5题

發布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 打砖块游戏-第12届蓝桥杯Scratch省赛1真题第5题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[導讀]:超平老師計劃推出Scratch藍橋杯真題解析100講,這是超平老師解讀Scratch藍橋真題系列的第51講。

第12屆藍橋杯青少年組省賽分兩次進行,這是2020年10月19日舉行的第一次省賽考試初級組,形式為在線考試。Scratch分為初級組和中級組,其中初級組面向7~10歲孩子,中級組面向11~14歲孩子。

打磚塊游戲,本題是第12屆藍橋杯Scratch第一次省賽真題初級組編程第5題,這是最后一題。題目要求考生編程創作一個打磚塊游戲,磚塊的初始生命值為1 - 5,磚塊被打擊一次,生命值減1,生命值為0的時磚塊消失。

先來看看題目的要求吧。

一.題目說明

編程實現:

打磚塊游戲,磚塊的初始生命值為:1 – 5,磚塊被打擊一次,生命值減1,生命值為0的時磚塊消失。

具體要求:

1).?點擊綠旗舞臺呈現效果(27個磚塊如圖分布,且磚塊造型隨機顯示);

2).?小貓能不停地發射小球(間隔0.1秒),小球面向鼠標指針的方向發射,且小球碰到邊緣反彈;

3).?小球打到磚塊時小球消失,同時磚塊的生命值減1,呈現與生命值對應的造型;

4). 磚塊的生命值為0時,消失;

5). 所有磚塊消失,游戲結束。

評判標準:

  • 20分:滿足要求1);

  • 20分:滿足要求2);

  • 20分:滿足要求3);

  • 20分:滿足要求4);

  • 20分:滿足要求5)。

二.思路分析

本作品一共有3個角色,分別是小貓、小球和磚塊,如圖所示:

其中小貓角色只需要顯示在舞臺左下角即可。不停地發射小球,意味著舞臺上會出現大量的小球,所以需要使用克隆,然后控制克隆體的運動即可。

本題的重點是磚塊角色,首先需要在舞臺上方克隆出27個磚塊,分3排擺放,這可以使用嵌套循環來實現。其次,每個克隆體磚塊都有不同的生命值,并顯示不同的造型,這需要使用私有變量。

?

三.編程實現

根據題目描述及思路分析,我們可以按角色逐個編寫程序:

  • 小貓角色

  • 小球角色

  • 磚塊角色

1). 小貓角色

小貓角色最簡單,只需要設置好位置即可,代碼如圖所示:

2). 小球角色

小球是從小貓的手上發射出去的,需要先設置好小球角色的位置,然后每隔0.1秒克隆一個小球,代碼如下:

由于小球本體是不需要參與發射的,因此將本體隱藏起來。接下來就需要控制克隆體了,克隆體沿著鼠標的方向移動,如果碰到舞臺邊緣就反彈,如果碰到磚塊則刪除克隆體,代碼也比較簡單,如下:

當開關打開時,需要注意的是,“面向鼠標指針”指令,要放在循環外面,如果放在循環里面,則小球時刻面向鼠標移動,這不是我們要的效果。

2). 磚塊角色

根據前面的分析,每個磚塊克隆體都有自己的生命值,需要使用私有變量,創建私有變量“_生命值”如圖所示:

必須要勾選“僅適用于當前角色”選項,變量名前面加了一個下劃線,這是一個良好的編程習慣,讓自己和別人一看到這個變量,就知道是私有變量。

同時還需要創建一個變量用來表示磚塊的數量,其初始值為27。接下來,我們就可以克隆磚塊了,先上代碼:

這里使用了嵌套循環,其中內層循環用于克隆每一排的9個磚塊,由于它們都是從左到右排列,所以,每次克隆之前,需要將x設置為-200,然后循環9次,每克隆1個,將x坐標增加50,向右移動一點。外層循環則表示要克隆3排,因此每克隆完一排,就將y坐標增加-40,向下移動一點。

在克隆磚塊之前,每次都需要設置私有變量”_生命值“的值,基于克隆體的特性,每個克隆體就擁有自己的生命值,并且互不相干。

有了克隆體磚塊,就可以根據自己的生命值來顯示不同的造型了,磚塊角色有5個造型,如圖:

接下來就需要檢測是否碰到小球了,如果碰到小球,則將生命值減1,如果生命值減到0,則需要刪除當前克隆體,并將磚塊數量減1。同時還需要判斷磚塊數量是否減到0,如果為0,則停止全部腳本,編寫代碼如下:

在刪除克隆體之前,增加了一個”等待0.01秒“指令,其作用是確保在刪除自己之前,讓小球角色能夠檢測是否碰到磚塊。如果沒有等待0.01秒,一旦磚塊角色的刪除此克隆體代碼比小球角色檢測碰撞代碼先執行,那么小球就不會消失,從而出現小bug,這就是Scratch中經典的雙克隆體碰撞問題。

需要注意的是, 這里的如果...那么指令嵌套了3層,你也可以不使用嵌套的寫法,但是這是判斷次數最少的寫法,也是最效率最高的寫法。

四.總結與思考

本題中等難度,難度系數為4,積木塊數量在47個左右,分值為100,涉及到的知識點主要包括:

  • Scratch克隆,包括克隆自己、當作為克隆體啟動時和刪除此克隆體3大指令;

  • 克隆技巧,使用雙重循環克隆多行角色;

  • 私有變量,通常和克隆體結合使用;

  • 雙克隆體碰撞問題的特點及解決方案;

  • 循環和條件的多層嵌套。?

很顯然,本題的考察重點是Scratch克隆,不管題目怎么變,始終記住一點,克隆體在克隆的那一刻,和本體的特征一模一樣,包括造型、大小、坐標、變量的值等。正所謂,萬變不離其宗,只要記住這一原則,如何控制每個克隆體的位置,如何為克隆體設置私有變量,都變得很簡單。

如果你覺得文章對你有所幫助,別忘了點贊,你的鼓勵是我堅持繼續寫下去的最大動力,Thanks?(・ω・)ノ。

?

總結

以上是生活随笔為你收集整理的打砖块游戏-第12届蓝桥杯Scratch省赛1真题第5题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。