2022年1月10日 星期一

Scratch & Microbit的反彈遊戲設計-足球守門員

關於反彈遊戲的製作,首先先要來了解一下關於反彈的機制,在討論反彈機制前,先來探討科學裡面最常見的反射定律:

一、什麼是反射定律呢?
光線在真空或介質中 會沿著直線前進,當光行進 在兩不同介質的介面上會有部份光線反射回同一介質。當光線發生反射時,反射的光線滿足「入射角」等於「反射角」的關係,且入射光與反射光均在介面的同一邊,此定律稱為反射定律。
如下圖所示:A路徑代表入射光的行進方向,B路徑代表反射光的行進方向。與介面垂直的線稱為法線,入射光和法線的夾角稱為入射角即∠a,反射光和法線的夾角稱為反射角即∠b 。則∠a=∠b

二、如何來設計反彈?

在Scratch中我們最常見的方式,就是透過移動10點,讓角色碰到邊緣就反彈方式來做到隨機運動的方式,那如果我們要設計反彈的效果,就要了解當角色上下移動時的入射角和反射角的變化關係,和左右移動時的入射角和反射角的變化關係。其實這樣的概念,就是透過「入射角」與「反射角」的概念來設計遊戲。

首先來探討一下方位的部分

觀察Scratch的角度,我們可以發現
順時鐘面向右側,角度是0度到180度。順時鐘面向左側,角度是負180度到到負0度。

往正上方方向


往正右方方向



往正下方方向



往正左方方向

上下反彈時,我們可以發現入射角與反射角剛好在0~180與0~-180的範圍內。
所以這時候我們以「180-入射角」,就可以得到反射的角度。










面朝45度進入,需要以-45度反射。

所以左右反彈的情況,我們可以發現用0減角度,就可以得到反射的角度。

足球遊戲 主要的三個角色為

(1)玩家

(2)電腦

(3)足球

一、先思考一下玩家的程式邏輯

1.玩家的位置要在哪裡?

如果要設置在畫面的右邊,則x=-133,y=0,則比較合理。

2.玩家移動方式要如何進行?

如果"向上"鍵按下時或microbit的A鍵被按下時那麼y是否要改變"10"

如果"向下"鍵按下時或microbit的B鍵被按下時那麼y是否要改變"-10"

記得這個運動方式要不斷重複,所以要用重複積木包起來唷!



二、想想電腦要怎麼移動呢?(全自動方式??)

首先要把電腦的位置先定位好,這邊可以設定在x=133,y=0,則比較合理。

為了讓電腦會自動跟著足球跑,所以這邊滑行的方式要跟著足球來上下移動?

在偵測積木中,這邊我們可以設計成"滑行0.5秒"到x=133,y=足球的y座標+隨機取數1到5(這樣有時候速度慢時就會漏球)

三、最重要的足球運動方式

1.大小定位+分數設置

當點擊時,定位到(x=0.y=0)的位置,建立變數"玩家分數"和"電腦分數"。

變數"玩家分數"和"電腦分數"設為"0"。

2.足球碰到玩家及電腦的移動方式?

碰到玩家方式:如果碰到玩家,面朝隨機取數10到170度(往右半圓方向前進)

碰到電腦方式:如果碰到電腦,面朝隨機取數-10到-170度(往左半圓方向前進)

3.足球移動和碰到顏色的得分改變?

足球移動:移動10點,碰到邊緣就反彈

3-1如果碰到紅色(玩家的球門口)球要如何定位,朝哪裡前進?

如果碰到"顏色紅色"那麼,變數"電腦分數"改變"1",定位到x=0,y=0的位置,面朝隨機取數10到170度(往右半圓方向前進),等待一秒。

3-2如果碰到藍色(玩家的球門口)球要如何定位,朝哪裡前進?

如果碰到"顏色藍色"那麼,變數"玩家分數"改變"1",定位到x=0,y=0的位置,面朝隨機取數-10到-170度(往左半圓方向前進),等待一秒。



舞台角色-音樂設計




 


線上好用軟體推薦區

各種文件線上轉檔-smallpdf

按鈕圖框線上產生工廠-da-button-factory

CSS語法按鈕線上產生-i2style

破解網頁無法用右鍵功能說明

office2007wordpdf增益集

