官术网_书友最值得收藏!

Preface
前言

隨著“互聯網+”時代的來臨,社會各行業對于計算機技術的依賴達到前所未有的程度,而計算機技術的應用關鍵在于程序的設計和編寫,可以說編程能力不僅是未來社會的需要,也是未來個人所應具備的基本素質。然而學習程序設計并不容易,需要付出艱苦的努力,也要耗費大量的時間和精力,因此選擇合適的學習工具尤為重要。雖然很多大型的編程工具都可以免費使用,但對于初學者來說這些工具顯得過于復雜,由此帶來學習的困惑和壓力。理想的編程學習工具既要操作方便,又要功能齊全,還要簡單有趣。Greenfoot正是這樣一款“小而美”的編程工具。

Greenfoot是由英國肯特大學的學者開發的一款可視化編程軟件,起初被用于Java程序的教學,而且通過可視化的圖形編程環境以及對游戲編程的良好支持,得到了眾多國家的廣泛使用,國外許多高校的計算機教師都使用這款軟件作為Java語言的教學工具。由于Greenfoot在教育界所取得的成功,一些大企業也將其作為自己的官方工具,例如Oracle公司將Greenfoot納入自身培訓體系中,并在官網提供學習支持。同時Oracle還和國內眾多高校與職業院校合作,推出教師培訓計劃,鼓勵教師在教學中將Greenfoot作為工具,共同推動Greenfoot在Java程序教學中的應用。

隨著近年來游戲產業的急劇升溫,游戲人才的缺口急劇增大,同時也吸引了更多的人學習游戲設計和編程。但是游戲程序設計的門檻相對來說比較高,沒有太多合適的學習工具幫助新手入門。游戲設計的書籍大多都是使用專業級的開發工具(如Unity3D、Cocos2d等),針對初學者的編程工具鳳毛麟角。而Greenfoot恰好可以填補這個空缺。Greenfoot為游戲編程提供了豐富而實用的API(Application Programming Interface,應用程序接口),使得編寫小游戲異常方便,雖然它不能直接開發出商業級的游戲應用,但能充分滿足游戲設計愛好者及初學者的學習需求。

可以說,Greenfoot既是學習Java語言的實用工具,又是學習游戲編程的便捷工具。本書寫作的初衷正是希望推廣和普及Greenfoot編程技術,一方面提升Java語言學習者的編程興趣和編程水平,另一方面為游戲設計愛好者介紹一些基本的編程方法并提供實踐的指導。

全書分為五篇14章,內容安排如下。

第一篇(第1章和第2章)介紹Greenfoot編程基礎,包含Greenfoot簡介和Greenfoot游戲設計原理。

第二篇(第3~5章)介紹益智類游戲設計,包含記憶翻牌游戲、拼圖游戲和掃雷游戲開發。

第三篇(第6~8章)介紹休閑類游戲設計,包含彈鋼琴游戲、貪食蛇游戲和打磚塊游戲開發。

第四篇(第9~11章)介紹飛行類游戲設計,包含太空生存游戲、星球大戰游戲和飛揚的小鳥游戲開發。

第五篇(第12~14章)介紹棋牌類游戲設計,包含黑白棋游戲、接龍紙牌游戲和中國象棋游戲開發。

本書的特點主要體現在以下幾方面。

按照學習者的認知規律來組織內容。本書選用的案例大都是經典小游戲,大多數人都比較熟悉,這無形中會增加學習者的親切感,減輕學習壓力。同時,各個游戲案例采用循序漸進的方式來組織,前幾章都是比較短小的游戲,功能相對較少,知識點也比較簡單。隨著學習遞進游戲規模會逐漸加大,游戲功能也更加復雜,涉及的知識點也會增多。但是基于前面章節的學習,讀者也能夠較好地適應相對復雜的內容。

將游戲設計的方法論運用到學習材料的組織上。在現實的游戲設計中經常采用“基于原型,逐步迭代”的方式進行開發,即將整個游戲的全部功能分解為很多小部分,然后一部分一部分地實現。本書內容的組織也采用類似的理念,即將每個游戲案例分解為多個小任務,每一個任務都對應著游戲的某部分功能,并且在前一任務完成的基礎上添加代碼來完成下一個任務,從而展示游戲從無到有逐步擴展的全過程。

內容力求實用,強調實踐操作。本書詳細地描述了每個游戲案例的設計及實現細節,盡量避免論述復雜的理論,著重強調游戲設計的整體過程和游戲編程的具體操作方法,能夠從實踐層面提高讀者的程序設計水平及游戲編程能力。此外,每個案例最后都設置了游戲擴展練習,在其中提供了一些對本案例進行擴展和改進的思路,鼓勵讀者在理解游戲編寫的基本原理之后再加以實踐練習,以便達到學以致用的效果。

通過文本與微視頻的結合來形成綜合性的學習材料。由于本書各章節相對獨立,而且各章的案例被分解為多個任務分別進行介紹,因此特別適合與微視頻講解的形式相結合。書中為每個游戲案例的每個任務都配套了微視頻,詳細講解相關代碼的編寫原理和方法,以便彌補單一文本在敘述方面的不足,從而將文本和視頻音頻結合起來形成綜合性、立體性的學習材料。同時,為每個微視頻生成二維碼附注在章節對應位置上,讓讀者能夠在移動環境下通過掃碼進行學習,從而形成全新的O2O學習體驗。

在使用本書的過程中,建議讀者按照章節的順序循序漸進地學習,這樣更利于理解和積累知識。但由于各章的內容相對獨立,讀者也完全可以根據自身興趣來安排學習的次序。強烈建議讀者在學習過程中加以實踐,對于每個游戲案例的各個小任務,可以先試著自己動手去實現,若遇到問題再參考書中的解決辦法。而對于每章最后的游戲擴展練習,也希望讀者能夠認真地加以思考和解決。“紙上得來終覺淺,絕知此事要躬行”,只有親自動手編寫代碼,才能真正地提高程序設計水平及游戲編程能力。關于本書源代碼,讀者可以掃描二維碼下載。

本書適合所有對游戲設計或程序設計感興趣的讀者,包括高校和職業院校的學生及教師、游戲開發人員、游戲編程愛好者、Java語言學習者、程序設計愛好者等。本書不僅可供讀者自主學習和閱讀,還可以作為高校及培訓機構的游戲設計教材或是Java程序設計的實踐教材。

感謝家人在本書的寫作過程中給予的支持和關心,還要特別感謝楊仕青和高惠君為本書提供了豐富的素材,同時感謝潘肖男翻譯了Greenfoot API文檔。

由于作者水平有限,書中難免存在一些疏漏,敬請廣大讀者批評指正。對于本書有任何疑問,可以發郵件至hawking329@sina.com進行咨詢,也可以加入Greenfoot QQ群(29411309)進行探討。

作者 于白馬湖畔

主站蜘蛛池模板: 康平县| 交口县| 衡阳县| 广平县| 临沭县| 永顺县| 宣武区| 崇信县| 元谋县| 中卫市| 繁昌县| 郴州市| 昌吉市| 建平县| 靖边县| 颍上县| 凤阳县| 绥化市| 玉林市| 莎车县| 中卫市| 当涂县| 资溪县| 罗源县| 鹤岗市| 太仆寺旗| 余庆县| 昌图县| 牡丹江市| 德令哈市| 南宫市| 肇州县| 双峰县| 沛县| 石泉县| 长兴县| 福鼎市| 皋兰县| 红原县| 西和县| 棋牌|