當一小時玩程式:「冰雪奇緣」遇到 Python Turtle Block

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

此篇文章說明筆者示範用【一小時玩程式:「冰雪奇緣」】與 Python Turtle 來學習 Python。

請先看一小時玩程式「冰雪奇緣」介紹影片,了解冰雪奇緣如何進行:
和安娜與艾莎一同玩程式
https://studio.code.org/s/frozen/stage/1/puzzle/1

Python Turtle 線上版本
https://trinket.io/turtle

Python Turtle Block線上版本
https://trinket.io/blocks

第一關畫直線
https://studio.code.org/s/frozen/stage/1/puzzle/1

HOC Block Code:
Python Block Code:
HOC 與 Python 的積木有沒有很像呢?


Javascript 語法:
moveForward(100);

Python 語法:
import turtle

turtle.forward(100)
Javascript 與 Python 的語法有沒有很像呢?

Python Turtle 結果:

從以上可以看出 Javascript 與 Python 語法有類似的地方。
筆者建議讀者可使用 https://trinket.io/turtle 來練習 Python 的語法,而當語法想不起來時,https://trinket.io/blocks 是可以用來輔助熟悉語法的。


第二關畫L型
HOC Block Code:
Python Block Code:


第三、四關畫正方形
HOC Block Code:
Python Block Code:


第五關畫三個正方形
HOC Block Code:
Python Block Code:

第六關畫十個正方形
HOC Block Code:
Python Block Code:


第七關畫十字
HOC Block Code:
Python Block Code:

第八關畫五條交叉線
HOC Block Code:
 Python Block Code:


第九關畫四十五條交叉線
HOC Block Code:
Python Block Code:

第十關畫平行四邊形
HOC Block Code:
Python Block Code:


第十一關畫四個平行四邊形
HOC Block Code:
Python Block Code:

第十二關畫十個平行四邊形
HOC Block Code:
Python Block Code:

第十三關畫圓
HOC Block Code:
Python Block Code:


第十四關函數畫圓
HOC Block Code:
Python Block Code(要建立jump函數):


第十五關畫二十個圓
HOC Block Code:
Python Block Code(要建立jump函數):


第十六關畫大小兩圓
HOC Block Code:
Python Block Code:

第十七關畫五個圓中圓
HOC Block Code:
Python Block Code:


第十八、十九關畫雪花樹枝
此兩關卡用 Python Turtle 需要建立畫 snowflake branch 的函數。可參考 Javascript Code:
// create_a_snowflake_branch
jumpForward(90);
turnLeft(45);
for (var count = 0; count < 3; count++) {
  for (var count2 = 0; count2 < 3; count2++) {
    moveForward(30);
    moveBackward(30);
    turnRight(45);
  }
  turnLeft(90);
  moveBackward(30);
  turnLeft(45);
}
turnRight(45);

Python Block Code:

此外若想用Scratch將冰雪奇緣的圖案給畫出來,可參考謝東森 老師 所寫的教材http://scratch.gdps.ntpc.edu.tw/1hr-wan-cheng-shi/yi-xiao-shi-xie-cheng-shi/bing-xue-qi-yuan

沒有留言: