光線在真空或介質中 會沿著直線前進,當光行進 在兩不同介質的介面上會有部份光線反射回同一介質。當光線發生反射時,反射的光線滿足「入射角」等於「反射角」的關係,且入射光與反射光均在介面的同一邊,此定律稱為反射定律。
如下圖所示:A路徑代表入射光的行進方向,B路徑代表反射光的行進方向。與介面垂直的線稱為法線,入射光和法線的夾角稱為入射角即∠a,反射光和法線的夾角稱為反射角即∠b 。則∠a=∠b
二、如何來設計反彈?
在Scratch中我們最常見的方式,就是透過移動10點,讓角色碰到邊緣就反彈方式來做到隨機運動的方式,那如果我們要設計反彈的效果,就要了解當角色上下移動時的入射角和反射角的變化關係,和左右移動時的入射角和反射角的變化關係。其實這樣的概念,就是透過「入射角」與「反射角」的概念來設計遊戲。
首先來探討一下方位的部分
觀察Scratch的角度,我們可以發現
順時鐘面向右側,角度是0度到180度。順時鐘面向左側,角度是負180度到到負0度。
面朝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度(往左半圓方向前進),等待一秒。