跳至內容

Mama (軟件)

維基百科,自由的百科全書
Mama
原作者Eytam Computer Science
當前版本1.5.2(2010年2月22日)
操作系統Microsoft Windows
類型Educational
許可協議Proprietary
網站http://www.eytam.com/mama

Mama是一種面向對象編程語言,是為了幫助年輕學生通過使用自己母語的語言元素接觸編程而設計的。Mama編程語言適用於幾種語言,並帶有LTRRTL語言指導支持。

新的Mama變種構建在美國卡耐基梅隆大學Alice開發環境上,支持3D舞台對象的腳本編程。這個新的Mama變種是為幫助年輕學生通過構建3D動畫和遊戲接觸編程而設計的。

歷史

[編輯]

Mama的開始版本 - 1.0, 1.1和1.2 - 提供簡單的整合的開發環境(IDE),其包含對標準元素的支持,例如帶有語法高亮的文本標記,編譯器,調試器,輸出窗口等。從1.5版本開始,Mama就整合了開源的Alice IDE以支持拖放編程和3D動畫。Mama通過Java實現。

當前版本1.5.4,有英語希伯來語兩個版本,並且可以在Microsoft窗口中運行.

設計

[編輯]

產業編程語言為產品代碼而設計的,因此引入了額外的複雜度。Mama僅僅是為教授編程概念,提供簡單快捷的開發方法而設計的。語法錯誤會讓剛開接觸編程的學生感到很沮喪 - Mama藉助3D模型在Alice上的變種中使用拖放模式創建計算機動畫

Mama語言是一種簡單的面向對象的語言,而Alice IDE是基於對象的。這就意味着,在使用Mama語言編寫文本腳本時支持所有面向對象的元素(繼承多形態原生編程觀察者模式風格的事件處理),使用拖放模式創建對象和方法是基於對象的 - 沒有繼承(因此也沒有多形態)。最後的觀察會讓初學者困惑 - 因此建議只在計算機課程的高級階段使用Mama腳本。

Mama 1.5對Alice 2.2的主要改進。

  • 作為(豐富)的腳本語言添加Mama編程語言 - 3D場景對象可以通過腳本機制操縱。
  • 完全支持統一碼。
  • 3D對象的創建和編輯。
  • 支持上傳視頻至ouTube和在Facebook發布。
  • 支持場景和角色。
  • 面向指導人員的教程編輯器工具。
  • 帶有音頻的視頻輸出。
  • 用戶獨立運行的可運行程序。
  • 更好的菜單邏輯。
  • 修復了許多漏洞。

IDE基礎知識

[編輯]

IDE窗口由幾個部分組成:在頂部你會發現主菜單和工具欄,它允許你執行命令。例如創建/打開一個world程序,輸出3D對象到world,創建獨立運行的應用,導出動畫到YouTube等。 主窗口中的五個窗口是:

  • 對象樹 - 包含當前world程序中的對象列表。
  • 3D窗口 - 放置,移動,旋轉對象的地方。
  • 事件區域 - 允許你編輯某個事件發生時的情況。
  • 細節區域 - 包含了3個標籤中被選中的對象信息:屬性,方法和函數。
  • 編輯器區域(在底部)- 是使用拖拽指令的方式編寫程序代碼的地方。

在場景編輯模式下,上述兩個部分被取代:

  • 控制面板 - 代替事件區域,並顯示各種用於操作3D窗口中對象的控制指令。
  • 對象圖庫 - 代替編輯區域,並顯示等級文件夾中的對象,以便選擇並嵌入到3D窗口。

以下是Alice IDE中可用的基本類型:

  • 數字 - 數字類型,代表整數和實數
  • 布爾 - 布爾值,接受真或假
  • 對象 - 一般Mama對象
  • 字符串 - 字符串,字符的集合
  • 顏色 - RGB顏色
  • 結構地圖 - 結構地圖
  • 聲音 - 聲音
  • 姿勢 - 對象的被捕獲的姿勢
  • 位置 - 定義3D空間中位置的3D數組
  • 定向 - 定義3D空間定位的3D數組
  • 視角 - 定位位置的組合

在編輯器區域底部可用的控制指令:

  • 順序執行 - 順序執行指令序列
  • 一起執行 - 同時執行指令序列
  • 如果 - 只在給定條件下順序執行指令序列
  • - 當給定條件成立,順序執行指令序列
  • 對於 - 順序執行指令序列給定次數
  • 對於所有順序執行 - 迭代給定集合,順序執行指令序列
  • 對於所有一起執行 - 迭代給定集合,同時執行指令序列
  • 等待 - 等待給定的秒數
  • 打印 - 打印數據到輸出控制台
  • 聲明 - 聲明一個條件為真,如果條件為假顯示一條消息(Mama1.5新指令)
  • 腳本 - 給程序添加自由Mama腳本
  • # - 給程序添加注釋

參見

[編輯]

引用資料

[編輯]

外部連結

[編輯]