1. 紅警如何算分
按照破壞建築物的數量和消滅敵人的數量計算,以摧毀建築數為主要記分,再加打敗人數,還有己方建築數,最後還有勝利得分,被敵人打毀了就算損失分 摧毀了敵人的東西就算摧毀分 建了兵營這樣的東西就算建造分 以此類推。
2. 類似紅警一功能的程序實現
那個是電腦自動沿兩點間直線路徑外加可執行路徑合起來以最短路程(不是位移)移動的
3. 紅警地圖
你在qq對戰平台 浩方 上玩幾盤 每次紅色警戒在開始時都要看你的是否有地圖
如果你沒有就會自動下載下來 你到時候重啟一下游戲 你就可以玩紅色警戒的
新地圖了
另外我叫你幾招 共和國之輝的
(全部是我親手打的)
空投強建:必須在看的到地圖的地方
先點一個建築完成後先別建出來,這是你還要有已經完成了的傘兵,現在就行了,先點散兵,(先別撒)然後點中已經完成了的建築,最後在小地圖上想建在那點在那就行了。
直接強建 地圖沒開都可以用 可以直接把巨炮建到他人基地中去
建築完成後:
先點建築一下;
再點那個維修的扳手標志一下不要放開;
放到任意一個平地上松開左鍵點右鍵(要快 多試幾次就行了)
偷星星
製造一個工程師和一個間諜,給自己的坦克加星,先強攻兵工廠,攻擊一下就可以(不要打爆了),然後把工程師放在前面 間諜放在後面 按Z建編輯路徑(在地圖上點一下 再點兵工廠 圖標會變成維修的 然後松開Z 工程師和間諜就會一同向裡面走 在半路把工程師拉回來 再造一個間諜 又可以偷兵營 作戰實驗室)
另類偷錢(只限於蘇軍)
造兵營 然後用圍牆圍死兵營(繞著兵營圍一圈)造復制中心 然後不管你造什麼兵都會是免費的 造間諜 然後把間諜弄回復制中心 就可以的800元
比網上的方法更好 方便你計算
網上的演算法 賺:1000乘倍數0.9乘2人-用去1000=餘下800 (像教小學生 呵呵 )
我的演算法 1000乘倍數0.9=餘下900 多100元 在網上對戰錢就比別人快了
在橋上安放船
用坦克把橋炸壞,然後,調1.2艘船隻,放在斷橋處,然後用工程師把橋修復,這時,船就會固定在橋上,並可以攻擊做為防禦用
防止自爆卡車被尤里控制
把自爆卡車開到快到他人基地的地方 讓一個恐怖機器人進自爆卡車
就是尤里控制都不怕 如定時炸彈 (瘋狂伊文也可以安個「火炮」到那上去)
蘇軍步兵bt用法:
造一輛防空車5個動員兵,一個瘋狂伊文。
給動員兵安上「火炮」,並把動員兵裝上車。
沖向敵人基地 呵呵
共和國之輝-bug技巧 上
http://www.boosj.com/161154.html
共和國之輝-bug技巧 下
http://www.boosj.com/161156.html
這些是我上面所說的方法的視頻 我本想做視頻的 但總沒時間
好了 寫了這么多 全是我手打的哦 多給我點分吧 我很缺分 謝了!
另外我的QQ是515215310 如果有疑問就聯系我把 要註明來意 我好分組
4. 一台電腦裝兩個紅色警戒3,統計資料怎麼算,戰役進度怎麼算
各有各的演算法,比如第一個紅警就是 紅警3(1),第二個就按紅警3(2)算
至於統計資料,戰役進度,那都是各有各的存檔。
當然,如果你操作不當,容易導致兩個游戲存檔,類型,進度,混到一起!
我就干過這種事!
5. 紅警2第六關劃分怎麼過
網上的攻略就那麼幾個,都是復制的。我告訴你最容易的、最成功的(可能幾個艦船名字不對,看懂就行),因為沒有陸軍進攻你,只管挖礦、造船。這一局的任務,消滅所有海軍,陸地上的不用管。
1、開局:氣墊船登陸,自動展開。注意,不要在這個島建設!時間拖後毫不影響戰局!只留下一隻狗,其它的全部登上氣墊船。
2、開辟基地:兩個氣墊船、兩艘海螺、三隻潛艇,這是全部家當。貼著地圖最下方,一直行進到最左邊島嶼。注意:路途非常遙遠,海螺要等等潛艇,接近島嶼有一艘敵艦,一塊攻擊受損小。尋路期間,用第一個島上狗,向上探路,吃掉三隻奶牛會有一個箱子,撿錢大概5000,狗的使命完成.
3、建設:打掉守島的一艘敵艦,登陸,自由建設,撿箱子,多造幾輛礦車、礦場。不要發展陸軍,沒有陸軍攻擊。幾個小兵向上探路,撿到一個箱子,又是5000左右吧,就不要探路了,因為周邊有敵艦巡邏、不要招惹。注意雷達地圖,右上角會有我軍的三艘無敵艦、海螺開赴第一個島,收編到基地附近。
4、造潛艇:最下方建設兩個船廠,狂造潛艇,留幾艘守護基地,不要向上探路。注意雷達地圖,過段時間右上角,會有大量敵艦、航空母艦來進攻,組織大量潛艇在中途攔截,一艘艘集中攻擊(先不要打航母)。要攻守平衡,基地留幾艘潛艇、全部海螺防空,對付漏網之魚,但可以說基地防守簡單、基本沒損傷。
5、最後進攻:中途攔截,潛艇損失很小。加上不斷製造的潛艇,一起在中間位置、上方,尋找敵軍海港入口,潛艇探路。用無畏艦打掉入口兩側光陵塔,潛艇縱深進入,集中攻擊敵艦,最後打航母、船廠。尋找右側剩餘敵艦,消滅。在海港入口右側有兩艘巡洋艦,更輕松。
6、輕松過關。這個方法非常容易:金錢無壓力、防守無壓力,大量潛艇中途攔截就行了。。。。。
6. 高分求演算法:尋找與特定對象距離最近的對象
用現在的ID,X,Y三個元素來找最近點的話無論什麼辦法,都至少要與每個點進行一次距離的判斷,比較X或者Y也好,計算距離(當然這個距離是不用開平方的,與其他所有點的距離都不開平方也能比較相對的距離長短)也好,所以如果只有這三個元素的話,其實再怎麼改也不會有太大的優化的。
最好還是添加一些輔助信息,比較常用的就是以劃分網格的方法,將所有點分派在不同的網格中,然後以網格為基礎找最近點,這樣的話就要加一個網格的結構(以空間換時間),裡面存放的就是屬於這個網格的點的ID,通過編號規則可以很快的找最近的網格,然後再找裡面的點,這樣可以提高點查找速度。
呵呵,不好意思,沒想清楚就寫了:P,改一下,改一下,再加一步就好了
1.給點添加一個所屬網格的信息:
Class A
{
public int ID;
public int X;
public int Y;
publci int Index;//所屬網格編號
}
2.構造一個點鏈表,這是為了減少空間和方便處理而加的,後面的演算法里會感覺到用處
(為每個點對象建立一個點鏈表節點)
Class I
{
public A *pAObject; //指向一個點對象
publci I *pNextA; //指向下一個
}
3.構件一個網格信息結構
Class G
{
public int ID; //網格編號
public I *pAObjects; //指向一個點鏈表(至於這個是帶頭節點還是不帶頭節點的都一樣啦)
//這里用鏈表比較好
//第一,因為點可移動,那麼點對象個數可以隨意,可以發揮鏈表的擴展性
//第二,不需要取中間節點,也就沒有用到數組的長處
}
4.構建網格,比如以1000為長度(長度可以自己定義,關鍵是平衡空間和速度關系),建立正方形的網格,那麼(0,0)到(1000000,1000000)就是有1000*1000個網格(在給網格編號的時候最好有規律,那麼就能通過List或者其他數組容器的下標來獲得網格信息)
5.添加點的時候,先判斷屬於哪個網格,然後在點信息中添加網格編號,同時構建對應的點鏈表節點,並添加到所屬網格的鏈表中
6.最後就是查詢點了,首先獲得出發點中的所屬網格信息,看這個網格中是否有其他點:有,則一個個的判斷距離(距離的平方),那麼最近點一定在這些點裡面(如果點還是太多,那麼就考慮縮小網格的范圍);沒有,那就找所屬網格周邊8個網格中是否有點,有,則再找最近點,沒有就再往外擴(如果感覺網格太多,可以加大網格的范圍)
7.以找到的最近點到出發點的距離為基準,看看出發點到周邊網格在這個距離內會接觸到的(沒有在6中遍歷過的)有幾個網格,把這些網格中的點再查看有沒有更近的就行了
注:
1.如果還要優化就是加大網格的層次,可以用多層網格,這就會更復雜一點
2.在網格信息結構(G)中,因為點會移動,那麼刪點鏈表節點會有一個查找過程,如果覺得這個慢,那麼就在點對象結構體中加一個所屬點鏈表的指針:
class I;
Class A
{
public int ID;
public int X;
public int Y;
publci int Index;//所屬網格編號
publci I *pI;
}
....
呵呵,看了lipai006的回答,想了下似乎也是可以實現的,只要多花點內存就可以達到比較好的速度了,而且也不需要真的從X坐標出發這樣慢慢的以扇形擴展了啦,通過做一些輔助結構,就直接可以從出發點的X坐標出發,找同X不同Y中Y坐標與出發點最近的就行啦,循環結束條件就是X的擴展距離已經大於當前最小距離,因為再往外也肯定比當前最小距離大了。這個方法也就是要更復雜一些的輔助結構做索引,添加點的時候也要多做些事情,而且實現上的代碼相對網格方法復雜一些,但查找速度應該比網格會快一點,因為畢竟是直接找點去了,其實網格方法就是把一批點的X,Y坐標看成是一樣的,這樣先過濾一批而已,是個速度與復雜度的折中。
xx_lzj:劃分區域的目的就是為了使每個區域內的點不能太多,根據我的結構,每個區域有沒有點,一個bool判斷就夠了,不會存在太稀疏影響效率的事情,不過最壞的情況的確會退化到遍歷整個點空間,所以這個方法的時間復雜度仍然是O(n)。
你的方法其實和lipai006說的原理是差不多的(如果我對你們鏈表結構的猜想准確的話),無非就是通過X,Y坐標形成一個二維雙向鏈表,在形成這個鏈表的過程會比網格相對復雜一點,而且也不是像你想的只要判斷8個點就夠的,當只有一個點在中間,其他點分布成以這個點為圓心的圓周上時,按照貼主的要求,難道只有8個最近點嗎??在這個情況下,你的最壞復雜度還是O(n),但就如我說過的,這個方法的平均時間復雜度在參數上是會比網格的低一點,但是演算法本身的代碼復雜度上會高一點,而且在插入點的過程中的時間消耗會大一點而已。我覺得這是一個整體的過程,不能為了查找的快速犧牲太多其他的時間。
*************
xx_lzj:不好意思,你的鏈表我還有些不明白的地方:1.二維雙向鏈表每個節點有4個指針,你能否把這4個指針如何獲得的說一下,最好不要取邊界線上的點,取中間的一個點進行介紹。2.對於初始化和修改點坐標的時候,現有數據如果是鏈表結構(不是數組),如何能不依靠其他輔助數據進行折半查找?3.修改某個點坐標之後,根據你的鏈表結構,我感覺不是刪除、插入節點這么簡單的,能不能具體點說明。
7. 紅警修改AI
關於AI的製作
AI分為4個部分 一個完整的AI必須具備這4個部分
====================================================
1) [TaskForces] [部隊成員組]=指定一支隊伍里都由哪些單位組成
2) [ScriptTypes] [命令組] =指定一支隊伍將要進行的作戰行動
3) [TeamTypes] [作戰隊伍] =指定一支隊伍的基本設置編成
4) [AITriggerTypes] [AI觸發] =設置當達到某些條件時電腦就會出這組部隊
====================================================
現在讓我們來一個一個的解析
********************************
**********[TaskForces]**********
********************************
首先 我們在他的下面看到一排注冊名 如果你想創建新的使命部隊 請在那注冊
下面 我們舉一個使命部隊為例
[0A6E3F1C-G]
這就是你在上面注冊的名字 記好它 我們後面還要用
Name=2 Prism Tanks, 2 IFV, 4 Grizzly
Name 這個僅僅是作為注釋用 沒有實際意義
0=2,FV
1=2,SREF
2=4,MTNK
這是使命部隊的正文部分 意味著該使命部隊的組成為2FV(多功能)2SREF(光棱)4MTNK(灰熊) 想改變製造某物體的數目 就更改某物體前面一個數字,新物體就在後面加上一行 格式同上 序數增加
Group=-1 小隊編號,-1為無編號
Group= 這個
-1 解散所有的運輸工具
?? 解散隊伍
?? 保留所有
?? 解散單位,保留運輸工具
?? 只保留速度最快的 ?
?? 只保留最近的 ?
?? 在最大威脅附近集合
-40094 在最小威脅附近集合
中間的幾個值如果有人有請發給我 十分感謝
********************************
*********[ScriptTypes]**********
********************************
[0607B8FC-G]
Name=General Base Defense Attack
Name 這個僅僅是作為注釋用 沒有實際意義
0=54,0
1=53,0
2=0,7
3=49,0
4=0,2
5=0,1
AI最難的地方來了 這個格式是T=X,Y
T是個序數 和上文的一樣 直接加就可以了
X,Y 他們組合起來代表一個步驟 比較麻煩 我把他們一一列出以便各位觀賞!
**X一共有64個值 我揀有用的說 沒說的一般都沒什麼用處了(在我看來)**
====================================================
X=0:攻擊物體 Y=將要攻擊的物體類型
Y=1:任意東西
Y=2:任何建築
Y=3:礦車(礦廠)
Y=4:步兵類
Y=5:車輛類
Y=6:工廠類
Y=7:防禦建築類
Y=8:超級武器
Y=9:電場類
Y=10:可進駐物體
Y=11:科技建築類
X=1:攻擊Y號路徑點(不推薦)
X=2:使擁有Cyborg=yes(生化機器人)的步兵進入瘋狂狀態(不分敵我) [未證實] Y=0
X=3:移動到Y號路徑點
X=5:警戒Y*6秒
X=6:重復第Y行(序數T的那行)
X=8:運輸工具卸載
Y=0:保留所有
Y=1:保留運輸工具
Y=2:保留單位(推薦)
Y=3:全部解散
X=9:展開單位 Y=0
X=10:跟隨距離最近的友好單位 Y=0
X=11:執行命令
0,啥也不幹
1,(通過威脅等級)執行AI中的攻擊任務
2,移動到目的地
3,跟隨另一隊移動
4,撤退
5,保護目標,攻擊來犯之敵
6,保護目標,但窮寇末追
7,進入建築或交通工具
8,工程師佔領
9,在修理單位時,把他吃了....估計是尤里的變賣場(只能用於建築)
10,礦區采礦,礦場卸貨
11,守衛初始地區
12,航母載機回巢
13,停止活動(有可能的話)
14,偽裝伏擊單位開火
15,游獵殲敵
16,卸貨
17,埋雷包
18,建築建立
19,賣出建築
20,修理單位(維修廠)
21,特種部隊突擊(這個over-ride應該是推翻,不管不顧的意思,為什麼這樣不懂,就參考一下好了)
22,核彈井發射
23,無威脅目標
24,開門關門
25,巡邏
26,空降機飛行
27,空降機空投
28,待命
29,空間跳躍
30,展開攻擊
31,偵察機飛行(YR)
32,偵察機照相(YR)
X=14:運全部兵 Y=0
X=16:在Y路徑點附近巡邏
X=17:更改應用腳本 Y為腳本名稱 [未證實]
X=18:更改部隊 Y為部隊名稱 [未證實]
X=21:分散部隊 Y=0
X=29:自動生產 似乎沒用 還是寫出來的好
X=30:出售所有單位並進攻對手 這個在遭遇戰快速游戲模式下的唯一用處是自殺 Y=0
X=43:使運輸停止直到裝滿
X=46:攻擊特定建築 Y=特定建築在RULES中注冊的值(K=XXX)加上0/65536/131072(推薦)
X=47:移動到特定建築 Y同X=46演算法
X=48:偵察
X=49:使之前動作完成再進行下一個動作 Y=0
X=53:集團沖鋒到對方陣地(快慢協調 就是說快的要等慢的一起 Y=0
X=54:在自己陣地集合 Y=0
X=55:加鐵幕 Y=0
X=57:超時空到對方家某些建築附近
Y=1:任意東西
Y=2:建築
Y=3:礦車
Y=4:步兵
Y=5:車輛
Y=6:工廠
Y=7:基礎防禦
Y=8:最大威脅
Y=9:電場
Y=10:可進駐物體
Y=11:科技建築
X=58:移動到友好建築 Y同X=46演算法
X=60:進入回收站 Y=0
X=61:進入坦克碉堡 Y=0
X=62:進入生化反應堆 Y=0
X=63:進入戰斗碉堡 Y=0
X=64:進駐建築 Y=0
====================================================
********************************
**********[TeamTypes]***********
********************************
[0A6E210C-G]=作戰集團 這個也要注冊
Name=Allied Bombard - H1
Name 這個僅僅是作為注釋用 沒有實際意義
VeteranLevel=1 經驗等級 1=無級 2=一級 3=三級 任務地圖里才能設為2或3
MindControlDecision=0 在YURI游戲里電腦的尤里方控制別人後會把俘虜怎麼樣。
0 = 無法心靈控制別人 (也就是部隊里根本就沒有能控制別人的單位,就得是0)
1 = 加入另外需要的隊伍
2 = 放進部隊回收站
3 = 放進生化反應堆
4 = 前去攻擊敵人
5 = 就在原地
====================================================
Loadable=yes=部隊攻擊完後撤退,待會再攻擊(一般使用在像飛機那樣需要補充彈葯的部隊里)
Full=yes=完整小隊 AI(MD)INI里得設為=no
Annoyance=yes=煩惱效果(任務地圖)AI(MD)INI里得設為=no
GuardSlower=yes=防衛減緩 NO代表部隊在基地中作出還擊時不會變慢
House=<none> 就NONE 除非是單個國家的特殊攻擊模式
Recruiter=yes=AI會動用現有的單位去組成隊伍,優於去建造新的單位來組成隊伍
Autocreate=yes=沒有達到觸發條件電腦也會生產這支部隊,只不過部隊將不會去執行任何命令
Prebuild=yes=電腦在還沒需要時預先建造此隊伍
Reinforce=yes=這是增援部隊,一般用在防禦部隊。
Droppod=yes=這是空降部隊(任務地圖)AI(MD)INI里得設為=no
UseTransportOrigin=yes=使用存在的運輸工具(當前一運輸型部隊是TransportsReturnOnUnload=yes=運輸單位在完成卸載後返回基地)
Whiner=yes=哀叫效果(任務地圖)AI(MD)INI里得設為=no
LooseRecruit=yes=當前的部隊完成任務後將會被解散,而不會加入另一隊中
Aggressive=yes=該部隊將按Script=所使用的命令組里的命令去執行。
Suicide=yes=這是將進行自殺攻擊的部隊
Priority=5 建造部隊時的優先權。通常為整數,數字越小,AI建造的可能性越大
Max=1 共生產幾組這樣的部隊
TechLevel=0 指定可以製造此隊伍的最低科技水平,通常設為0
Group=-1 分組
OnTransOnly=yes=這是傳送部隊(任務地圖)AI(MD)INI里得設為=no
AvoidThreats=yes=部隊會忽略任何攻擊繼續前進. no=在遇到敵人時就會開火,在被攻擊時就會停下還火
IonImmune=no 默認NO 不要更改
TransportsReturnOnUnload=yes=運輸單位在完成卸載後返回基地
AreTeamMembersRecruitable=YES=可以為該組部隊補充隊伍中被消滅的成員
IsBaseDefense=yes=這是在基地里防禦的部隊
OnlyTargetHouseEnemy=yes=只對付敵對玩家的單位,而不攻擊中立的單位
Script=0607B8FC-G 所使用的命令組
TaskForce=0A6E3F1C-G 所使用的部隊成員組
********************************
********[AITriggerTypes]********
********************************
這是最討厭也最難記的部分 請大家注意了
0D62199C-G= 這個不要注冊 何況你也沒地方注冊 ^_^
[A] Allied Bombard - H1 vs Sov, 名字 只起注釋作用
[B] 0A6E210C-G, 使用的TeamTypes名
[C] <all>, 哪個國家使用它 和上文保持一致
[D] 8, TechLevel 和上文保持一致
[E] 0,
====================================================
-1: 普通觸發
0: 敵人擁有[F]物品
1: 自己擁有[F]物品
2: 敵人電量黃
3: 敵人電量紅
4: 鈔票超過數量
5: 鐵幕完成超過AIMinorSuperReadyPercent= 數量
6: 超時空完成超過AIMinorSuperReadyPercent= 數量
7: 中立擁有[F]物品
====================================================
[F] NAPOWR, 物品名稱 如果上文[E]不是0,1,7就填<none>
[G] ,
====================================================
01000000 代表一個值 01就是1 0a就是10 16進制
03000000 中間可以取0-5 分別是小於(0),小於等於(1),等於(2),大於等於(3),大於(4),不等於(5)
**上面兩個合起來 加上[E],[F]的值構成一個完整的觸發模式:本文中為"敵人擁有蘇聯電場大於等於1個"
請不要更改 未知作用
====================================================
[H] 70.000000, 觸發比重,與所有可能觸發一起構成一個隨機觸發系統,這個比重更改請見AITriggerSuccessWeightDelta= AITriggerFailureWeightDelta=-50 分別代表成功與失敗時觸發比重的增減情況
[I] 10.000000, 觸發最低比重
[J] 70.000000, 觸發最高比重
默認比重中,只有10, 20, 40, 50, 70, 500, 5000這7個值有用 [未證實]
====================================================
[K] 1, 是用於遭遇戰模式的 0=不是
[L] 0, ???
[M] 1, 誰用這個觸發 1盟2蘇3尤
[N] 0, 1=是留在基地周圍防守 與上文一致
[O] 0CB246CC-G, 這個觸發所帶動的另外一個觸發 填TeamTypes名
[P] 0, 簡單電腦是否使用他 0=不 1=是
[Q] 0, 中等電腦是否使用他 0=不 1=是
[R] 1. 困難電腦是否使用他 0=不 1=是