---
title: "healthcrock"
description: "import java.util.Vector; public class HealthCrocodile extends Crocodile { private static final int ..."
author: "Duke"
published: "2011-05-25T15:23:36+00:00"
modified: "2011-05-25T15:23:36+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/healthcrock-161478"
markdown_url: "https://yvision.kz/post/healthcrock-161478/markdown"
site_name: "Yvision.kz"
---

# healthcrock

> import java.util.Vector; public class HealthCrocodile extends Crocodile { private static final int ...

import java.util.Vector;

public class HealthCrocodile extends Crocodile {

private static final int ENERGY_LOST_TO_DISEASE = 35;

private static final int LIFE_SPAN_OF_DISEASE = 5;

private static final String SPECIES = "HealthCrocodile";

private boolean isHealthy = true;

private boolean isImmune = false;

private int sickTimeBlocks = 0;

private static boolean shouldNextBeDiseased = true;

public HealthCrocodile( int initialRow, int initialColumn, Simulation initialSimulation) {

super( initialRow, initialColumn, initialSimulation);

//first crocodile should be diseased //the remaining should be healthy if (shouldNextBeDiseased) { infect(); shouldNextBeDiseased = false; }

}

public String getSpecies() {

return SPECIES; }

private boolean isHealthy() {

return isHealthy; }

private void cure() {

isHealthy = true; }

private void infect() {

isHealthy = isImmune; }

private void immunize() {

isImmune = true; }

public String getImage() {

String imageBase = "/Crocodile-"; if(!isHealthy()) { imageBase="/SickCrocodile-"; }

if (getDirection().equals(RIGHT)) { return imageBase + "right.gif"; } if (getDirection().equals(LEFT)) { return imageBase + "left.gif"; } if (getDirection().equals(UP)) { return imageBase + "up.gif"; } if (getDirection().equals(DOWN)) { return imageBase + "down.gif"; }

return imageBase + "right.gif"; }

public void liveALittle() {

super.liveALittle(); if(!isHealthy()) { progressDisease(); } }

private void infectIfPossible() {

Vector cohabitant; int neighborIndex;

cohabitant = simulation.getNeighbors(getRow(), getColumn(), 0); for (neighborIndex = 0; neighborIndex LIFE_SPAN_OF_DISEASE) { cure(); immunize(); return true; } return false; }

}

---

Source: [https://yvision.kz/post/healthcrock-161478](https://yvision.kz/post/healthcrock-161478)