ZP AMXX超不基本教學3 --- 運算式.變數!

Home Home
<< 1 2 >>
跳頁: (共 2 頁)
引用 | 編輯 X!a0an@小安
2010-12-31 18:57
樓主
推文 x1
沒沒沒沒錯!!這次還是超基本教學 ((炸。

但是~!!我想不到梗啦!! ((炸。

總而言之,這次要講的是運算符號,在IF判斷式裡,常用到。 ((炸。

※為什麼連這樣也要炸我?
我被炸太多次了,我去住院了....
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

四則運算

你好~我叫做Mrs.運算式

今天呢,你會在我這裡學到些什麼呢?

「等於,加減乘除。」

之類的。您在小學的時候應該就學過了....

現在就讓我們說起吧:

+ 加 
- 減 
* 乘 
/ 除
% 餘數
== 等於
|| 或是
&& 而且

※補充:
%就是餘數。例如5%2。得到的數值就是1。因為5除以2的餘數是1。

嘿嘿,是不是淺顯易懂呀?

那你可能會問,"== 等於"我是不是多打一個等號?

事實上並不是。

那麼,我們就運用上一回所教的判斷式,一起當範例吧:

複製程式
if (1+1==2)
{
內容敘述
}

※對了,關於"if (1+1==2)"的寫法,不知道是不是正確的。
這個判斷式,告訴了我們什麼?仔細想想,如果翻成中文。

「如果1+1等於2的話,那就執行『內容敘述』...」

就是這麼簡單。

那麼如果要1+1=2或是3+3=4呢?

複製程式
if (1+1==2 || 3+3==4)
{
內容敘述
}

事實上,1+1=2是正確的,但是3+3=4!!!???

1+1=2已經是對的了,但是3+3並不等於4。

所以這一段就是某一個正確的時候,就執行"內容敘述"。

總而言之,這一段表示說:

「如果有其中一段是正確的,就執行『內容敘述』...」
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

變數
嘛~變數,顧名思義,就是會變動的數值

你可以隨意更改變數內的數值,變數就像是一個小抽屜。

但是!!還是有些用法的。

這裡舉一個例,如果你想要在變數裡放字串,你可以這樣做,

我們先假設,在變數中放入字串"Hello"。

複製程式
new myString[6]
myString[0] = "H" 
myString[1] = "e" 
myString[2] = "l" 
myString[3] = "l" 
myString[4] = "o" 
myString[5] = 0

首先,"myString"為我們變數的名稱,這個可以隨自己喜好更改。

看見"new myString[6]"了嗎?這一句 的意思代表:

新增一個名為myString的變數

那你可能會好奇的問,那"6"是什麼?問的很好!!

那個6",就像是放字串的空間一樣,用比較易懂的方式就是:

我們把變數比喻為一個抽屜,

6就像是一個抽屜可容納的空間

但是上面的寫法,是每一個空間都放一個字。就像是:

myString[0]放"H"myString[1]放"e"myString[2]放"l"myString[3]放"l"myString[4]放"o"

有點像是一個有"6"格的格子,第一個格子放"H",第二個格子放"e".....之類的。

對了!!你必須讓最後一個字保留為"數字0",這樣 Pawn 引擎就可以知道這是一個字符串。

最後一個字指的就是"
myString[5] = 0 "。

※注意!中文字好像是1個中文字 = 2個英文字的空間。

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

(更簡單的寫法)變數

如果當你懶的用這個方法,還要去計算字串的字數。

那你可以用這一種:

複製程式
new myString[] = "Hello"


是否簡單許多?因為這個變數,沒有限制任何的空間。

這種寫法也不用說最後一個字要為"數字"

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
錯誤的變數寫法
錯誤的寫法,通常有這幾種:

複製程式
myString = "Hello"


這個是錯誤的,因為這個寫法你沒有寫出可容納個字串空間

會導致溢出!!

那麼,如何改正這個錯誤呢?我們一步一步的來。

首先,先在"myString"中,寫出字串的空間。

數一下"Hello"有幾個字?1...2....3...4...5....,"Hello"這個字總共有"5"個。

但是,其實你真正要寫的話,應該要寫6個,因為有一個地方,你必須讓他為數字

這裡...我真的不知道該怎麼說...我貼個小圖好了:




你看見了嗎?第6個字,為空的,因為是空的,表示什麼也沒有,什麼也沒有就代表是"0

所以你事實上,應該要改成:

複製程式
myString[6] = "Hello"




對了!!!!!!還有另一種寫法:

複製程式
myString[0] = "Hello"

這也是不行的,也是會導致溢出,因為你把空間限制為0了。

通常會寫成這種的,應該是想要把空間變成無限制,卻寫錯.....的想法。

那如何更正?那就是什麼都不要。

複製程式
myString[] = "Hello"

這樣就好了。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

變數的地方真的很難說...

總而言之先這樣吧。

我好像不小心把他說的太複雜了.....


獻花 x1
引用 | 編輯 i-c0112
2010-12-31 19:49
1樓
  
※對了,關於"if (1+1==2)"的寫法,不知道是不是正確的。
這個判斷式,告訴了我們什麼?仔細想想,如果翻成中文。
應該正確...我測試的執行結果是1(true)

補充:
&
|
這兩個別跟&&和||搞混了
&, |, << 這幾個是寫插件常用到的2進位運算子
[看看吧11F] http://bbs-mychat.com/reads.php?tid=901922&page=2

myString = "Hello"
這個是錯誤的,因為這個寫法你沒有寫出可容納個字串空間。
另外這句話有些問題, 因為在變數宣告時沒給[]的確是有問題
但是在正確宣告後, 這樣的寫法只要在不超出陣列大小的情況下則是正確的...
[不予理會]這類似C以指標處裡char陣列[/不予理會]
複製程式
new pStr = "WTF";  //錯誤

new pStr[] = "What The Fudc";
pStr = "WTF";  //可行

new pStr[] = "WTF";
pStr = "What The Fudc"  //陣列大小不足

事實上PAWN的一個cell裡是有辦法可以不只放一個字元...不過實用性不太大只是省空間而已


獻花 x3
引用 | 編輯 X!a0an@小安
2010-12-31 20:20
2樓
  
下面是引用 i-c0112 於 2010-12-31 19:49 發表的 : 到引言文

應該正確...我測試的執行結果是1(true)

補充:
&
|.........N的一個cell裡是有辦法可以不只放一個字元...不過實用性不太大只是省空間而已


好複雜xDDD

怎麼用髒話來作舉例...

不會被檢舉嗎...?

話說,我認為[]是用來指定字串位元的東西 - -a

獻花 x1
引用 | 編輯 i-c0112
2010-12-31 20:52
3樓
  
下面是引用 mac00178 於 2010-12-31 20:20 發表的 : 到引言文



好複雜xDDD

怎麼用髒話來作舉例...

不會被檢舉嗎...?

話說,我認為[]是用來指定字串位元的東西 - -a
髒話改掉了...不說還沒發覺...竟然理所當然的用了那些字表情
[]的確是用來指定陣列元素的
只是在宣告時則用來表示宣告的是陣列還有指定陣列大小

獻花 x1
引用 | 編輯 a7811311622
2011-01-01 02:10
4樓
  
那判斷式「if (1+1==2 || 3+3=4)」是不是打錯啦…?少個「=」…表情
話說既然都有解釋 if 了…要不要順便解釋 for 和 while 這些迴圈…?表情

獻花 x2
引用 | 編輯 X!a0an@小安
2011-01-01 09:12
5樓
  
下面是引用 a7811311622 於 2011-01-01 02:10 發表的 : 到引言文
那判斷式「if (1+1==2 || 3+3=4)」是不是打錯啦…?少個「=」…表情
話說既然都有解釋 if 了…要不要順便解釋 for 和 while 這些迴圈…?表情


謝謝,已修正....

for和while 迴圈...

我要想一下...

獻花 x0
引用 | 編輯 andyt0621
2011-01-01 16:05
6樓
  
下面是引用 mac00178 於 2010-12-31 18:57 發表的 嘛~簡單來說就是四則運算吧....- -|||,|ZP AMXX超不基本教學3 --- 運算式.變數!: 到引言文
+ 加 
- 減 
* 乘
 
/ 除
% 餘數
== 等於
|| 或是
&& 而且

.......


我又來了0.0
已然提到 % ..可以說明一下嗎 
表情 表情


獻花 x1
引用 | 編輯 X!a0an@小安
2011-01-02 14:39
7樓
  
下面是引用 andyt0621 於 2011-01-01 16:05 發表的 : 到引言文
 

我又來了0.0
已然提到 % ..可以說明一下嗎 
表情 表情

%就是餘數。

例如5%2。

得到的數值就是1。

因為5除以2的餘數是1。

獻花 x1
引用 | 編輯 ChaosX
2011-01-03 16:25
8樓
  
蠻重要的教學
運算式學好的話...
可以像我一樣亂做插件騙吃騙喝了^ ^
話說
樓主的變數教學怎麼看起來像字串陣列教學阿@ @
和我學到的變數有點不一樣@ @

下面是引用 a7811311622 於 2011-01-01 02:10 發表的: 到引言文
那判斷式「if (1+1==2 || 3+3=4)」是不是打錯啦…?少個「=」…
話說既然都有解釋 if 了…要不要順便解釋 for 和 while 這些迴圈…?
switch順便XD
表情表情表情

獻花 x0
引用 | 編輯 chuchung712
2011-01-04 19:35
9樓
  
要不要連 關係運算 和 輸出函數 也一併教了 = =||


話說 「==」 的正解應為 「測試兩邊是否相等」喔
「等於」在普通運算中仍是「=」吧

再話說教運算怎麼不教 +=, -=, --, ++ ?_?

下面是引用 Chaosx 於 2011-01-03 16:25 發表的 : 到引言文
蠻重要的教學
運算式學好的話...
可以像我一樣亂做插件騙吃騙喝了^ ^
話說
樓主的變數教學怎麼看起來像字串陣列教學阿@ @
和我學到的變數有點不一樣@ @


switch順便XD
表情   表情   表情  
比較想學velocity, angle 那些的 @_@

獻花 x0
引用 | 編輯 ChaosX
2011-01-04 20:22
10樓
  
下面是引用 chuchung712 於 2011-01-04 19:35 發表的 : 到引言文
要不要連 關係運算 和 輸出函數 也一併教了 = =||
話說 「==」 的正解應為 「測試兩邊是否相等」喔
「等於」在普通運算中仍是「=」吧
再話說教運算怎麼不教 +=, -=, --, ++ ?_?
比較想學velocity, angle 那些的 @_@

++ 就+1
--  就減1
+= 就是加上
-= 就是減掉

velocity 和 angle
算蠻難的部分...
這兩個教起來會死人吧...
表情 表情 表情

獻花 x0
引用 | 編輯 chuchung712
2011-01-04 20:32
11樓
  
下面是引用 Chaosx 於 2011-01-04 20:22 發表的 : 到引言文
 
++ 就+1
--  就減1
+= 就是加上
-= 就是減掉

velocity 和 angle
算蠻難的部分...
這兩個教起來會死人吧...
表情  表情 表情
我有看AlliedModders的教學
但都不足以看懂出面的插件 @_@

獻花 x0
引用 | 編輯 i-c0112
2011-01-04 20:42
12樓
  
下面是引用 Chaosx 於 2011-01-04 20:22 發表的 : 到引言文
 
++ 就+1
--  就減1
+= 就是加上
-= 就是減掉

velocityangle
算蠻難的部分...
這兩個教起來會死人吧...
表情  表情   表情
數學!!!!!!!!!!表情(已經死了......)

獻花 x0
引用 | 編輯 史來姆
2011-01-10 23:08
13樓
  
下面是引用 i-c0112 於 2011-01-04 20:42 發表的 : 到引言文

數學!!!!!!!!!!表情 (已經死了......)

這是physics的一部分吧
話說我到現在也沒看過任何amxx教學文
也能寫得出如此多的插件......
到底是怎麼回事- -

獻花 x2
引用 | 編輯 woody3156
2011-01-11 17:59
14樓
  
這有咩用呀
+ - 數?

獻花 x0
引用 | 編輯 i-c0112
2011-01-11 19:00
15樓
  
下面是引用 史來姆 於 2011-01-10 23:08 發表的 : 到引言文


這是physics的一部分吧
話說我到現在也沒看過任何amxx教學文
也能寫得出如此多的插件......
到底是怎麼回事- -
物理的力學也是把數學用到物體的運動現象上 還是要用到一些簡單的數學向量概念...
話說看了語法教學不一定會寫插件啊
主要是一些函數和offset的用法 去看別人的插件反而比較容易了解用法

獻花 x0
引用 | 編輯 ChaosX
2011-01-11 19:15
16樓
  
下面是引用 史來姆 於 2011-01-10 23:08 發表的: 到引言文
這是physics的一部分吧
話說我到現在也沒看過任何amxx教學文
也能寫得出如此多的插件......
到底是怎麼回事- -
我寫插件時...
教學文好像是很罕見的東西...
下面是引用 i-c0112 於 2011-01-11 19:00 發表的 : 到引言文
物理的力學也是把數學用到物體的運動現象上 還是要用到一些簡單的數學向量概念...
話說看了語法教學跟寫插件沒什麼關聯吧
主要是一些函數和offset的用法 去看別人的插件反而比較容易了解用法
語法教學和寫插件有關連阿...
唯一的關聯就是看得懂別人的的插件在做甚麼...
知道在甚麼時候會發生甚麼事
如此而已
 表情表情表情

獻花 x1
引用 | 編輯 X!a0an@小安
2011-01-12 20:30
17樓
  
下面是引用 Chaosx 於 2011-01-11 19:15 發表的 : 到引言文

我寫插件時...
教學文好像是很罕見的東西...

語法教學和寫插件有關連阿...
唯一的關聯就是看得懂別人的的插件在做甚麼...
知道在甚麼時候會發生甚麼事
如此而已
 表情 表情 表情


你只需要懂這三點:

1.加減乘除表情 2.判斷.以及很好的頭腦表情 

最後一點:表情

3.你最好確定你是人表情 表情 表情

表情 表情 表情 表情

獻花 x0
引用 | 編輯 a7811311622
2011-01-12 21:40
18樓
  
下面是引用 mac00178 於 2011-01-12 20:30 發表的 : 到引言文



你只需要懂這三點:

1.加減乘除表情  2.判斷.以及很好的頭腦表情  

最後一點:表情

3.你最好確定你是人表情 表情 表情

表情 表情 表情 表情

不是人…?難道是蘿莉控?據說蘿莉控不是人,是禽獸


獻花 x0
引用 | 編輯 ttopson4
2011-01-12 22:48
19樓
  
這真的太基本了 有學過數學的人都會吧!!

獻花 x0
引用 | 編輯 X!a0an@小安
2011-01-12 23:09
20樓
  
下面是引用 a7811311622 於 2011-01-12 21:40 發表的 : 到引言文
 
不是人…?難道是蘿莉控?據說蘿莉控不是人,是禽獸
[attachment=722916]


哈哈哈 = =

哪來的那張圖阿xDDDD

羅莉控~~

獻花 x0
引用 | 編輯 ChaosX
2011-01-13 01:31
21樓
  
下面是引用 mac00178 於 2011-01-12 20:30 發表的 : 到引言文
你只需要懂這三點:
1.加減乘除表情  2.判斷.以及很好的頭腦表情  
最後一點:表情  
3.你最好確定你是人表情   表情   表情  

表情   表情   表情   表情
1.國小就有教了阿=w=
2.是指沒有腦殘的人嗎?w?
3.詳細希望 0w0

下面是引用 a7811311622 於 2011-01-12 21:40 發表的: 到引言文
  不是人…?難道是蘿莉控?據說蘿莉控不是人,是禽獸
我不是人...但我絕對不是和ru大一樣是蘿莉(控)
因為我謹記著國父遺訓(大誤

下面是引用 mac00178 於 2011-01-12 23:09 發表的: 到引言文
哈哈哈 = =
哪來的那張圖阿xDDDD
羅莉控~~
原來是糟糕島的產物阿
表情表情表情

獻花 x0
引用 | 編輯 史來姆
2011-01-13 12:15
22樓
  
誰說我不是人
是禽獸!?
(謎:你自認蘿莉控了啊....)

獻花 x0
引用 | 編輯 o.o
2011-01-15 13:06
23樓
  
看不懂

獻花 x0
引用 | 編輯 srgtrf1
2011-04-03 08:06
24樓
  
我學的C語言是用在控制晶片部分 = ="
程式是一種難以理解的東西 = =

獻花 x0
引用 | 編輯 joy123456789
2011-05-14 15:05
25樓
  
剛好正在學呢 這篇對我來說真是有用.0. 先看看在說 表情

獻花 x0
引用 | 編輯 apple321s
2011-05-28 20:57
26樓
  
怎麼我看完之後,一樣是不明白 表情

獻花 x0
引用 | 編輯 a23107971a
2011-09-11 12:08
27樓
  
謝謝大大的教學請問用國文電腦會讀的懂嗎?

獻花 x0
引用 | 編輯 G.M.I
2013-03-11 18:43
28樓
  
建議 || 與 && 和 == 之間增加( )
e.g.


複製程式
if(((pev(id, pev_button) & IN_ATTACK) || (pev(id, pev_button) & IN_ATTACK2)) &&!(pev(id, pev_button) & IN_ATTACK2)) 


獻花 x0
引用 | 編輯 黑色系o咕蛋
2013-03-15 13:25
29樓
  
痾....
有看沒有懂捏XD表情 表情


還是謝謝妳的教學

獻花 x0
<< 1 2 >>
跳頁: (共 2 頁)