結構化程式設計(1)


結構化程式設計課程脈絡

“真正重要的不是學習哪種程式語言,而是建立程式設計基本觀念”


程式設計概念

1.程式設計步驟

2.編程(程式設計)如寫作

比如說“一個蘋果從天上掉下來”,轉化成Scratch語言怎麼說呢?

首先要有一個擁有藍天的背景,接著蘋果在Y軸座標為170~180的天上出現,然後蘋果在Y軸方向每隔0.3秒下落10步,等到碰到地面了,還要能停止下落。

視覺(圖形)化程式語言工具-Scratch

小五學生自製動畫紅到MIT

https://www.inside.com.tw/amparticle/12969-11-year-old-boy-coding-spread-to-mit

用Scratch做一個3D引擎

https://www.china-scratch.com/news/9464

牛刀小試

https://scratch.mit.edu/projects/190329351/


Scratch程式設計實作

官方網站

1.Scratch介面說明

(1)2.0

(2)3.0版(2019.01.03)

簡介1

簡介2

2.Scratch專案構成的要素

3.事件導向程式設計及物件導向程式設計

在Scratch環境中設計程式,第一件事是要決定我們加入的程式積木要在什麼條件發生(觸發)的時候開始執行它們。此種方式,可以看做是「事件導向」的程式設計方式。

牛刀小試

控制角色移動的方式

資料引用:詹智傑老師

4.Scratch介面操作

教學互動區

教學影片1(快速1.25倍.邊看邊操作Scratch)

5.Scratch積木分類

教學影片2(快速1.25倍.邊看邊操作Scratch)


實作-電腦遊戲的資料處理

牛刀小試

老師提問1:您覺得電腦遊戲(Computer Game)是甚麼?

老師說明1:

電腦遊戲就是程式.其目的是依照我們設定的流程處理資料

以上這句話有二個涵義:


1.程式的目的是處理資料

2.程式包含處理資料的步驟. 我們可以把程式執行的流程分成三個階段,如下圖

圖片引用:https://sites.google.com/site/ezpythoncolorcourse/dataandvariableintro

圖片引用https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/what_is_program/README.html

在遊戲中有許多的功能包裝、隱藏在程式裡,但是使用者只需要知道輸入、輸出是什麼就好。而程式設計師則要根據輸入資料、設計運算過程、產生輸出資料.程式就是不斷地處理資料

老師提問2:體驗玩小精靈遊戲後.試回答下列問題

Which is more fun? 哪個部份最好玩?

Which is harder? 哪個部份最難的?

How does your strategy change? 你的策略如何改變?

How do you deal with mistakes? 你如何處理錯誤?

老師說明2:

小精靈這款遊戲從1980年推出到現在,一直都是人人心目中的經典之作,在進行遊戲中,我們簡單可把畫面進行分類。


問題定義:

在時間限制內Pacman將小藥片吃完,完成闖關任務。.

問題拆解:

1 Pacman 要在迷宮裡四處移動,吃掉所有的pill(小藥片) 才能過關。迷宮左右兩邊有傳送通道,Pacman 可以從迷宮左邊離開,然後在迷宮右邊出現,反之亦然

2.有四隻Ghost(鬼)會追Pacman,每隻Ghost 都有不同的顏色。如果有Ghost 抓到了Pacman,Pacman 就會少一條命。如果Pacman 吃到四個角落的Super_pill(大力丸),Ghost 就會暫時變成藍色,這段時間內Pacman

3.可以吃掉Ghost,獲得額外的分數。每當獲得一定的分數之後,迷宮內就會出現加分的水果。Pacman 將迷宮中的pill 都吃完後,這一關就結束,進入速度加快的下一關

問題簡化:

1.得分規則:小精靈吃到小藥片或者吃到水果得分

2.限制規則:小精靈被Ghost抓到少一條命

3.過關規則:小精靈吃完小藥片而且吃完大力丸過關

 

在規劃以及思考的過程當中,其實你的腦中已經有了運算思維的思考模式,並且透過分析與問題的歸納,包含行走的路線,得分的方式,躲避GHOST技巧,最終完成關卡。

因此,運算思維並不是我們誤以為的複雜、高層次與困難,而是簡單且生活化的思維方式。

程式實作

程式下載

簡易題:

 

挑戰題:


◆ 四隻鬼在四個角落出現,不停移動,每3-5秒隨機改變上下左右方向,碰邊界反彈180度。(右圖)
◆ 小精靈生命值3次,死亡1秒後在畫面中央由透明變不透明,再次開始朝右移動。
◆ 小精靈碰鬼時,會有小精靈死亡消失的過程,再停止遊戲。
◆ 遊戲隨著時間增加難度,如加快鬼和小精靈的移動速度、增加鬼的數量…
◆ 音效、背景音樂
◆ 任何想到的點子

