as2.0步进教程5--条件语句

    1、if 语句:如果怎么样,就做些什么事.可以把if理解为如果.。格式:

 

if(条件表达式) {

    要执行的语句

}

    例: 在第1帧输入:

 

a =7;

b = 2;

if(a == b) {

    trace("是的");

}

    这个条件语句的意思是,如果a等于b,那么就输出"是的".将上面代码写到帧动作面板中,测试影片,发现并没有输出面板弹出.因为上面的语句是a等于b时才执行 trace("是的");,事实上现在a不等于b而是大于b,那么trace("是的");就不会执行.把代码改一下:

 

a =7;

b = 2;

if(a > b) {

    trace("是的");

}

    测试影片,那就会看到输出窗口中的"是的".

    2、if…else语句:这句是如果怎样就执行if后面的语句,如果不是这样就执行else后面的语句. 格式:

 

if(条件表达式){
    要执行的语句
} else {
    要执行的语句
}

    例:

 

a=7;
b=2;
if(a〈=b){
    trace("a比b小或一样大");
} else {

    trace("a比b大");

    看看这个代码,如果a小于等于b那么就输出:"a比b小或一样大".否则,就输出:"a比b大".测试影片,我们可以看到:"a比b大".

    if…else if:这个语句可以测试多个条件.这样理解这个语句,如果怎样就干点什么,又如果怎样,又干点什么,再如果怎样…. 还是这个例子:

 

a =7;
b=2;
if(a
    trace("a比b小");
}else if("a==b"){
    trace("a和b一样大");
} else if(a〉b){
    trace("a比b大");
}

    这段代码意思是:如果a小于b那么输出:"a比b小";如果a等于b那么输出:"a和b一样大";如果a大于b那么输出:"a比b大".测试影片,输出是:"a比b大".

    3、switch语句:上面提到有要检测多个条件的情况,可以用多个else if,用switch语句也可以实现这个目的. 格式:

 

switch(表达式){
    case 表达式的值:
    要执行的语句

    break;

    case 表达式的值:
    要执行的语句
    break;
   

    default:
    要执行的语句
}

     上面括号中的表达式也可以是一个变量,下面的大括号中可以有多个 case 表达式的值:,程序执行时会从第一个case开始检查,如果第一个case后的值是括号中表达式的值,那么就执行它后面的语句,如果不是括号中表达式的值,那么,程序就跳到第二个case检查,以此类推,直到找到与括号中表达式的值相等的case语句为止,并执行该case后面的语句.你可能会注意到每一句case后面都有一句breake;这是跳出switch语句的意思,即当找到相符的case,并执行相应的语句后,程序跳出switch语句,不再往下检测.以免发生落空的错误.可能会有这样的情况,所有的case语句后的值都与表达式的值不相符,那么就应该用default:语句,这时程序就会执行default: 后的语句.如果你确定不会出现这种情况,那么可以不要default:语句.例1:

 

a=7;
b=2;
c=a+b;
  switch(c){
  case 5:
  trace("小了");
  breake;
  case 12:
  trace("大了");
  breake;
  case 9:
  trace("对了");
  breake;
}

 
    测试影片,输出句"对了".
    例2.

 

a=7;
b=2;
switch(a+b){
  case 5:
  trace("小了");
  breake;
  case 12:
  trace("大了");
  breake;
  case 8:
  trace("还是小了");
  breake;
  default:
  trace("都没算对");
}

 
    测试影片输出为:"都没算对".

    4、逻辑运算符:逻辑运算符在运算符那一节没有介绍,是因为它多半用在条件语句中,所以我们在这一节介绍.在上面的条件表达式中,都是单一的条件,比如是否大于是否小于等,实际上我们经常都可能用到复合条件,比如大小多少并且小于多少,大于多少或者小于多少等.在这样的复合条件语句中,有两个词:并且、或者,它们的符号:
    &&    并且 
    丨丨  或者
    并且是指两个条件都成立时为真,或者是指只要有一个条件成立时为真.
    例1:

 

a=7;
if((a〉5)&&(a<10)){
    trace("正确");
}

    测试影片,将输出"正确".因为a=7的确即大于5又小于10,条件为真.
    例2:

 

a=7;
if((a〉5)&&(a〉10)){
    trace("正确");
}

    测试影片,没有输出.说明 trace("正确");这句没执行.因为a〉5成立,而a〉10不成立,两个条件只有一个为真,整个条件则为假.

    例3.

 

a=7;
if((a〉5)||(a〉10)){
    trace("正确");

    这个例子用的是"||"或者语句,只要有一个条件为真,整个条件表达式为真,测试影片,将输出"正确".

    练习:猜数游戏

    下面我们来做一个练习,猜数游戏,将上一节运算符及本节条件语句进行综合应用.游戏是由程序产生一个0-100的随机数,然后由用户来猜,程序根据用户猜的数与所产生的随机数进行比较,根据比较结果,给用户提示,直到用户猜中为止,并记录用户所猜次数.

    为完成这个练习,我们先介绍一个函数:random(),这个函数将产生一个由0到括号中的数减1的整数.如: a=random(50),那么a的值为0到49之间的一个整数.

    现在来做这个练习:新建一flash文件,大小为400*200,背景设为深绿色,用文本工具在舞台的左上角,画一个文本框,在里面输入“猜数游戏”,打开属性面板,设置文本框为静态文本,设置好文本字

体和大小和颜色。再在上半部居中画一个文本框,在里面输入:”请猜一个0-100之间的数字:”;打开属性面板,设置文本框为静态文本,设置好文本字体的大小和颜色.

    在这个文本框的下边,再画一个文本框,打开属性面板,设置文本框为动态文本,命名实例名称为:dt,这个实例名dt就代表这个文本框的内容,我们就可以用dt来读取和设置这个动态文本框的内容.动态

文框是在运行时可以给文本设置值的文本框.关于文本框的的知识,在后面将有专门的课程介绍,这里了解这么多就行了.

    在动态文本框的下面,再画一个文本框,打开属性面板,设置文本框为输入文本.将在文本框周围显示边框按钮点下。命名实例名称为sr。输入文本框是在运行时,用户可以在其中输入内容地方。

    下面新建3个按钮,一个标签为”确定”(输入数字后的提交),一个标签为“重猜”(猜不对时点击可以清除输入的内容),一个标签为“换数”,表示不再猜正在猜的数,或猜对后继续进行。按

钮的做法请参阅第二课.将3个按钮放到舞台上的最下面.打开属性面板,“确定”按钮命名为“qd_btn”,“重猜”按钮”命名为“cc_btn”,“换数”按钮命名为“hs_btn”。
    至此,是这个样子的:

[转载]as2.0步进教程5--条件语句

    新建一层,命名为”action”用来写代码.点中第一帧,点右键,打开动作面板,开始写代码:

    首先声明一个变量,用来存放0-100间的随机数,所以第一行代码为:

var a = random(101);

    然后声明一个变量,用来存放猜的次数,现在还没猜,所以给它赋值为0,第二行代码为:

var cs:Number = 0;

    下面使用条件语句,来比较用户输入的数的产生的随机数:

qd_btn.onRelease = function(){ //当点击确定按钮时,执行下面的语句.
 cs++;//猜的次数增加1
 if (sr.text>a) {//如果猜的数大于随机数
  dt.text = "大了点";//动态文本框提示“大了点”
 } else if (sr.text == a) {//如果猜对了,根据猜的次数给出相应结果
  if (cs<=5) {//如果猜的次数在5次以内
   dt.text = "哇,你只猜了"+cs+"次就猜对了,真历害!";//给出表扬,这里用到了字符串的连接
  } else {//如果不只猜了5次
   dt.text = "猜对了!你猜了"+cs+"次";//提示猜对了,并给出猜的次数
  }
 } else if (sr.text
  dt.text = "小了点";//提示“小了点”
 }
};
下面是重猜的代码:
cc_btn.onPress = function() {//当点击重猜按钮时执行下面的语句
 sr.text = "";//清空输入文本框
};
最后来写换数的代码:
hs_btn.onPress = function() {//当点击换数按钮时执行下面的语句
 a = random(101);//重新产生随机数
        cs = 0;//将猜的次数重新设为0
 dt.text = "";//清空动态文本框
 sr.text = "";//清空输入文本框
};   

    完成后的效果:

作业:制作猜数游戏

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值