zoukankan      html  css  js  c++  java
  • (转载)虚幻引擎3--【UnrealScript教程】章节一: 15.选择结构

    选择结构
    选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。通常游戏AI是用选择结构来实现逻辑的。

    让我们一个个来看Unrealscript中的逻辑吧~·
    class MyUSGame extends actor
    placeable;

    var int i1,i2,i3,i4;
    function PostBeginPlay()
    {
    //先来定义几个要用的变量
    i1=1;
    i2=2;
    i3=3;
    i4=4;
    /*if 多条件判断语句:
    *if(条件表达式){
    *语句块
    *}
    *else if(条件表达式)
    *{
    *语句块
    *}
    */
    if(i2>i3)
    {
    `log("i2>i3=true;");
    }
    else if(i4>i3)
    {
    `log("i4>i3=true");
    }
    else
    {
    `log("i2>i3=false");
    }

     
      /* for循环
    * for(; <条件表达式>; ) 语句;{
    * 语句块
    * }
    * 现在要输出条hello world
    */


    for(i1=0;i1<5;i1++)
    {
    `log("hello world!");
    }

     
     
     
     
     
     
    /*while()当满足条件时进入循环,不满足跳出。
    * while(表达式){
    * 语句块
    * }
    */
    while(i1<5){
    `log("hello world!----"@i1);
    i1++;
    }
     
     
    /*do until() while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次
    * 
    */

    do{
    `log("hello world!++++++++++"@i1);
    i1++;
    }until(i1>5);

     
     
     
    /*switch()逻辑
    switch(表达式)
    {
    case 常量表达式:语句;
    ....
    case 常量表达式:语句;
    default:语句;
    }
    */
    switch(8/i4)
    {
    case 1: `log("i am case 1");
    break;
    case 2: `log("i am case 2");
    break;
    case 3: `log("i am case 3");
    break;
    case 4: `log("i am case 4");
    break;
    default:`log("i am other case ");
    break;
    }
     
     
    break语句
    break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。
    比如:
    function PostBeginPlay()
    {
    i1=1;

    while(i1<5){
    `log("hello world!----"@i1);
    i1++;
    break;
    }


    将会之执行一次,就会跳出循环体
     
    结束循环的 还有continue, 
    既然break是结束整个循环,那么continue是结束单次循环

    var int i1;
    function PostBeginPlay()
    {
    i1=0;
    while(i1++<5)
    {
    if(i1==4)
    {
    continue;
    }
    `log("ouput"@i1);
    }
    }


    i值等于4的时候,跳出了单次循环,重新进入循环
     
    补充个三目运算符
    条件运算符(?:)是一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。
    <表达式1>?<表达式2>:<表达式3>
    在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。
    例如
    var int i1,i2;

    function PostBeginPlay()
    {
    i1=1;
    i2=2;
    i1<i2?`log("i1<i2=true"):`log("i1<i2=false");
    }


    执行的是`log("i1<i2=true")
     
    关于死循环
    比如
    while(i>0)
    {
    `log("aaa");
    i++;
    }
    i一直大于,所以无限输出aaa,就会编译出错,写循环大家一定要注意不要进入死循环。不是说死循环一定没用,某些特殊场合(要无限循环执行的事件)允许使用;
  • 相关阅读:
    android 本地通知
    android qq开合表
    android 获取经纬度
    android读取通讯录和使用系统通讯录
    android Dialog官方demo
    android Listview分页
    android 瀑布流
    2020-08-16:数据任务是怎么优化的?(数据倾斜,参数相关调节)
    2020-08-15:什么情况下数据任务需要优化?
    2020-08-14:数据任务的执行引擎用的哪些?
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/6104750.html
Copyright © 2011-2022 走看看