直接下載youtubeMP4~MP3(修改網址方式)

GIFYouTube 線上將 YouTube 影片轉檔為 GIF 動畫圖

檢測CPU是否過熱的工具,並推測該換散熱膏

CrystalDiskInfo 7.0.0 免安裝中文版 - 硬碟資訊檢測工具

ssd進階調校須知:開啟AHCI,改善讀取效率

公文系統重灌相關資訊彙整網

23合一 YouTube 下載、MP3 影音轉檔、錄製、影片編輯工具(Free Studio v6.6.27.822

讓使用者直接上傳檔案到你的Google雲端硬碟,接收檔案更輕鬆!(新增多檔上傳)

Blogger建立網誌

用「USB隨身碟」安裝、重灌 Windows

Windows 7 SP1 Update Package 微軟更新修正包 (2016.07月份)

何將 Facebook 粉絲專頁嵌入到網站或部落格

Blogger嵌入PowerPoint簡報

Rufus製作UEFI主機板的Windows 10 USB安裝隨身碟

Sticker 簡單好用的「桌面便利貼」

Synology Photo Station 建立專屬自己的網路相簿

一點通 - 如何設定 Windows 7 印表機共享

如何抓取網路上的SWF動畫/互動電子書檔案?

翻頁式電子書製作軟體《Flip PDF》免費下載!

Free PDF to Flash SWF - PDFFlash SWF(支援中文)

建立網頁桌面捷徑

AOMEI Partition Assistant Standard Edition 5.8增加C磁碟的空間

Auslogics Disk Defrag v7.0.0 硬碟重組軟體

[網站架設] 用電腦架設網站!XAMPP 安裝教學 (Windows)

[教學]如何架設安裝WordPress部落格?

Win10系統用win7的開始功能選單

IE瀏覽器】新索引標籤 設定,內含 分頁被綁架、移除教學!hao123Google連結

網路工具《NetBalancer Free》監控網路速度

FastStoneCapture 畫面擷取工具 繁體中文免安裝版

DAEMON Tools Lite 是一個免費的虛擬光碟軟體

區網殺手《NetCut 網路剪刀手》剪斷佔用頻寬的小白不手軟

Chrome 遠端桌面:Google 推出的手機遠端遙控軟體

黑群輝dsm安裝教學:基礎安裝()

黑群暉dsm安裝教學:mac-addresssn產生

MEGA 超大 50 GB 免費雲端硬碟註冊、下載教學

Videomega.tv 容量無限免費影片上傳空間!還能分享影片賺取廣告收益

賽風 Psiphon 免費 VPN 翻牆軟體下載,內建六國家節點不限流量(WindowsAndroid

[下載] 免費 PotPlayer v1.6.63833 繁體中文版(原版無修改),更勝 KMPlayer 的影音播放器!

Sandboxie v5.12 在「沙盒」裡玩病毒、木馬或執行可疑程式

Microsoft Snip 電子白板、標註解說、錄影錄音工具

XXCLONE v2.08.5 – 新舊硬碟直接對拷、換硬碟免重灌的工具

【備份軟體】Acronis Backup 11.5 Build 43994 - 異機還原的最佳幫手

免費線上程式設計課程code.org

線上工具/服務

YouTube 網址加上 to 就可以將影片下載為 MP3 MP4

創見推出的檔案救援工具 RecoveRx,可救援電腦、記憶卡的誤刪資料

利用 Photoshop 製作縮時攝影更快更方便,免用多媒體軟體剪輯

三分鐘在 Synology NAS 上架設 WordPress 部落格

Emsisoft Emergency Kit (EEK) 11.0.0.6082 免安裝中文版 - 電腦中毒時的緊急救援掃毒USB隨身碟

防毒大廠Bitdefender推出的免費USB免疫工具,快來幫隨身碟打疫苗吧!

Emsisoft Emergency Kit 免費電腦急救包(正體中文免安裝版)

Auslogics Disk Defrag來重組你的硬碟

產生QR Code及一般條碼的方式

QR Code 條碼產生器,免費製作您想說的話

Mp3cut 線上音樂剪輯工具,不用軟體就能製作手機鈴聲

[懶人架站機] The Uniform Server v13.2.1 在 Windows 電腦快速架站(支援 Apache, PHP, MySQL, phpMyAdmin, Perl)