ZP AMXX超不基本教学2 --- 判断式!

Home Home
<< 1 2 >>
跳页: (共 2 页)
引用 | 编辑 X!a0an@小安
2010-12-30 22:49
楼主
推文 x2
是的。很好!这次又轮到小安来教你了。

本篇要说的是"超不基本教学2"
瞎瞎瞎瞎咪!?又是超不基本教学!????

说实在话...我想有很多人跟我一样..不想学一堆有的没的,就开始写插件了吧...?

我承认..我就是那其中一个人..我会写程式..但是我连堆叠.循环什么的,都没搞懂~

[lol]总而言之呢,今天要说到的是判断的运用。[/lol]

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if.....

你好吗,我很好。 ((炸。

很高兴见到你。我叫做Mr.判断式

今天呢(咳。),我将在这里交您如何有效的利用判断式

首先呢,请你跟我这样做,韵脚TEMPO READY GO表情    

(炸炸炸炸炸炸炸炸炸炸炸表情    



判断式是什么?能吃吗?

Mr.判断式在这里告诉您,那个不能吃,但是对您的插件有很大的帮助 (茶。)

什么是判断式呢?

复制程式
if(怎样)
{
内容叙述
}

看见Mr.判断式可爱.又清纯的长相了吗? ((轰。
你可能看不太懂。那我们用中文来解释。

当然,这只是举例..你别在你的插件内真的给我打中文...

复制程式
如果(怎样)
{
就这样
}

嘛,我们在具体一点来看,我个举个范例好了。

如果下雨了,我们就撑伞。

复制程式
if(下雨了)
{
撑伞
}

耶?那如果没下雨呢?那当然不会撑伞啦~ ((茶。

如果没有下雨,你就不会执行"撑伞"这一段动作。

意思就是说,会忽略掉。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if.....else


那如果今天我想要写一个下雨会撑伞,然后没下雨就撑阳伞呢?

嘿嘿,聪明的Amxx早就想到有这一点啰。

复制程式
if(下雨了)
{
撑伞
}
else
{
撑阳伞
}

你懂了吗?你发现多了一段吗?
ELSE
你发现多出了"Else"这一句了吗?没错!!这一句就是这一章的重点。

Else"主要是在说:「如果都不符合以上的条件,则..... 」。

简单来说,如果没有下雨的话,那就直接执行"Else"这一段。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if.....else if....
嘿阿,是阿。这次的判断式有三种呢。

这个其实跟上面的没有什么大变化。

这次还是来举例:

复制程式
if(下雨了)
{
撑伞
}
else if (下糖果雨)
{
接糖果
}
else
{
撑阳伞
}

唉呦呦!!发现了什么惊奇的变化了吗!?

又多了一小段喔!这里让Mr.判断式来解释给你听。

首先呢(茶),当下雨的时候,就撑伞

不是"下雨"的时候,而是"下糖果雨"的时候,就会接糖果!!

然而,什么也没有的话,不是下雨,也没有下糖果雨,那就撑阳伞

您懂了吗(茶)?"else if"的意思为:

「如果不符合以上的条件,但如果符合xx条件,则.....

简单吧?(茶)。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

茶喝太多....

该去上厕所了....

在这里祝大家晚安,晚上别喝太多水....





----------结束---------

献花 x2
引用 | 编辑 ChaosX
2010-12-31 15:19
1楼
  
好简洁有力的if教学阿...
只要会这个就可以和我当年一样改插件来骗吃骗喝了(误
 表情  表情  表情

献花 x0
引用 | 编辑 andyt0621
2010-12-31 15:29
2楼
  
我其实想问else if 跟 if..
else if 是防止两个 if 同时发生吗..
刚开始玩插件..
基本的都没有学会
表情 表情

献花 x0
引用 | 编辑 ChaosX
2010-12-31 15:46
3楼
  
下面是引用 andyt0621 于 2010-12-31 15:29 发表的 : 到引言文
我其实想问else if 跟 if..
else if 是防止两个 if 同时发生吗..
刚开始玩插件..
基本的都没有学会
表情 表情

else if 是当前面的 if 或 elae if 不成立时...
才做的判断
else 则是刚前面的if 和else if都不成立时所做的最后决定

表情表情表情

献花 x2
引用 | 编辑 a7811311622
2010-12-31 16:52
4楼
  
下面是引用 andyt0621 于 2010-12-31 15:29 发表的 : 到引言文
我其实想问else if 跟 if..
else if 是防止两个 if 同时发生吗..
刚开始玩插件..
基本的都没有学会
表情 表情

下面是引用 Chaosx 于 2010-12-31 15:46 发表的: 到引言文

else if 是当前面的 if 或 elae if 不成立时...
才做的判断
else 则是刚前面的if 和else if都不成立时所做的最后决定


补充一下…
else if 的说明如上…而主要的区分点是:
若同时有两个 if 且两个 if 有可能会同时符合条件而执行的话…
else if 就能拿出来用了~举例如下:
复制程式
 
if (我想死) 我去撞墙撞到死; 
else if (我找死) 我去摩墙摩到死; 

这是什么烂举例啊!?但这不是重点…
因为人只能死一次…所以当然最后只会有唯一的死法…
如果用成两个都是 if 的话:
复制程式
 
if (我想死) 我去撞墙撞到死; 
if (我找死) 我去摩墙摩到死; 

也是可以啦…不过一边撞墙一边摩墙好像挺困难的…
而且搞到最后弄不清楚是撞死的还是摩死的…
还有请会写插件的别很认真的说出「同时满足条件的话当然会执行最后的条件」…
更请某些思考超乎一般常识的人别很无奈的说出「怎么这样破坏墙壁啊」…
好啦我知道这诡异的举例有和没有一样…因为这举例比较鬼扯嘛~
更容易理解的举例是:
复制程式
 
if (我想死) 我去撞墙撞到死; 
if (我饿了) 我去觅食吃到饱; 

怎样?更容易理解了吧?你总不会想一边吃饭一边撞墙吧?这样会消化不良的说…

好了…说了这么多话…看来想追杀我的人应该不少了吧…准备脱出~

(咦?有人误解了什么吗?)

献花 x0
引用 | 编辑 X!a0an@小安
2010-12-31 17:35
5楼
  
下面是引用 a7811311622 于 2010-12-31 16:52 发表的 : 到引言文
 

补充一下…
else if 的说明如上…而主要的区分点是:
若同时有两个 if 且两个 if 有可能会同时符合条件而执行的话…
.......


撞墙..摩墙....这是正常人会有的想法吗...

话说您这样一说...我什么都搞不懂了...

献花 x0
引用 | 编辑 i-c0112
2010-12-31 17:46
6楼
  
补充:
if (x) return; //当括号内(x)的值不等于0时,就表示条件达成

如果教了if是否也教一下逻辑运算子比较好????
表情 表情 表情

献花 x0
引用 | 编辑 |qw≡GLλDOS|
2010-12-31 17:52
7楼
  
跟已经遗忘2年多的VB很像呢 (柚子茶) 表情

嘛.既然被触发了那我来复习VB好了 (柚子茶没了) 表情

献花 x0
引用 | 编辑 ChaosX
2010-12-31 18:14
8楼
  
  
下面是引用 mac00178 于 2010-12-31 17:35 发表的 : 到引言文
撞墙..摩墙....这是正常人会有的想法吗...
话说您这样一说...我什么都搞不懂了...

会吗?
我觉得很好理解阿...
下面是引用 i-c0112 于 2010-12-31 17:46 发表的: 到引言文
补充:
if (x) return; //当括号内(x)的值不等于0时,就表示条件达成

如果教了if是否也教一下逻辑运算子比较好????
你是指
>    大于
>=  大于等于
<    小于
<=  小于等于
==  等于
||    或
&& 而且
这些吗?
下面是引用 qw850120 于 2010-12-31 17:52 发表的: 到引言文
跟已经遗忘2年多的VB很像呢 (柚子茶)
嘛.既然被触发了那我来复习VB好了 (柚子茶没了)
if  的部分每个高阶语言(C C++ java)都差不多吧...
表情表情表情(怎么大家都学我灌水喵@w@

献花 x0
引用 | 编辑 andyt0621
2010-12-31 18:42
9楼
  
下面是引用 a7811311622 于 2010-12-31 16:52 发表的 : 到引言文


补充一下…
else if 的说明如上…而主要的区分点是:
若同时有两个 if 且两个 if 有可能会同时符合条件而执行的话…
.......


不错的举例..让人印象深刻0.0
我想我明白了0.0
下面是引用 Chaosx 于 2010-12-31 18:14 发表的: 到引言文
  
会吗?
我觉得很好理解阿...

你是指
>    大于
>=  大于等于
<    小于
<=  小于等于
==  等于
||    或
&& 而且
.......


我还看过 A ? B : C
我是理解成 如果是A 就是用 B 否则是用 C 0.0
还有些是单一个 & 的..这个就不明白了0.0

(离题了^^.)

献花 x0
引用 | 编辑 rujli
2010-12-31 18:50
10楼
  
if x==1

  y = num2str("我是rujli")

else

  y = num2str("我是Pein")

end

这是我在Matlab中学到的,但是不是类似我就不清楚了

毕竟忘了一堆.......= =

表情

献花 x0
引用 | 编辑 a7811311622
2010-12-31 20:28
11楼
  
下面是引用 andyt0621 于 2010-12-31 18:42 发表的 : 到引言文


不错的举例..让人印象深刻0.0
我想我明白了0.0


我还看过 A ? B : C
我是理解成 如果是A 就是用 B 否则是用 C 0.0
还有些是单一个 & 的..这个就不明白了0.0

(离题了^^.)

完全没离题吧…
至于那个「?」和「:」是:
复制程式
A ? B : C

等同
复制程式
 
if (A) 
{ 
 B; 
} 
else 
{ 
 C; 
} 

至于多使用几个「?」和「:」的话:
复制程式
A ? B ? C : D : E ? F ? G : H : I ? J : K

等同
复制程式
 
if (A) 
{ 
 if (B) 
 { 
  C; 
 } 
 else 
 { 
  D; 
 } 
} 
else if (E) 
{ 
 if (F) 
 { 
  G; 
 } 
 else 
 { 
  H; 
 } 
} 
else 
{ 
 if (I) 
 { 
  J; 
 } 
 else 
 { 
  K; 
 } 
} 

一句就解决的判断式吃饱没事加这么长做啥呢?
例如279行的「stock Chaos_X」利用「?」和「:」就能缩短成36行…
程式码当然是越简短看起来越简洁…
只要别弄到最后自己也看不懂就好…例如上例…

至于「&」…判断记忆体用的…解释是「且」…我知道有解释和没解释一样…
拿蛮常见的「pev(id, pev_button)」做例子好了…
先参照参照<hlsdk_const.inc>里「IN_」系列的内容吧…
如果「pev(id, pev_button)」侦测出来的数值是「11」…
十进位 1110 转成二进位是 10112
若这时判断式是「if (pev(id, pev_button) & IN_ATTACK)」…回传值将是「true」…
因为上式等同「if (pev(id, pev_button) & (1<<0))」…至于记忆体的比较方式:

    1        0        1       1
(1<<3)(1<<2)(1<<1)(1<<0) 
    23      22      21     20
  1*8 + 0*4 + 1*2 + 1*1 = 11

这样排列应该够一目了然吧…
所以当「pev(id, pev_button)」侦测出来的数值是「11」时代表
「pev(id, pev_button)」同时侦测到「(1<<0)」、「(1<<1)」和「(1<<3)」…
也就是某人同时按住「IN_ATTACK」、「IN_JUMP」和「IN_FORWARD」三键…

献花 x1
引用 | 编辑 tw2twtw
2010-12-31 21:40
12楼
  
下面是引用 i-c0112 于 2010-12-31 17:46 发表的 : 到引言文
补充:
if (x) return; //当括号内(x)的值不等于0时,就表示条件达成

如果教了if是否也教一下逻辑运算子比较好????
表情 表情 表情



不等于0....是指CVAR类的开关吗?表情 

献花 x0
引用 | 编辑 ChaosX
2011-01-01 03:19
13楼
  
下面是引用 a7811311622 于 2010-12-31 20:28 发表的 : 到引言文
  一句就解决的判断式吃饱没事加这么长做啥呢?
例如279行的「stock Chaos_X」利用「?」和「:」就能缩短成36行…
程式码当然是越简短看起来越简洁…
只要别弄到最后自己也看不懂就好…例如上例…

好眼熟的东西阿...表情
等等...这不是我在雷X战X插件写的座标左右位移式吗表情
那个喔...
我写36行我会看不懂啦表情
279行我才看得懂...表情
再说我会说不知道在做甚么是因为...表情
我角度计算是用弧度角而不是径度角去算...可是我当初设计时是采用径度角下去写表情
所以修正后我就不知道他的原理了...表情
下面是引用 tw2twtw 于 2010-12-31 21:40 发表的: 到引言文
  不等于0....是指CVAR类的开关吗? 
也可以这么说啦
0和1当开关的确很方便
有时也是判断该数值存不存在
例如if(money>0) 钱大于0
表示有钱,钱等于或小于0 表示没钱或负债XD
 表情表情表情

献花 x0
引用 | 编辑 X!a0an@小安
2011-01-01 09:15
14楼
  
在这里讨论这么深入的东西...

连我都不懂..懒得去想..((炸。

献花 x0
引用 | 编辑 i-c0112
2011-01-01 13:59
15楼
  
下面是引用 mac00178 于 2011-01-01 09:15 发表的 : 到引言文
在这里讨论这么深入的东西...

连我都不懂..懒得去想..((炸。
下面是引用 Chaosx 于 2011-01-01 03:19 发表的 : 到引言文
 
再说我会说不知道在做甚么是因为...
我角度计算是用弧度角而不是径度角去算...可是我当初设计时是采用径度角下去写
所以修正后我就不知道他的原理了...

 
最深入的东西是数学啊...快被当了表情
向量,三角函数和解析几何正联合抹杀我的脑细胞

献花 x0
引用 | 编辑 ++HAUN
2011-01-01 20:25
16楼
  
这是C++算法,AMXX用不着= =,这是算BMI的
{
  Start:
  float weight, height, bmi;
  cout << "请输入体重(公斤):";
  cin >> weight;
  cout << "请输入身高(公尺):";
  cin >> height;
  bmi=weight/height/height; //计算BMI值
  cout << "你的 BMI 值为 " << bmi;
  if (bmi>24)
      cout << ",太重了!该减肥!\n";
  else if (bmi<18)
    cout << ",太轻了!多吃点吧!\n";
  else
    cout << ",恭喜!标准体重!\n";
  goto Start;
  return 0;
}

献花 x0
引用 | 编辑 lyw8614505
2011-01-02 11:15
17楼
  
这教学真得很简洁明白,谢谢楼主大大

献花 x0
引用 | 编辑 csoldjb
2011-01-07 07:47
18楼
  
好东西知道了移位这个概念了

献花 x0
引用 | 编辑 冷场の小白喵
2011-02-05 01:00
19楼
  
恩恩,这篇我到是看的懂了.......
只是,插件里面不能打中文   所以动作市直接翻成英文啰== ?

献花 x0
引用 | 编辑 冷场の小白喵
2011-02-05 01:04
20楼
  
那如果要做一离地就开降落伞的话......是.......这样吗?
if(离地)=(Lift-off)
{
打开降落伞插件=OPEN降落伞插件名称
}
是降子吗= =?

献花 x0
引用 | 编辑 i-c0112
2011-02-05 01:20
21楼
  
条件应该是这样 if (!(pev(index, pev_flags) & FL_ONGROUND)) 吧

献花 x0
引用 | 编辑 Hangbaby
2011-03-07 19:22
22楼
  
好有趣,楼主描说得

献花 x0
引用 | 编辑 alvin321
2011-03-09 20:59
23楼
  
好乱呀   楼主可以说明主要可以用黎做什么?
if(我唔明)
{
我学不了
}
else
{
我学会了
}

献花 x0
引用 | 编辑 harrsion
2011-05-23 20:26
24楼
  
这教学 不错~~
支持,,
帮助了我写插件 表情

献花 x0
引用 | 编辑 tonyyoung
2011-05-23 22:15
25楼
  
#include <food>

#define EAT

#if (defined EAT)  
if(我饿了) 
{
     if(我想吃甜的)
     {
          if(我想买蛋糕)
          {
               if(我的钱够)
               {
                    那就买吧~
               }
               else if(店家打折 买便宜一点的)
               {
                    那就买便宜一点的吧~
               }
               else
               {
                   不买了 吃自己=  =
               }
          }
      }
      else if(我想吃咸的)
      {
           if(我的钱不够)
           {           
                if(家里有泡面)
                {
                      那就泡吧~
                }
                else
                {
                      不吃了...去参加"饥饿300"算了
                }
           }
      }
      else
      {
              等死吧......................
      }

#endif

像这样....................................
嘛.....人生中也充满了判断式呢~

献花 x2
引用 | 编辑 apple321s
2011-05-27 16:47
26楼
  
感觉不错,但我想问if(),()入面是否一定要指令?

献花 x0
引用 | 编辑 狙击手大鸟
2011-07-10 00:16
27楼
  
下面是引用 tonyyoung 于 2011-05-23 22:15 发表的 : 到引言文
#include <food>
#define EAT
#if (defined EAT)  
if(我饿了) 
{
.......


if(您断句不清)
{花了我眼}
else
{是我眼残看不懂-.-}

献花 x0
引用 | 编辑 mobetac29660
2011-07-10 22:55
28楼
  
有点看不懂
还是谢谢大大分享表情

献花 x0
引用 | 编辑 e1242656
2011-07-12 08:39
29楼
  
好厉害的教学方式!
希望像你这种人可以多一点!~

献花 x0
<< 1 2 >>
跳页: (共 2 页)