廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 13416 個閱讀者
 
<<   1   2   3  下頁 >>(共 3 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
JrC
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x122
分享: 轉寄此文章 Facebook Plurk Twitter 版主評分版主評分版主評分 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x6
[插件] 編寫sma(AMXX)教學第七集
精華文章原創文章
很久都沒教大家一些AMXX知識了
而今次主要教一些比較實用的知識
可以用在其他程式語言
c++ c 等等

今天要教大家的是
2D Array , 迴圈(For Loop),Boolean

2D Array:
大家有時看見sma中含有
new xx[200]
new xx[33]
等等
這都是1D Array
而2D Array就是
new [33][200]
new [2][64]
這些就是2D Array
相信以上都能夠用肉眼分別
看看以下的圖(用小畫家能夠方便我= =)

相信大家都看見1, 2, 3, 4吧
然後1,2,3,4各自有64
new xxx[4][64]
這xxx就是上圖的東西了
簡單來說
xxx[4][64] 就是有 4個64空間
就等於
new x[64]
new xx[64]
new xxx[64]
new xxxx[64]
打個比喻
有4個同學有儲物櫃
當然很公平 , 4個同學各自的儲物櫃只能夠放滿64個物件
如果不明白 是很正常的, 因為我都花了很多時間才明白= =
例子:
我想取得id的金錢, IP, 名字
new information[3][100]
get_user_name(id, information[0], 99)
get_user_ip(id, information[1], 99, 1)
format(information[2], 99, "%d", cs_get_user_money(id))
這樣就能夠使用1個Array取得3個資料

迴圈(For Loop):
大家都有可以見過以下的東西吧
for(new i = 1; i <= get_maxplayers(); i++)
for(new i = 0;i < get_maxplayers(); i++)
那可能新手有1個問題
這個是什麼= =??
這個就是迴圈
通常在沒有對象的Function出現
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("logevent_round_start", 2, "1=Round_Start")
register_logevent("logevent_round_end", 2, "1=Round_End")
等等都是沒有對象的Function
再說一說原理
for(new i = 0; i <= get_maxplayers() ; i++)
在迴圈開始時
i 的數值是 0
然後 中間的是 如果 i是小於或者等於 伺服器總人數(多是32)
最後 i 就會 + 1
然後 i 的數值 = 1; i 又是小於和等於32
i又+ 1了
到最後
當i 是32 時
i 都是小於或等於32
i 變成33了
當i變成33時
33 已經大過32
i不會再+
這就運行了32次
進階:
AMXX和C / C++類似語言都會設立
Break
Continue
這兩個功能
這兩個功能和它表面的意思一樣
Break = 破壞迴圈, 不再循環
Continue = 繼續循環

例子:
for(new i = 0; i < get_maxplayers();i++)
if(!is_user_connected(i))
 break;
如果他未進入伺服器
破壞迴圈

for(new i = 0; i < get_maxplayers();i++)
if(is_user_connected(i))
  continue;
如果他進入了伺服器
繼續迴圈

有人可能會問
1 <=32
for(new i = get_maxplayers(); i >= 1;i--)
這樣行嗎?
答案:
你可以試試= =

Boolean:
在sma / C/C++類似語言都會看見
True / False
很容易使用
首先
new bool:xx[33]
就能設立 xx是一個boolean
if(cs_get_user_team(id) == CS_TEAM_T)
 xx[id] = true
else if(cs_get_user_team(id) == CS_TEAM_CT)
 xx[id] = false
如果玩家是T
xx[id] 就是 true
如果玩家是CT
xx[id] = false

if(xx[id])
這句解如果xx[id]是True
if(!xx[id])
這句解如果xx[id]是False

註:
當Boolean是True時
電腦會將Boolean讀取的數值為1
當Boolean是False時
電腦會將Boolean讀取的數值為0

教學完滿結束


[ 此文章被JrC在2017-08-12 16:04重新編輯 ]

此文章被評分,最近評分記錄
財富:100 (by killer699)
財富:500 (by amore12) | 理由: 讚..^^



NTFS伺服器
論壇:
http://ntfs-server.com/forums
獻花 x7 回到頂端 [樓 主] From:美國ATT用戶 | Posted:2012-05-27 23:49 |
Q4422520 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x23
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感謝大大的資訊提供~很詳細 由於我不太會看這類的東西 所以還是有點複雜(頭香)


獻花 x0 回到頂端 [1 樓] From:台灣大哥大股份有限公司 | Posted:2012-05-28 03:37 |
JrC
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x122
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 Q4422520 於 2012-05-28 03:37 發表的 : 到引言文
感謝大大的資訊提供~很詳細 由於我不太會看這類的東西 所以還是有點複雜(頭香)
不明白可以在這帖留言
我會盡量為你解答
這類功能都要花一點時間才會明白
努力加油:)


NTFS伺服器
論壇:
http://ntfs-server.com/forums
獻花 x0 回到頂端 [2 樓] From:美國ATT用戶 | Posted:2012-05-28 19:16 |
Icery
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x12 鮮花 x14
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

對於用 VB6.0 寫程式的初學者這個指令有些新鮮說=0=

不過好像大同小異

多學一種語言也無妨~

感謝這麼完整的教學!!


獻花 x0 回到頂端 [3 樓] From:臺灣中華電信股份有限公司 | Posted:2012-05-29 17:10 |
ccw111
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x16 鮮花 x49
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

good

x個同學有x個格子的比喻和2D array很貼切,我也想不出其他比喻了

明白了之後要用3D array儲存字串應該就不會是難事了( 不過聽人說,Pawn最多只能定義到3D的array )


獻花 x0 回到頂端 [4 樓] From:未知地址 | Posted:2012-05-30 12:38 |
JrC
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x122
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 ccw111 於 2012-05-30 12:38 發表的 : 到引言文
good

x個同學有x個格子的比喻和2D array很貼切,我也想不出其他比喻了

明白了之後要用3D array儲存字串應該就不會是難事了( 不過聽人說,Pawn最多只能定義到3D的array )

好像可以定義到4D Array= =


NTFS伺服器
論壇:
http://ntfs-server.com/forums
獻花 x0 回到頂端 [5 樓] From:美國ATT用戶 | Posted:2012-05-30 19:54 |
96066289 手機
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x10 鮮花 x33
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我不太明白- -
但我也支持你 表情


獻花 x0 回到頂端 [6 樓] From:未知地址 | Posted:2012-06-22 01:55 |
ccw111
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x16 鮮花 x49
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 JrC 於 2012-05-30 19:54 發表的 : 到引言文


好像可以定義到4D Array= =

不清楚-.-
因為我未試過
只是聽外國人說過@@


獻花 x0 回到頂端 [7 樓] From:未知地址 | Posted:2012-06-26 18:13 |
Angelone
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我的威望不够啊,怎么办。。求解。。
表情

此文章被評分,最近評分記錄
財富:-50 (by 乂舞狼乂) | 理由: 萬用回文(威望不足)


獻花 x0 回到頂端 [8 樓] From:廣東 | Posted:2012-07-06 22:58 |
zhouqiao654
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x1
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

学过C语言的知道这是数组,呵呵


獻花 x0 回到頂端 [9 樓] From:未知地址 | Posted:2012-10-13 23:54 |

<<   1   2   3  下頁 >>(共 3 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.070668 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言