• 2555
  • 3
  • 2
Нравится блог?
Подписывайтесь!

AlCroc and Poisalgae

import java.util.*;

public class AllergicCrocodile extends Crocodile {

static private final String SPECIES = "Allergic Croc";
private static final int SUFFOCATION_THRESHOLD = 2;
private static final String CROCODILE_WITHOUT_ALLERGY_IMAGE = "/Crocodile-without-allergy.gif";
private static final String CROCODILE_WITH_ALLERGY_IMAGE = "/Crocodile-with-allergy.gif";
private static int nAllergicCrocsCreated =0 ;
int allergenLevel=0;

public AllergicCrocodile(int initialRow, int initialColumn, Simulation initialSimulation) {
super (initialRow, initialColumn,initialSimulation, SPECIES + nAllergicCrocsCreated );
++ nAllergicCrocsCreated;
}

public String getSpecies() {
return SPECIES;
}

public String getImage() {
if (allergenLevel== 0) {
return CROCODILE_WITHOUT_ALLERGY_IMAGE;
} else {
return CROCODILE_WITH_ALLERGY_IMAGE;
}
}
protected void catchAllergy() {
Vector localVector = simulation.getNeighbors(getRow(), getColumn(), 0);

for (int i = 0; i < localVector.size(); ++i)
if (localVector.get(i) instanceof PoisonAlgae) {
PoisonAlgae localPoisonAlgae = (PoisonAlgae)localVector.get(i);
if (localPoisonAlgae.isPoisonous())
allergenLevel += 1;

if (allergenLevel > SUFFOCATION_THRESHOLD) {
isDead();
}
}
}
/** Live for a block of time.*/
public void liveALittle() {
if (isDead()) {
return;
}
catchAllergy();
super.liveALittle();
}
}

               

import java.util.*;

public class PoisonAlgae extends AlgaeColony {

private static final String SPECIES ="PoisonAlgae";

private static final int ENERGY_TO_GROW =2;

private static final int ADULT_AGE = 2;

private static int nPoisonAlgaeCreated = 0;

private int age = 0;

public PoisonAlgae(int initialRow, int initialColumn, Simulation initialSimulation) {
super ( initialRow, initialColumn, initialSimulation , SPECIES + nPoisonAlgaeCreated);
nPoisonAlgaeCreated++;
}

public String getSpecies() {
return SPECIES;
}

public boolean isPoisonous() {
if ( getAge() >= ADULT_AGE ) {
return true;
}else{
return false;
}
}

private boolean isAlgaeAt(int row, int col) {
Vector neighbors = new Vector();
neighbors= simulation.getNeighbors(row,col,0);
for (int index = 0;index < neighbors.size(); index++ ) {
if ((neighbors.get(index) instanceof AlgaeColony) || (neighbors.get(index) instanceof PoisonAlgae)) {
return true;
}else{
return false;
}
}
return false;
}

private boolean growIfPossible() {
if (getAge() >= ADULT_AGE && getEnergy() >= ENERGY_TO_GROW) {
for (int i = getRow() - 1; i <= getRow() + 1; i++) {
for (int j = getColumn() - 1; j <= getColumn() + 1; j++) {
if (i >= simulation.getFirstRow() &&
i <= simulation.getLastRow() &&
j >= simulation.getFirstColumn() &&
j <= simulation.getLastColumn() &&
isAlgaeAt(i,j) == false) {
PoisonAlgae Palgae = new PoisonAlgae(i, j, simulation);
simulation.addLivingBeing(Palgae);
setEnergy(getEnergy() - ENERGY_TO_GROW);
return true;
}
}
} return false;
} else {
return false;
}
}

public void liveALittle() {
if (isDead()) {
return;
}
growIfPossible();
super.liveALittle();
}
}

   
Duke
26 мая 2011, 3:21
559

Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

На днях в YouTube появился ролик, запечатлевший совершенно обыденную для европейцев ситуацию. Но для нашего человека – совершенно нетипичную и оттого вызывающую у некоторых из нас слёзы восторга.
openqazaqstan
18 нау. 2017 / 20:22
  • 5765
  • 9
Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Первую пересадку сердца Рокфеллер пережил в 1976 году на 62-м году жизни. Последнюю пересадку ему сделали в августе 2016 года. Пересадка сердца такому старому пациенту не имеет аналогов...
Timur_Tregulov
21 нау. 2017 / 23:10
  • 5488
  • 45
Компания LG Electronics открыла предзаказ на новый флагман LG G6

Компания LG Electronics открыла предзаказ на новый флагман LG G6

LG Electronics объявляет о начале предварительного заказа онлайн на новый смартфон LG G6. Оформить предзаказ можно на сайтах магазинов электроники до 16 апреля 2017 года.
LG Electronics
сегодня / 14:20
  • 4006
  • 0
Войдите в ТОП-30 суперавторов Ювижн и зарабатывайте на этом!

Войдите в ТОП-30 суперавторов Ювижн и зарабатывайте на этом!

Дорогие ювиженцы. Соотечественники и соотечественницы. Авторы. Мы возобновляем нашу, не побоюсь этого слова, культовую акцию по вознаграждению топовых авторов. По итогам каждого календарного...
niyazov
сегодня / 17:54
  • 4643
  • 64
H&M-ское безумие или Что народу по карману?

H&M-ское безумие или Что народу по карману?

На счет качества: я спросил у знакомых и мне сказали, что та или иная вещь носится сезон. В хорошем случае и бережном отношении немногим больше. Кофточки - моя слабость, наверное...
RustemZhali
18 нау. 2017 / 18:32
  • 4323
  • 30
Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Париж, Рим, Барселона, Лондон, Алматы, Венеция – выберите город, который на ваш взгляд кажется лишним в этом списке. Если бы не было слова "урод", было бы легче определиться?
corridere
21 нау. 2017 / 14:59
  • 3675
  • 75
Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Мои волшебные 9 месяцев протекали в новой среде и далеко от всех родственников и подружек. Никто из моих знакомых в США на тот момент не успел обзавестись малышом, поэтому мне не с кем было...
Zarema_
вчера / 9:25
  • 3021
  • 11
Будьте бдительны при покупке цифровой техники! «Наебизнес» в магазинах техники

Будьте бдительны при покупке цифровой техники! «Наебизнес» в магазинах техники

Покупая бытовую технику в магазинах будьте внимательны. Сейчас практикуется впаривание дополнительных услуг по настройке. Прежде чем оформлять, проверьте суммы и уточните у манагеров если что-то не сходится.
dr_Motor
20 нау. 2017 / 2:13
Ценители качественной одежды или знаменитой этикетки? К открытию H&M в Алматы

Ценители качественной одежды или знаменитой этикетки? К открытию H&M в Алматы

Это надо же, создать такую кампанию, что за их вещи люди готовы не спать всю ночь, школьники отбирают премию родителей, студенты тратят последнею стипендию!
mukhamedian
19 нау. 2017 / 1:04
  • 2172
  • 8