Terrarium 3世代目 tabataって死滅しちゃうの?
■ このスレッドは過去ログ倉庫に格納されています
0086デフォルトの名無しさん
NGNGTraceMap(Scan());
}
void TraceMap(System.Collections.ArrayList orglist){
int iMyWorldSize = State.CellRadius * 2 // 自分のサイズ
+ this.Species.EyesightRadius * 2 // 視野は上下左右に
+ (EngineSettings.MaxMatureSize/2+7)/8 * 2 * 2; // 他の生物2匹分のサイズ
System.Text.StringBuilder[] MyWorld = new System.Text.StringBuilder[iMyWorldSize];
WriteTrace("**********EyeSightMap End************");
string defaultstring = "".PadRight(iMyWorldSize,'.');
for(int y=0; y < iMyWorldSize; y++){
MyWorld[y] = new System.Text.StringBuilder(defaultstring,iMyWorldSize);
}
for(int x = 0; x < State.CellRadius * 2; x++){
for(int y = 0; y < State.CellRadius * 2; y++){
MyWorld[y + iMyWorldSize/2 - State.CellRadius][x + iMyWorldSize/2 - State.CellRadius] = '-';
}
}
MyWorld[iMyWorldSize/2][iMyWorldSize/2] = '=';
char signchar = 'A';
foreach( OrganismState org in orglist){
WriteTrace(signchar+":"+org.ID+" pos:"+org.Position," GridX:"+org.GridX," GridY:"+org.GridY);
int baseX,baseY;
baseX = org.GridX-State.GridX+iMyWorldSize/2 - org.CellRadius;
baseY = org.GridY-State.GridY+iMyWorldSize/2 - org.CellRadius;
char poschar;
if( org is PlantState)
poschar = 'p';
else
if( ((IAnimalSpecies)((AnimalState)org).Species).IsCarnivore )
poschar = 'c';
else
poschar = 'h';
if( org.IsAlive )
poschar = Char.ToUpper(poschar);
for(int x=0; x < org.CellRadius * 2; x++){
for(int y=0; y < org.CellRadius * 2; y++){
MyWorld[baseY+y][baseX+x] = poschar;
}
}
if(this.WithinEatingRange(org))
MyWorld[baseY][baseX+1] = 'E';
if(org is AnimalState && this.WithinAttackingRange((AnimalState)org))
MyWorld[baseY][baseX] = 'A';
MyWorld[baseY+org.CellRadius][baseX+org.CellRadius] = signchar++;
}
for(int y=iMyWorldSize-1; y >= 0; y--){
string s = y.ToString("0#|") + MyWorld[y] + "|";
WriteTrace(s);
}
WriteTrace("**********EyeSightMap Start**********");
}
■ このスレッドは過去ログ倉庫に格納されています