1. 程式人生 > >CodeMonke少兒程式設計第1章 step與turn

CodeMonke少兒程式設計第1章 step與turn

## 目標 ## * 瞭解遊戲舞臺的各組成部分 * 掌握**step**和**turn**指令的用法
說起計算機,對於不瞭解它的人來說,也許會感到有些神祕,其實不然,它不過是能夠接收指令並且按照指令執行的一種機器。
計算機一點也不神祕,它的最大優勢,就在於它的執行速度非常非常非常之快。
就在前幾天,在德國法蘭克福舉行的國際超級計算大會發布了最新的全球超級計算機500強的名單,美國超算“頂點”和“山脊”、中國超算“神威·太湖之光”和“天河二號”分列前四位。其中“神威·太湖之光”的峰值效能達到了驚人的12.5億億次/秒! 12.5億億次/秒,這項速度到底有多快?打個近似的比喻,神威·太湖之光計算1小時,相當於13億人同時用計算器計算兩千多年!
![神威·太湖之光](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200228135-1735698966.jpg "神威·太湖之光") 我們都知道,計算機是不能直接聽懂人類語言的,要想讓它按照我們的意願工作,我們就需要對計算機進行程式設計。
由於計算機只能夠識別特定的指令,所以,我們將希望計算機執行的任務,翻譯成對應的一行行的指令,這些指令就組成了一份程式。
把這份程式輸入給計算機,它就能按照你設計的程式工作啦。
從今天起,我們將開始學習“程式設計探險(Coding adventure)”系列課程,通過程式設計的方式,也就是那一行行的指令,去幫助遊戲中的小猴子撿回被大猩猩搶走的香蕉。
在此過程中,你將逐漸學習並掌握計算機程式設計的基礎知識,例如物件、陣列、函式、程式的三種結構(順序、選擇和迴圈)、事件等。

## 舞臺介紹 ## 首先,請選擇“程式設計探險 第一部分:基礎學習”活動,以進入遊戲。
![coding adventure basic 1](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200411369-26496954.png "程式設計探險 第一部分:基礎學習") 在可愛的開場動畫之後,猴博士首次登場了:
![doctor monkey](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200515095-325498071.png "猴博士") 咦,等等,你有沒有注意到,這裡又是“第0關挑戰”,為什麼不是從第1關開始?還記得我們之前的第0章嗎。哈哈,繼續賣個關子,以後揭曉答案。 繼續我們被中斷的學習。 在每次進入到新的關卡之前,猴博士都會給出相應的提示,由於有了本教程,你完全可以直接略過這些提示資訊。
看完提示資訊之後,點選OK,提示框將會消失。
接下來,整個遊戲舞臺呈現在我們面前。
![stage](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200614994-73461811.png "舞臺") 遊戲舞臺分為左右兩塊區域。
左邊是動畫演示區,是這個遊戲的輸出部分。右邊是程式碼輸入區,是整個遊戲的輸入部分。
點選右下角的RUN(執行)按鈕,系統會根據右側輸入的程式碼,在左側的動畫演示區域內,控制小猴子執行對應的動作。RUN按鈕如下圖所示。
![button run](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200700822-1475890958.png "執行按鈕") 在RUN(執行)按鈕的右邊,是重置程式碼按鈕,按下重置按鈕後,右側程式碼輸入區的所有改動將會被清除,恢復到剛進入到這一關卡時的初始狀態。
重置程式碼按鈕就像是一塊橡皮擦,它能快速擦除你在程式碼輸入區域的所有改動。
![button cancel](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200752911-334426085.png "重置程式碼按鈕") 在重置按鈕的右側,是設定按鈕,按下它後,預設隱藏的設定面板將向左滑出。
在這裡,你可以調節音量的大小,控制背景音樂(鳥鳴聲)的開關狀態,以及調節左側動畫的執行速度。
![setting_pannel](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200820633-1740218717.png "設定面板") 在螢幕的左上角,有一把棕色的尺子,你可以用它來測量各個物件之間的距離和角度。
![button ruler](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200846880-631156087.png "米尺") 在螢幕的右上角,還有一個綠色的地圖圖示,通過它,你可以在不同的關卡之間切換。
![button map](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200907618-524192053.png "切換關卡")

## 初試身手 ## 至此,舞臺上的所有內容都已經介紹完了,讓我們來點選一下執行按鈕,看看會發生什麼事情。
![初試身手](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119200934635-716728255.gif "初試身手") 在按下執行按鈕之後,小猴子向前走了一段距離,最後成功地拿到了香蕉。
可是,小猴子為什麼不是向左走,也不是向右走,而是向前走呢?這就要看右側的程式碼啦,小猴子怎麼動作,完全取決於你輸入了什麼程式碼。
輸入區很簡潔,只有唯一的一行程式碼,
![step 15](https://img2020.cnblogs.com/blog/508474/202101/508474-20210119201021887-683214319.png "程式設計第一步") 程式碼只有一行**step**語句,step指令將會是在這個遊戲中我們經常會使用到的指令。
它能讓小猴子執行**移動**這個動作。那麼,該如何告訴計算機要讓小猴子移動多少步呢?
答案是,在step之後空一格,然後輸入移動的步數就可以啦。
至於這個步數要怎麼得到,這個時候左上角的尺子就派上用場了。
單擊一下尺子,它就會跟著滑鼠移動了,在香蕉上單擊一下,表示開始測量,滑鼠移動到小猴子身上,滑鼠移動過程中,距離值會實時顯示,最後在小猴子身上點一下,結束測量。
問你一個問題,除了使用以上的程式外,你還能想到其他的方法幫助小猴子拿到香蕉嗎?
給你三分鐘的時間思考。
相信聰明的你肯定想到了不只一種解決辦法,例如最簡單的辦法就是,將15步拆分成幾次走,而不是一次性的走完。
但是有一點你必須要注意,在這個遊戲裡有這項規定,一行只能寫一行指令,要想寫第二條指令,必須換行之後,在第二行書寫。
其實很多程式語言都是支援在一行書寫多條語句的,不過既然這個遊戲裡規定就是這樣的,那我們遵守這個規定就行啦。
你已經學會step指令的用法了嗎?
使用方法很簡單,再來複習一下,step x, 就能讓小猴子移動x步。 接下來介紹一個新的指令——**turn**。
turn指令,顧名思義,它能使小猴子完成**轉向**的動作。
具體向哪個方向轉動呢?同樣地,在空格之後,輸入left、right或45、-30等角度數即可指定轉動的方向。
趕緊在程式碼輸入區試一試turn的用法吧。 好了,第1章的內容就學習到這裡了。

## 課堂作業 ## * 基礎學習和特技模式的0 - 10 關
注意,一定保證要所有關卡都拿到三顆星。

## 本章小結 ## * 在本遊戲中,一行只能寫一條程式碼。 * 同時按下**Ctrl**和**Enter**鍵,效果等同於單擊RUN按鈕。 * 你可以手動輸入程式碼,也可以點選舞臺左側的物件或下方的指令實現自動輸入。 * 移動指令:**step x**, 其中x表示移動的步數,x既可以是正數,也可以是負數。 * 轉向指令:**turn x**, 其中x表示轉動的方向,可以是left,right,或是45,-45這樣具體的角度。 * 指令格式:**指令名稱** **引數**,注意,**指令名稱**與**引數**之間必須用空格隔開。
## 問答時間 ## 等待你的提