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 頁)