48591 (Разработка модели анализа и объектно-ориентированного компонента для игры Terrarium 2.0), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка модели анализа и объектно-ориентированного компонента для игры Terrarium 2.0", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48591"

Текст 2 страницы из документа "48591"

StopMoving();

}

}

}

else

{ WriteTrace("Воот: ничего не делаем.");

if ((IsMoving)&&(!TraceScan()))

StopMoving();

TraceScan();

}

}

catch (Exception exc)

{ WriteTrace(exc.ToString());

}

// if (!IsMoving)

// {

// Int32 RandomX = OrganismRandom.Next(0, WorldWidth - 1);

// Int32 RandomY = OrganismRandom.Next(0, WorldHeight - 1);

// BeginMoving(new MovementVector(new Point(RandomX, RandomY), 4));

// }

// else

// {

// };

}

void MyWriteTrace()

{ WriteTrace("Мой возраст = ", State.TickAge, " хода."); }

private bool ScanForTargetPlant()

{ try

{ ArrayList foundCreatures = Scan();

// TraceScan();

if (foundCreatures.Count > 0)

{ // Всегда двигаемся подле самого близкого растения или ремовим его

foreach (OrganismState organismState in foundCreatures)

{ if (organismState is PlantState)

{ targetPlant = (PlantState)organismState;

BeginMoving(new MovementVector(organismState.Position, cruisingSpeed));

return true;

}

}

}

}

catch (Exception exc)

{ WriteTrace(exc.ToString());

}

return false;

}

// Вызывается, когда существо было атаковано

void AttackedEvent(object sender, AttackedEventArgs e)

{

if (e.Attacker.IsAlive)

{ Vector newVector = Vector.Subtract(attackerAnimal.Position,Position);

Vector newPositionVector = newVector.Scale(10);

Point newPosition = Vector.Add(Position, newPositionVector);

BeginMoving(new MovementVector(newPosition, fleeingSpeed));

}

}

// Запускается, когда закончили двигаться.

private void MoveCompletedEvent(object sender, MoveCompletedEventArgs e)

{ TraceScan();

}

private bool TraceScan()

{ WriteTrace("СКАНИРУЮ():");

ArrayList OrgArr = Scan();

Int32 ii=0;

Int32 Tick = State.TickAge;

for (Int32 I = 0; I < OrgArr.Count; I++)

{ OrganismState Org = OrgArr[I] as OrganismState;

String S;

if (Org is PlantState)

S = "Растение ";

else

{

if ((Org as AnimalState).AnimalSpecies.IsCarnivore)

S = "Хищник ";

else

{ WriteTrace("Смотрю кто старше");

if (((Org as AnimalState).TickAge > Tick) && (Org.Species.IsSameSpecies(this.Species)))

{ ii = I;

Tick = (Org as AnimalState).TickAge;

}

S = "Травоядный ";

}

}

WriteTrace(S);

}

if (Tick > State.TickAge)

{ WriteTrace("Вижу вожака на основе опыта. Иду следом");

OrganismState Org = OrgArr[ii] as OrganismState;

BeginMoving(new MovementVector((Org as AnimalState).Position, cruisingSpeed));

return true;

}

else

{ return false;

}

}

public override void SerializeAnimal(MemoryStream m)

{

}

public override void DeserializeAnimal(MemoryStream m)

{

}

}

}

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4121
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее