国家的崛起吧 关注:23,266贴子:272,355

创建变量与函数

只看楼主收藏回复

1.1什么是标示符?
如:a
就是一个标示符
变量、语句标号以及自定义函数的名称进行标示的符号。
其命名规则为:
1、由字母、数字及下划线组成,不能以数字开头
2、字母大小写代表不同的意义
3、不能使用关键名
4、尽量“见名知义”,有规范
以下是不合法的:
6A 以数字开头
ABC* 有字符*
for 关键名

以下是合法的:
new1
good_boy
HelloWorld



1楼2012-06-07 14:12回复
    1.2.1变量
    变量声明的格式为:
    类型 变量名标示符
    如:
    int a;
    如果是多个变量可以这样声明
    int a,b,c;

    int a;
    int b;
    int c;
    两者等价
    注:多个变量名不能在同一作用域中相同
    1.2.2变量类型
    我已经发现的变量类型有
    int 整形变量 变量值只能为正整数
    float 实行变量(浮点变量) 变量值为小数
    bool 布尔值 变量值为true(非0)和false(0)
    string 字符串类型 变量值为字符串
    static 通用类型 变量值为以上任意一种
    于是根据这些类型,我们就可以给变量赋值了
    赋值格式为
    变量名 = 表达式
    如:
    a=100;
    它把100赋给了变量a。但给变量赋值前必须先声明变量,所以整个代码为:
    int a;
    a=100;
    变量可直接定义:
    int a=100;
    这叫赋初值

    字符串变量:
    string a;
    string b="啊哈";
    string e,c="good";
    ""符号中的字符与""组成了一个字符串
    string b="啊哈";
    是将"啊哈"这个字符串赋给变量b
    布尔变量:
    只能是true和flase
    即:
    bool a=true;


    2楼2012-06-07 14:36
    回复
      2025-05-11 13:31:04
      广告
      1.3.1注释
      代码注释是禁止语句的执行:
      其符号为//或/**/
      注释范围:
      // 它以及它以后的东西都被注释掉(仅那一行)
      /**/ 它及/*与*/中间的东西都被注释掉
      如:
      popup_dialog("啊哈");
      注释后
      //popup_dialog("啊哈");
      你会发现第二句变成了绿色字体,如果你有闲心就测试一下,我保证,其绝对不会执行代码

      尝试:
      //popup_dialog("啊哈");
      popup_dialog("啊哈");
      你会发现第二行没有变成绿色字体,因为第二行根本没有被注释,所以如果你需要注释两行或更多行时请用/**/格式为:
      /*popup_dialog("啊哈");
      popup_dialog("啊哈");*/
      于是你就成功的注释了两行。因为在注释的范围内可以有任何字符,而且无效果,所以聪明的人就利用注释(正是因为它叫注释)给脚本加提示
      popup_dialog("啊哈"); //输出啊哈
      正因为有了注释,过了100年,你还是能够知道这段脚本的功能,而且别人也能够知道。
      1.3.2变量的访问
      变量访问格式如此:变量名
      很简单,只要输入变量名。
      访问变量要注意:
      1、访问的变量已经声明或定义
      2、前提变量能够被访问
      3、访问变量时获取的是变量的值
      以下是访问全过程:
      string a="hello"; //定义字符串变量
      popup_dialog(hello); //输出hello的值
      首先我们定义了一个字符串变量(a),然后我们输出了变量的值("hello")
      访问变量并没有多难,是吧...
      


      3楼2012-06-07 15:02
      回复
        1.3.1常量
        常量就是永恒不变的量
        int a=100;中的100就是常量
        常量也分类型与变量类型的限制相同
        1.11
        true
        150
        这些都是常量
        1.3.2(上)运算符
        算术运算符:
        也就是是最简单的加(+)、减(-)、乘(*)、除(/)。与另外三个:求模(%)、自加(++)、自减(--)
        1、加法运算符,可以将两个对象相加,例如:
        1+1 两个常量相加
        1+a 常量与变量相加
        a+b 两个变量相加
        2、减法运算符,可以将两个对象相减,例如:
        1-1 两个常量相减
        -a-2 常量与变量相减
        a-b 两个变量相减
        3、乘法运算符,可以将两个对象相乘,例如:
        1*12 两个常量相乘
        1*a 常量与变量相乘
        a*d 两个变量相乘
        4、除法运算符
        1/12 两个常量相除
        1/a 常量与变量相除
        a/d 两个变量相除
        除法运算符与以上三个运算符有一点区别以下结果会怎样呢?
        int c,a=9,b=4; //声明变量
        c=a*b //结果为2而并非2.25
        为什么会这样?因为int已经限制变量c只能为正整数,所以2.25自动变为2。注意:不管a与b的类型只管c的类型,若把c的类型改为float结果就变成了2.25
        另外分母不能为0(大家都知道)
        


        4楼2012-06-07 15:21
        回复
          (未完待续)


          5楼2012-06-07 15:22
          回复
            1.3.2(中)运算符
            4、求模运算符
            5%3
            a%3
            a%b
            求模就是计算余数,如
            4%2 结果为0
            8%3 结果为2
            6%5 结果为1
            5、自加与自减
            只能在变量中使用,让变量的值加1或减1
            1++;
            这是非法的
            a++;
            a--;
            这是合法的
            使用运算符,为了让变量加3,应该如何使用运算符呢?这时就可以运用加法运算符与赋值运算符。
            int a=10; //定义变量a
            a=a+3; //把a的值与3相加然后再把结果赋给a
            注意:a+3并不能使a的值加3。所以仅凭加法运算符而不使用赋值运算符是不能达到预期的效果的。当然以下也可以使用:
            a=a-2;
            a=a*5;
            a=a/2;
            a=a%5;
            为了使用简便可以使用组合运算符:
            a+=3;
            a-=2;
            a*=5;
            a/=2;
            a%=5;
            这两组代码是等价的。
            关系运算符:
            关系运算主要是对两个对象进行比较,运算结果是逻辑常量真或假(布尔值)。有< >
            <= >= == !=
            > 判断左值是否大于右值,若大于返回true,若小于返回false
            < 判断左值是否小于右值,若小于返回true,若大于返回false
            >= 判断左值是否大于或等于右值,若大于返回true,若小于返回false,若等于返回true
            <= 判断左值是否小于或等于右值,若小于返回true,若大于返回false,若等于返回true
            == 判断左值是否等于右值,若等于返回true,若不等于返回false
            != 判断左值是否不等于右值,若不等于返回true,若等于返回false
            我将来进行使用
            1<5 结果为true
            3<2 结果为false
            2>6 结果为false
            123>45 结果为true
            23>=23 结果为true
            43>=12 结果为true
            23>=34 结果为false
            23<=23 结果为true
            43<=12 结果为false
            23<=34 结果为true
            12==12 结果为true
            11==56 结果为false
            12!=12 结果为false
            11!=56 结果为true
            


            6楼2012-06-07 17:47
            回复
              1.3.2(下)运算符
              逻辑运算符
              针对真和假进行判断,返回一个真或假。为&& || !
              && 判断左值与右值是否为真,若同时为真返回true,若有一个为假返回false
              真&&真 为真
              真&&假 为假
              假&&真 为假
              假&&假 为假
              || 判断左值与右值是否为真,若有一个或两个为真返回true
              真||真 为真
              真||假 为真
              假||真 为真
              假||假 为假
              ! 判断左值与右值是否为假,若同时为假返回true,若有一个为真返回false
              真&&真 为假
              真&&假 为假
              假&&真 为假
              假&&假 为真
              运用如下:
              int a=100,b=23,c=23;
              bool d=a>b&&b>c; //结果为假


              7楼2012-06-07 17:55
              回复
                如果感到阅读有困难,请敬请提问,我会尝试给予解决。


                8楼2012-06-07 17:56
                回复
                  2025-05-11 13:25:04
                  广告
                  (未完待续)——每次打它..就要休息我的手指


                  9楼2012-06-07 18:02
                  回复

                    如果你觉得小小
                    国家的崛起地图
                    编辑器的语言没
                    有多大用处,那
                    么你就错了,你
                    是否尝试学习C+
                    +编程,如果你对
                    国家的崛起地图
                    编辑器的语言上
                    手,那么你就会
                    更容易学习正规
                    的编程语言。


                    10楼2012-06-07 18:14
                    回复
                      呵呵 我以后好好看!好好学习弃暗投明了!咱吧的人居然能把我从颓废中拉拢出来!谢谢大家


                      IP属地:陕西11楼2012-06-07 18:52
                      回复
                        真心看不懂,但是佩服楼主,牛人。


                        IP属地:湖北12楼2012-06-07 19:07
                        回复
                          顶lz,此贴应精啊,弥补我理论上很大漏洞


                          IP属地:北京来自手机贴吧13楼2012-06-07 20:53
                          回复
                            1.4初级的条件判断
                            1.4.1语句
                            语句通常由表达式和分号(;)组成
                            int a=100;
                            你也可以这样输入
                            int a = 100;
                            注意:除了标示符(变量名)意外,这些空格都不会对程序产生任何影响
                            1.4.2 if语句
                            什么是复合语句?
                            复合语句被称为语句块,由“{”和“}”号构成。在编辑脚本时,单一的一条语句不能完成一些功能。
                            这是一个if语句:
                            if(a>=1)
                            {
                            popup_dialog("hello");
                            popup_dialog(good);
                            }
                            注意:其中的变量a与变量good已经定义。复合语句是“{”到“}”中的语句,并非整个if语句
                            什么是if语句?
                            if是条件判断语句,其格式为:
                            if(表达式){复合语句}
                            if语句的执行过程为:首先判断表达式"("与")"中的真假,如果为真(true),则执行"{"与"}"中的语句,如果为假则不执行。
                            如:
                            int a=100,b=23;
                            if(a>b)
                            {
                            popup_dialog("hello");
                            }
                            语句首先定义了两个整形变量a与b,然后使用了if语句,()中是一个关系运算符,因为a大于b,所以a>b这条语句结果为真(true)所以执行{}中的语句:输出hello
                            if语句的位置:

                            if语句可放置scenario{}中run_once{}外或run_once{}中,也可以放置在触发器、函数中。我们暂时先看前两个。
                            scenario{}中run_once{}外,如果结果为真,就会重复执行{}中的内容。为假后停止,为真后有重复执行。
                            run_once{}中,只在载人地图后,游戏开始的一瞬间开始判断,如果为真会执行一次{}中的内容,如果结果为假将不再执行。
                            有人会问,既然这样,如何弄出,一直判断而且只执行一次?
                            我们只有求助于触发器。
                            触发器格式为:
                            trigger 触发器标示符 (表达式){复合语句}
                            表达式和复合语句与if语句内容相当,触发器标示符相当于变量标示符。尝试在脚本中打出这段脚本:
                            scenario
                            {
                            b=30
                            trigger a (b>=10)
                            {
                            popup_dialog("hello");
                            }
                            }
                            我已经把触发器放置在了scenario{}中,由于条件满足(20大于10)你可以测试一下,你会发现真的只执行了一次输出hello。
                            触发器需注意:触发器不能放置在run_once{}中,但触发器本身可当run_once中使用,也可以当重复语句使用。
                            这些将在下一节中介绍。
                            (未完待续)
                            有问题尽管提,我一定给予解决


                            15楼2012-06-08 09:02
                            回复