Skip to content

Latest commit

 

History

History
33 lines (19 loc) · 1.46 KB

File metadata and controls

33 lines (19 loc) · 1.46 KB

Ecossistema Aquático utilizando Threads em Python!

Aplicação que simula um ecossistema aquático contendo algas, peixes, focas e tubarões!

O sistema possui uma cadeia alimentar:
Tubarões devoram focas e peixes.
Focas devoram peixes.
Peixes devoram algas.

Animais possuem um contador de calorias que decresce a cada N segundos (definido pelo usuário) e aumenta a cada ser que devoram, de acordo com sua cadeia alimentar.

Os movimentos de cada animal são aleatórios nas seguintes possíveis direções: cima, baixo, esquerda, direita.

A simulação acaba quando restam apenas algas ou não há mais seres vivos no ecossistema.

O tamanho do oceano é configurável através de entrada (se n==5, oceano terá escala 5x5)

Implementação

Cada ser no ecossistema funciona em uma thread diferente, com sua sincronia de funcionamento garantida por uma lista de semáforos.
(A tela também é uma Thread! Ela centraliza tarefas importantes da aplicação, como limpeza de seres mortos, decremento de calorias...)

Running

Com o Pipenv, só instalar os pacotes do pipenv file e executar python3 run.py na pasta raíz do projeto.

Sobre

Trabalho desenvolvido para a disciplina de Programação Concorrente (semestre 4/2019) do curso de Ciência da Computação da Universidade de Caxias do Sul.

Arte dos seres feita pelo autor.