• 2720
  • 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
598

Загрузка...
Loading...

Комментарии

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

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

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

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

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38322
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
вчера / 14:43
  • 6099
  • 15
Алматы предложили сделать центром секс-туризма

Алматы предложили сделать центром секс-туризма

Известный политолог России Андрей Карпов предложил сделать Алматы центром секс-туризма. Но для этого сперва нужно легализовать проституцию в стране.
tala03
13 авг. 2017 / 14:48
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 1582
  • 2
Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Многие способные выпускники без Алтын Белги готовились к тестированию, чтобы в честной борьбе попытать счастья на гранты без ущемления со стороны якобы "золотых" выпускников.
DanaJarlygapova
14 авг. 2017 / 14:35
Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Команда алматинских школьниц выиграла главный приз международного конкурса Technovation Challenge 2017 по разработке мобильных приложений.
yviNews
11 авг. 2017 / 16:38
  • 2342
  • 5
Сколько дней казахстанцы отдохнут на День Конституции и Курбан айт

Сколько дней казахстанцы отдохнут на День Конституции и Курбан айт

Многие уже сейчас планируют отпуска и праздничные выходные. Сколько дней отдыха будет в этом году в честь Дня Конституции и мусульманского праздника Курбан айт?
yviNews
11 авг. 2017 / 15:08
  • 1336
  • 0
На EXPO через Балхаш и Боровое своим ходом

На EXPO через Балхаш и Боровое своим ходом

Мы объехали по кругу озеро Иссык-Куль, о чем повествует предыдущий пост, и вернувшись из поездки подумали, а почему бы нам не рвануть на наше озеро, не менее прекрасное?
yelenasergiyenko
13 авг. 2017 / 13:13
  • 1307
  • 6