Mama 脚本编程指导你可以使用Mama编程语言在程序中编写脚本。 该语言的结构和语法非常类似Python,但是支持3D对象操作。 有两种方式输入脚本: 使用“脚本”程序块,或者使用自由脚本窗口(仅当“使用自由脚本编程”的配置参数设置为“真”)。 两种模式都允许你输入你需要的任何代码,其根本区别在于执行时间:
内容
基础知识Mama允许你使用“打印”命令打印任何你需要的东西并输入到控制台:打印 "哈喽 Mama!" #打印“妈妈你好!”写在“#”符号后面的文字都是注释。 你也可以定义一个持有上面字符串的变量,然后打印出来: define s="哈喽 Mama!" 打印 s #打印“妈妈你好!”注意: 变量必须在使用之前通过“定义”关键字定义。 如果使用未定义的变量,会发生语法错误:
s="哈喽 Mama!"
打印 s
输出: 名称异常: 名称未定义 错误修复选项: 1. 验证名称拼写正确 2. 验证名称在使用前已定义 数学下面一个程序向你展示Mama中的数学操作:名称异常 - 名称's'没有定义 错误修复选项: 1. 验证名称拼写正确 2. 验证名称在使用前被定义输出是: 12 5 17 12 5 60 12 5 2.4我们可以用较短的形式编写上一个程序,并带有解释信息: define 一=12, b=5, ç ç = 一+b 打印 一,b,ç ç = 一*b 打印 一,b,ç ç = 一/b 打印 一,b,ç输出是: a= 12 b= 5 a+b= 17 a= 12 b= 5 a*b= 60 a= 12 b= 5 a/b= 2.4 列表你可以有任何类型的列表 - 数字,字符串,对象等。 而且,列表可以包含不同类型的元素。你可以通过括号操作符定义项的列表(“(” 和“)”)并使用下标访问它的元素 (“[]”): 12 5 17 12 5 60 12 5 2.4数字列表可以通过范围操作符 ("..")创建: define 一=12, b=5 打印 "一=",一,"b=",b,"一+b=",一+b 打印 "一=",一,"b=",b,"一*b=",一*b 打印 "一=",一,"b=",b,"一/b=",一/b列表可以指派给变量: 一= 12 b= 5 一+b= 17 一= 12 b= 5 一*b= 60 一= 12 b= 5 一/b= 2.4 表/映射表用来把键映射到对象。 例如:define 字母=("一", "b", "ç", "Ð", "é", "f") 打印 字母[4] #打印:电子 打印 字母[1,2,3] #打印:(乙,丙,四) 打印 字母[1..4] #打印:(二,三,四,五) 打印 字母.长度() #打印:6 字母.加("p") #加上'p'来了列表的末尾 字母.移除("ç") #删除'c'的从列表 打印 字母 #打印:(甲,乙,D和E,氟,磷) 字母.相反() #הופכתאתסדרהאיבריםבסדרה 打印 字母 #打印:(磷,氟,电子,D组,B,1) 字母.分类() #排序列表 打印 字母 #打印:(甲,乙,D和E,氟,磷) 控制流如果/否则条件陈述在Mama中使用关键字“如果”,“否则”和“否则如果”编写。打印 2..5 #创建列表(2,3,4,5),并打印它 打印 12..20 @ 3 #创建一个子列表(12,13,14,15,16,17,18,19,20),其中包含的元素(12,15,18),然后打印它 循环Mama有3中循环:“对于”,“当”和“重复”。“对于”循环可以用来循环列表中的元素: p define 一,b,ç 一,b,ç=10,-2,"哈喽" 打印 一,b,ç #打印:10 -2打招呼
define 动物的高度 = ["狗":50, "马":170, "猫":30, "鼠标":6] 动物的高度["兔子"] = 20 打印 动物的高度 #打印:[猫:30,狗:50,马:170,鼠标:6,兔子:20] 声明 动物的高度.长度()==5 #创建一个副本 define 吨 = 动物的高度.复制() 打印 吨 #打印:[猫:30,狗:50,马:170,鼠标:6,兔子:20] #保存到文件并从文件恢复 吨.写入("动物.的DAT") 吨.清理() 吨.读取("动物.的DAT") 打印 吨 #打印:[猫:30,狗:50,马:170,鼠标:6,兔子:20]重复循环允许你编写运行n次的简单循环: define 一=随意(),b=随意() 打印 "一=",一,"b=",b 如果(一 < b) 打印 "一<b" elif(一>b) 打印 "一>b" 其他的 打印 "一==b" 函数函数允许你通过分解任务为参数化可重用的部分,编写模块化的程序。 下面是计算给定数字因数的示例函数:
<code lang="mama">
函数可以通过设置默认值定义可选参数。 例如: define 字母=("一", "b", "ç", "Ð", "é", "f") for 信 在里面 字母 打印 信, #打印:甲,乙,丙,丁,E,F型 类和对象类通过使用“类”关键字定义,类方法通过使用“方法”关键字定义。 一个汽车类:define 一=5 while(一>0) 打印 一, #打印:5 4 3 2 1 一--打印: 汽车对象已创建! 名称=Mustang,速度=100,颜色=红色 汽车对象已创建! 名称=Ferrari,速度=200,颜色=黑色 继承和多形态类可以使用“继承”关键字继承另一个类:repeat 3 打印 "哈喽" #打印3次“你好” 脚本编程: 操作场景中的3D对象在Mama脚本中你可以通过直接调用它们的标准方法和定制方法操作3D对象。 例如,创建一个空world,然后从图库添加对象角色/小孩/Jock。 拖住“脚本”程序块然后输入下面内容:函数 阶乘(ñ) 如果 ñ==0 返回 1 define 结果=1 for 我 在里面 1..ñ 结果=结果*我 返回 结果 打印 阶乘(5) #打印:120 打印 阶乘(10) #打印:3628800 打印 阶乘(170) #打印:7.257415615307994E306 打印 阶乘(200) #打印:无限运行程序 - Jock 确实会按照你的的要求行动! 画图应用Mama不会限制你使用IDE 3D窗口 - 你可以使用Mama自己的用户图形界面库做你想做的事。 第一版:一个简单的画图应用- 允许你用鼠标在板上画画。
函数 打印车详情(名称,编号,速度=100) 打印 名称,编号,速度 打印车详情("野马","红"); 打印车详情("法拉利","黑", 200);注释:
|