資料引用詹智傑老師


scratch教學資源網

桃園市新屋國中詹智傑老師(課綱委員)

https://sites.google.com/a/swjh.tyc.edu.tw/zhan-zhi-jie-ce-shi-yong/cheng-shi-she-ji

謝東森老師

https://sites.google.com/a/gdps.ntpc.edu.tw/scratch-jiao-xue-wang-zhan/you-xi-ti-ku/2019jiao-xue

均一

https://www.junyiacademy.org/computing/root/scratch-3-m01

花蓮呂老師

https://sites.google.com/view/tonight-code/scratch3?fbclid=IwAR00EhNieTPBir-w3fUf6NzmuSrUebUFSj6UtAu8GgKNT4phGb86kt7Eld0

宜蘭胡老師

http://blog.ilc.edu.tw/blog/blog/1279

美麗新世界

https://www.scratch3.tw/book

高慧君老師

http://coding.nutc.edu.tw/

科丁聯盟

http://www.healthup.org.tw/marketing/course/course.asp?repno=13

Scratch台灣愛好者

https://www.scratch-tw.org/

社團法人中華民國愛自造者學習協會」(PTWA)

https://programtheworld.tw/main.php

自造者教學網

http://itopnet.blogspot.com/?m=1

高科大何敏煌教授

https://nkust.gitbook.io/scratch-3/

TC電子書

http://mail.wcjs.tc.edu.tw/~aher/modules/tad_book3/pda.php?tbdsn=100

Scratch台南線上教材

https://sites.google.com/site/scratchtainanclass/

http://www.hmhsieh.idv.tw/game1071/game1071a.htm

三角貓功夫

http://www.scratchkungfu.com/

遊戲自由e學園4 Scratch3

http://163.20.239.129/~teach/62scratch/download/index.html

巨岩出版

http://163.26.179.6/ctweb/scratch3/html/lesson1.html

宏全

http://w3.baps.tp.edu.tw/teachers/scratch123/index.html

大陸李澤老師

http://xn--mmz.cc/

http://v.qq.com/vplus/f225285f93d7a62cd96face787e921b3?page=video

https://www.woteach.cn/course/view.php?id=6

CC哥教你編程

https://reurl.cc/yy4Xe6

少兒編程

http://www.code6.cn/post/11194.html

https://www.kidscoding8.com/category/scratch

http://m.ituring.com.cn/book/tupubarticle/22638

https://www.kidscoding8.com/101717.html

https://www.kidscoding8.com/4276.html

https://scratch.mit.edu/studios/5987509/

Scratch – 小貓收集錢袋遊戲

https://www.kidscoding8.com/106552.html

百科問答

http://www.haohaodada.com/scratch_teach/Scratch_L10.html

電子點餐系統

https://kada.163.com/project/2438104-2835031.htm

https://kada.163.com/discover.htm?tag=600

https://jingyan.baidu.com/showlist/detail/a3a3f811a455608da2eb8ab9?fr=rec&

https://www.bilibili.com/video/av36199577/

https://v.qq.com/x/page/t0753xhunm2.html

SCRATCH清單

https://www.seodsj.com/1234/

https://jingyan.baidu.com/article/20b68a8885104a796cec620e.html

https://www.bunian.cn/so/key/scratch%E9%93%BE%E8%A1%A8

https://drive.google.com/drive/folders/1HNVRuBveQQuwsG4_RE3bhUxw3frbOE0S

開源課程
http://www.ckjy.org/2016/03/26/scratch%e5%bc%80%e6%ba%90%e8%af%be%e7%a8%8b-%e5%a5%bd%e5%a5%bd%e6%90%ad%e6%90%ad%e7%bd%91%e7%ab%99%e6%8f%90%e4%be%9b%ef%bc%81/

SCRATCH擴充套件
https://blog.gasolin.idv.tw/2019/11/19/scratch3-internet/

素材下載資源
http://www.jsjrcm.com/allStation/jsjrcm/www_jrcmxx_com/subject.jsp?currentPage=1&webStationId=www_jrcmxx_com&webSubjectId=www_jrcmxx_com_109

Scratch迷宮尋寶與簡易AI設計

http://beardad1975.blogspot.com/2016/10/scratchmazeai.html

https://pdes1.blogspot.com/2018/02/scratch.html

http://www.tootood.com/thread-78-1-1.html

其他

http://163.26.50.2/kaiyang

http://www.okpc777.com/wp/%e7%b6%b2%e8%aa%8c/page/2

http://itopnet.blogspot.com/search?updated-max=2019-06-05T08:38:00%2B08:00&max-results=10&reverse-paginate=true&m=1