首先記錄一下遇見的問題:
1.使不同的小兵分別移動到不同的目的地——已解決,sources陣列改下標就好。
每個mode中的**中,以roleupgrader教程**為例:
12.使它們自動補充兵力——已解決,照著教程按著自己兵的名字進行修改var roleupgrader = creep **/4
run: function(creep) 10}
11else15}
16}17};
1819 module.exports = roleupgrader;
以我修改的教程**為例,複製第15~23行,然後根據自己命名修改,後面24~32,33~41,44~51,都是根據這樣的原理修改,會暫用一點cpu,但考慮先跑起來,以後再來提高效率:
13.建築物的建造方法找了很久——已解決,照著教程的game.spawns['spawn1'].room.createconstructionsite( 23, 22, structure_tower );var roleharvester = require('
role.builder');
2var roleupgrader = require('
role.upgrader');
3var rolebuilder = require('
role.upgrader');
4var rolebiger = require('
role.biger')
56 module.exports.loop =function () 13}
1415
var harvesters = _.filter(game.creeps, (creep) => creep.memory.role == '
harvester');
16 console.log('
harvesters:
' +harvesters.length);
1718
if(harvesters.length < 2
) });23}
24var builders = _.filter(game.creeps, (creep) => creep.memory.role == '
builder');
25 console.log('
builders:
' +builders.length);
2627
if(builders.length < 2
) });32}
33var upgraders = _.filter(game.creeps, (creep) => creep.memory.role == '
upgrader');
34 console.log('
upgraders:
' +upgraders.length);
3536
if(upgraders.length < 6
) });41}
4243
var bigers = _.filter(game.creeps, (creep) => creep.memory.role == '
biger');
44 console.log('
bigers:
' +bigers.length);
4546
if(bigers.length < 1
) });51}
5253
if(game.spawns['
spawn1
'].spawning) );60}
6162
for(var name in
game.creeps)
67if(creep.memory.role == '
upgrader')
70if(creep.memory.role == '
builder')
73if(creep.memory.role == '
biger')
76}77 }
對藍色部分更改成自己想修改的建築,有關建築介紹,看這個**:
當時教程直接就建造好了5個擴容器,到我自己入手時,一直找怎麼建擴容器extension,找的十分久。
game.spawns['spawn1'].room.createconstructionsite( x, y, structure_extension );
4.小兵工作內容同步——已解決
每個小兵的工作內容,是根據模組來控制的。
在主函式中,開頭要接入這些模組
同時在主函式中,讓小兵工作時,呼叫模組
我記得我當時修改的時候,直接複製,忘記修改紅字,使得兩種小兵幹同乙個工作,我愣了很久,以為它們太相親相愛,放著沒管,下圖是當時誤認為它們相親相愛的**,可以比對上面:
for(var name in5.小兵對建築工作的優先順序——已解決game.creeps)
if(creep.memory.role == '
upgrader')
if(creep.memory.role == '
builder')
if(creep.memory.role == 'biger'
) }
以我修改的教程**為例:
var rolebiger = creep *紅色的區域就是要讓小兵去補充資源的**,放在第一行,為targets[0],放在第二行,為targets[1],按照自己覺得的優先順序,照著格式,把建築名稱加上就好,有關建築的名稱記得大寫,有關建築介紹,看這個**:*/run: function(creep) });}}
else
});if(targets.length > 0
) });}}
}}};module.exports = rolebiger;
6.給控制器送資源的小兵,一次只給它乙個能量——未解決
我看了下判斷條件,第五行
當他有資源的時候,它就會送貨,等於0時才會**。
我想讓它和其他小兵一樣補充完再去送,所以更改了條件,然後它變成補充50,送1個,再去補充。。。我傻眼了。後續再來更改這個地方的條件。
只能週末玩一會。
7.建不了人工牆,塔,大兵,等等。——未解決。
我猜想,可能2級控制器不能建吧。可能要公升級控制器才行。
8.安排目標不合理,浪費了很多時間。——正在改進每個小兵的計畫安排
9.只有週末能玩,比不過其他玩家,可能被侵占。——覆盤重來
遇到的難題彙總
布局裡可能有很多層級的子元件,在子元件沒有完全載入之前,沒法知道容器的高度,因此很難正確設定左側導航的高度。另外,在互動過程中,容器的高度也會改變,還有當瀏覽器寬高改變或者螢幕解析度改變時,這些情況下也需要動態設定左側導航的高度。有沒有辦法在布局裡知道是否所有的子元件均已載入完畢?或者有沒有辦法知道...
今天所遇到的問題
首先,昨天晚上做完了xenomai與linux核心編譯的任務,今天交付了 問題一 虛擬機器解除安裝 虛擬機器在安裝的時候目錄不太對,受不了就想把目錄改了,改的時候發現改不了,我就在任務管理器裡面把有關程序刪了,刪完發現,嘿果然能改目錄了,結果改完後虛擬機器裡面的linux不能用了,重啟電腦都不能用,...
List,grid view所遇到的坑
在專案中我們可能會用sqlite儲存使用者的一些記錄,比如記事本就要儲存每次記錄,然後在首頁及時的將改變後的item顯示出來,但實際上可能存在各種各樣的坑,比如資料確實寫入了,我也呼叫notifydatasetchange 了,但是為啥你不變!這裡我遇到的是兩個問題 你可能會說是啊,我在記錄資料on...